Lead Software Engineer
The Lead Software Engineer architects, designs, codes and tests multi-platform application programs, functions, services, and other related software components in response to problem and project change requests of the highest complexity and risk. The incumbent provides leadership, technical guidance, training and mentoring to others in areas of acquired expertise. The incumbent is responsible for the efficient application of currently relevant and appropriate emerging technology in the development of quality products within the constraints of time and budget.
As a Lead Software Engineer, you’re charged with providing software development guidance and mentoring. This is a highly technical position that has direct authority over the processes and people responsible for the technical rigor of some of Assurant’s key systems. Your team will build product that continuously provides business value.
Primary Job Responsibilities:
- Build and deliver IT solutions that demonstrably provide business value using the right blend of people, process and technology
- Define, monitor, and enforce coding standards and promote design pattern usage
- Ensure as-built documentation is captured
- Stay current in new technologies and platforms; identifies emerging technologies to solve complex business problems.
- Partner with QA, BA, PO, and Agile Practice to form high performing delivery teams.
- Ensure team collaboration, resolve issues, provide coaching and feedback.
- Mentor and lead high-performing development teams
- Responsible for defining and execution of the onboarding process of team members
- Ensure team members have necessary tools and training to be effective in their feature delivery roles.
- Strive to achieve consistency across assigned feature delivery teams
- Partner with lead software engineers to develop standard IT processes and best practices
- Coach assigned developers and provide them with guidance to be successful in their roles
- Responsible for maintaining team backlog to sustain platform health and drive continuous growth
- Will oversee the delivery of integrated working software according to specification, including the following:
- Ensuring consistency across assigned teams for design and implementation
- Coaching and mentoring of developers
Basic Qualifications :
- 5+ years of developing enterprise level software
- 5+ years of programming experience
- 2+ years of development lead experience
Other requirements :
- Stellar interpersonal, communication, and leadership skills
- Familiarity with Agile development methodologies
- Ability to juggle multiple high-priority projects
- Experience with C# and SQL Server 2014/2016/2017
- Experience of development in .NET Core, RESTful APIs, Entity Framework or other ORM technologies
- Experience in systems implementing distributed architecture, service-oriented architecture, message queues, and service bus.
- Familiarity with writing testable code and testable code best practices
- Strong foundation in back end, multi-threaded, scalable, distributed systems processing high volume transactions
- Lead experience throughout the software life cycle
Preferred Experience, Skills, Knowledge:
- Bachelor’s degree in computer science, engineering, or related discipline or equivalent work experience
- Understanding of enterprise design patterns and best practices
- Ability to design and build both on premise and cloud solutions
- Development experience with Microservices is a plus
- Angular experience a plus
- Demonstrated DevOps experience
- Microsoft certification is a plus