Description:
Job Description:
As a Director of Software Engineering in Strategic Advisor Technology, you will be a hands on technologist supporting the Strategic Advisors business unit in the development of the next generation platform for Managed Accounts. You will deliver on the vision of the business by participating in the development, research, and recommendation of appropriate models, methods, tools, and technologies to provide a matching technology vision to achieve business solutions at a platform wide level. You will play a key role working on an industry leading solution central to Fidelity’s offerings that will support over two million customers.
- Designing and architecting complex solutions on a distributed, event based, microservices platform dedicated to high scale processing of substantial amounts of data and transactions.
- Actively collaborating across squads for deliverables and driving engineering excellence, including framework advancement, standards formulation, and performance optimization.
- Collaborating with stakeholders, Architecture, Product Owners & Technical Leads to analyse and define technical requirements.
- Championing innovative technology solutions as appropriate, to resolve complex business problems.
- Providing thought leadership to the team, and continuously researching new and emerging technologies/techniques including prototyping to determine capabilities and feasibility.
- Working in a fast-paced Agile software development environment with continuous integration and continuous delivery tools and helping the team to deliver using an Acceptance Test-Driven development (ATDD) approach.
- Providing leadership on clean, testable, readable and maintainable code techniques to the team.
- Providing technical assistance for multiple squads across the Chapter by mentoring and coaching other developers.
- Providing technical and organizational leadership and building effective relationships to deliver results.
- Collaborating with Architecture, Chapter Leads, and Squads to identify, maintain and prioritize technical tasks including Technology Lifecycle Management and Continuous Improvement items.
The Expertise and Skills You Bring
- 10+ years of hands-on software development experience in J2EE application development frameworks and can demonstrate passion for quality and technical excellence in your coding ability.
- You have expert knowledge of fundamental design principles for building a scalable application.
- Experience developing RESTful/event based web services applications using Frameworks like Spring Boot, Spring Core (IOC), and technologies like Kafka and Oauth2 (security).
- Experience developing full stack applications using AWS cloud-platforms with services like EC2, Lambda, CloudFormation, S3, IAM Roles, EKS, CloudWatch and Elastic Search and AWS messaging capabilities like SQS and SNS and AWS NoSql data stores like DynamoDB.
- Experience with test automation at different levels of testing (unit, component, integration, and end to end tests) using appropriate technologies.
- Working experience with CI/CD pipelines using technologies such as GIT, Maven, Docker, Jenkins and Kubernetes
- Appreciation for the technologies used across the whole stack in designing multi-tier solutions (Oracle RDBMS in data tier, Angular/SPA front end)
- Strong written and verbal communication skills, including creation and use of arch/design diagrams as appropriate.
- Technology leadership, critical thinking, and influencing skills, ability to set out a vision and guide a team towards that vision.