Remote (EST Hours)
Opportunity Details
Responsibilities
We are hiring highly skilled Software Engineers to join the Software Design Strategies team. This is a phenomenal opportunity for someone who would like to showcase and practice the art of software engineering & design and help our software engineering teams deliver high quality software.
As a hands-on member of this team, you will collaborate with assigned team members to lead design and implementation of multi-tiered enterprise solutions that are feature rich, performant, and maintain a high degree of test automation.
This role will actively participate and contribute to technical design, coding, and code reviews. You will work to improve your skills and capabilities and those of other developers within your agile chapter through experimentation, training, and knowledge sharing.
You will bring…
• Strong software engineering and design skills.
• Strong leadership and problem-solving skills.
• Ability to create design artifacts such as software models and application architecture diagrams.
• Commitment to delivery.
• Excellent interpersonal skills and a desire to collaborate openly within a fast paced team.
• A deep desire to learn and apply technology in a pragmatic way to create client value.
• Experience designing and building systems that are maintainable, evolvable, and highly tested.
• Ability to optimally participate in peer code reviews and pull requests, both as the reviewer and the reviewee.
• The desire and initiative to know the latest in development technologies, tools, and implementation patterns to share this knowledge within teams and the broader organization.
Qualifications – Internal
• 10+ years of Software engineering and design experience with large scale business applications in a fast-paced iterative development environment.
• 5+ years’ experience leading software design in teams of 5+ team members.
• Experience with Cloud Native Development is required!
• Insurance industry experience is a huge plus but not required!
Technical Skills
• Experience with patterns-based Software Design including creation of reference designs for teams.
• Experience with breaking down complex problems into simpler repeatable design artifacts such as domain models, class, sequence, state, and activity diagrams.
• Experience with C#, .NET, data structures, basic algorithms, and applying object-oriented principles and design patterns.
• Strong API design and development skills.
• Proficiency with development tools such as Visual Studio and Git.
• Proficiency with relational databases craft and query construction and optimization (we use SQL Server and PostgreSQL; other RDBMS (Relational Database Management Systems) experience is acceptable.
• Experience implementing unit and integration tests with NUnit, xUnit, MS Test, Selenium or similar.
• Strong understanding of architectural principles of software development, modelling, and security.
• Experience with GraphQL and Containers is required.
• Experience with Hasura and Hot Chocolate would be nice to have.
Experience with or desire to upskill on modern technologies including:
• React.JS
• Cypress
Education
- Bachelor’s degree in computer science, Information Technology, or relevant work experience.
- Advanced degree and certification are desirable!