Job Title: Software Engineer Principal
Job Summary
Analyses, designs, modifies, and programs software enhancements and/or new products used in local, networked, cloud-based, or internet-related computer programs. Code may be used in used in commercial or end-user applications.
Responsible for working as part of a team and is required to perform all duties of software development including design, development, testing, and documentation.
Principal Responsibilities
- Develops flexible, maintainable solutions using the guidelines, requirements, and standard practices.
- Assists in solving business problems by implementing technical solutions based on solid design principles, best practices, and practical experience.
- Reviews, modifies, enhances, and maintains existing systems by fixing issues, remediating security vulnerabilities, and improving system performance.
- Interacts with users to define system requirements and/or to add necessary modifications.
- Gains knowledge of the organization using company policies and procedures to resolve routine issues.
- Participates in planning and user story analysis by providing feedback and demonstrating an understanding of user requirements.
- Keeps up to date with current and future changes in tools, technology, programming best practices, and industry standards through training and development opportunities.
- Performs other duties as assigned.
Education/Certification
- Bachelor's degree in technical field or equivalent education and work experience required.
- Typically requires a minimum of 8 years of related experience with a bachelor’s or equivalent.
Experience
- Demonstrated experience working in a professional technical environment as a technical lead on a software development team.
- General knowledge of the software development lifecycle, preferably Agile/Lean.
- Experience with the following technologies is expected, but not all are required: .NET, C#, ASP.NET, Entity Framework, JavaScript, IIS, HTML, CSS, XML/XSLT, MSMQ, and NServiceBus.
- Foundational cloud knowledge required, AWS preferred
- Experience developing and testing REST APIs is required
- Experience developing Lambda applications hosted in AWS is a plus
- Experience using ServiceNow and SharePoint with prior development experience in these tools a plus.
- Experience with Visual Studio, Azure DevOps, Git, or other source control tools preferred.
Competencies
- Effectively work within a team environment.
- Effective written and oral communication.
- Excellent time management skills.