The Principal Software Engineer mentors other engineers, leads small development teams and acts as an application owner, in addition to developing, improving and maintaining innovative software applications as part of a team or independently. This team member takes a lead role in design and code reviews, assists with delivery estimates and provides feedback about all aspects of the process – all while working with a variety of team members across the entire organization.
Responsibilities
- Develop progressive web apps using MVC/web API and C# through the full software development life cycle process
- Unit-test all developed code
- Work directly with business partners to determine technical solutions based on business needs
- Mentor other Software Engineers to grow their technical skills
- Understand general, undeveloped concepts and explain them concisely to others
- Work with or without complete business requirements or specifications
- Foster a collaborative environment on a cross-functional team
- Improve standards and best practices
Requirements
- 8 years of programming or related experience in object-oriented programming languages (C# or Java)
- 8 years of experience with .NET 4.0+ or related frameworks
- 8 years of experience in software testing and design
- 8 years of database-related experience (SQL, MySQL, Oracle, etc.)
- 8 years of experience working in a team environment
- Experience with JavaScript and affiliated frameworks (Angular, Vue, React, etc.)
- Experience with Git/Github
- Experience as the lead engineer on multiple projects
- Experience with web APIs (REST, SOAP)
- Experience with design patterns
- Experience mentoring others
- Undergraduate degree in computer science or equivalent relevant experience
- Exceptional verbal and written communication skills
What’ll Make You Special
- Some graduate coursework
- Experience with .NET Core
- Experience with cloud technologies (AWS, Azure, Google Cloud, etc.)
- Experience with architectural patterns such as MVVM, MVC and MVP