Job Title: Principal Software Engineer
Role Summary:
As a Principal Software Engineer on our team, you’ll play a key role in supporting our digital transformation journey as a senior specialist in our development team to build and implement large-scale applications involving APIs and UIs that will be leveraged across the business. You’ll be both hands-on and strategic, diving deep into code to define system behavior, and establishing technical roadmaps that you and the developers on your team will act upon to deliver quality and scalable software solutions. You will also have the opportunity to directly engage with senior leadership as you communicate back and forth with the business to ensure these software solutions align with business objectives.
Responsibilities:
Leading proof of concept initiatives with Solution Architects as required. Create and maintain technical architecture documentation for solutions. Define development standards and tooling for the squads. Partner with business stakeholders to translate business requirements into consumable technical stories and software solutions. Participate in solutioning and estimation activities for upcoming opportunities. Mentor a team of software developers to build quality software solutions aligned to architecture guidelines. Deep dive on technical solutioning or troubleshooting with the Tech Leads and Squads as required. Provide debriefing and support to Tech Leads and Developers on POCs that are being handed over to Sprints for full implementation.Functional Competencies:
Able to provide technical excellence while embracing flexibility over building “bulletproof” systems. Passionate learner who keeps up with evolving technologies and is willing to experiment to test what would work for the business. Experience in or willingness to learn Agile methodology and working in a cross functional team.Technical Competencies:
10+ years of hands-on, full-stack development experience building high performance, scalable and reliable software applications using Java and Microsoft technology stacks. Experience in Angular for front-end development including Single Page Application and Micro-Frontends. Deep understanding of SQL Server, including database design models, database performance optimization and the ability to develop and maintain PL/SQL Packages, Stored Procedures, Triggers, and Functions in SQL Server Demonstrated experience developing REST based APIs using Microservice architecture, Open API Specification and/or creating specifications w/Swagger. Experience in containerizing applications using Docker & Kubernetes Previous experience with cloud solutions (Azure preferred) along with experience configuring DevOps/continuous integration and continuous deployment (CI/CD) pipelines using tools such as Git, Jenkins and/or Maven. Experience in monitoring and logging tools such as ELK and Prometheus. Experience with secure SDLC and application security & compliance.Desirable Skills:
A background in the insurance/financial services sector. Experience working with workflow, BPM and CRM applications. An ongoing learner who is excited about new technologies and experimenting with them. The Principal Software Engineer is a senior role that requires an individual with a passion for technical excellence who isn't afraid to question the status quo. Successful candidates will value flexibility as much as robustness in systems and will be committed to ongoing learning and growth.Education and Experience:
Background in computer science, information systems or bachelor’s or master’s degree in computer science, Information Technology, Computer Engineering, Software Engineering, or a related field. Insurance/Financial services background preferred.