Principal Software Engineer in Dayton, OH at Vaco

Date Posted: 9/25/2019

Job Snapshot

Job Description

Job Summary:

The Principal Software Engineer will be responsible and accountable for managing multiple development teams comprised of employees and contractors (local and off-shore). As a leader of development teams, the manager should actively collaborate and contribute to the SDLC process and Agile Delivery.

Responsibilities

  • Manage IT staff by recruiting, training and coaching employees, communicating job expectations and appraising their performance.
  • Understand and constantly considers the full-stack architecture for an entire product.
  • Bridges the gap between remote and local developers.
  • Mentor and guide the development of junior developers.
  • Drive development practices used within the company.
  • Identify problematic areas and implement strategic solutions in time
  • Provide production and Dev/Ops support as assigned from time to time
  • Enforce adherence to coding standards and code reviews.

Qualifications and Requirements

  • Experience developing web-based and Server Side applications using C#.NET 3.5+, ASP.NET, HTML, IIS, MVC, MSMQ, SQL Server TSQL, Performance Counters, Java Script, Bootstrap, ASPX
  • Development Experience with WinForms, WPF and Window Services using C#.NET and/or VB.NET. Third party tools like Telerik are a major plus.
  • Ability to design/develop/maintain production database (SQL Server) using TSQL
  • Strong object-oriented design patterns and methodologies
  • Strong understanding of queues, scaling, performance and rigid rules to create robust systems
  • Experience in Windows domain security, trust and configurations
  • Experience with both front-end and back-end development
  • Experience in development/architecture of REST-based and SOAP based APIs
  • Knowledge of serializers such as XML serialization
  • Experience with writing clean and maintainable code using engineering best practices (unit testing, automation, design patterns, refactoring, etc.)
  • Strong debugging skills using tools and practices for rapid development of error free code
  • Ability to manage intern to senior development engineers

Other Qualities that would be Valuable

  • Knowledge of Javascript, Node.JS, RabbitMQ, MSMQ, SQL Server, MYSQL, REACT, LINUX a plus.
  • Experience with agile development practices
  • Familiar with MS TFS, BITBUCKET, GIT or SVN source control systems
  • Extensive knowledge of branching
  • Familiarity with Jenkens, Resharper, SonarC# etc a major plus
  • Knowledge of CI/CD processes, methods and experience in implementing them is a major plus.
  • Understanding of the electronic payments industry (bankcard, ACH, gift cards) a major plus

Education and Experience

  • BS degree in Computer Science, MIS or similar field or equivalent work experience
  • 10+ years of experience in either:
  • Development team management
  • Software development, testing, deployment, and lifecycle maintenance of enterprise grade applications expected.