Principal Software Engineer/Developer
Fidelity Investments is a privately held, Boston-headquartered financial services company providing investing, trading, retirement, wealth management, brokerage, workplace benefits, custody and clearing, and digital-asset services.
About Fidelity Investments
Fidelity serves individual investors, employers, wealth-management firms, institutions, innovators, and charitable donors through diversified financial-services businesses. Current offerings include brokerage and trading, mutual funds and exchange-traded products, retirement and workplace savings, financial planning and advice, wealth management, institutional custody and clearing, and crypto/digital-asset products.
Skills
Candidate Availability
Required and preferred rules are kept separate and reflect the wording in the original posting.
About the Role
You will design and implement application architecture, develop complex software applications, and deliver scalable solutions. You will build front-end and back-end services, deploy cloud applications, improve testing and delivery practices, plan project lifecycles, manage technical risks, advise stakeholders, and mentor junior engineers.
Requirements
- Bachelor's degree and five years of relevant experience, or a master's degree and three years of relevant experience
- Experience developing and maintaining scalable Kafka and Spring-based applications in a multi-system integration environment
- Java, Spring Boot, Spring Cloud, and microservices expertise
- Kafka, Oracle PL/SQL, REST API, SOAP, XML, and event-driven architecture expertise
- Docker, Kubernetes, AWS, Jenkins, GitLab CI, UC Deploy, Ansible, and Terraform expertise
- JUnit, Mockito, JaCoCo, SonarQube, Datadog, and AWS CloudWatch expertise
- Experience with Node.js, Angular, React, Python, SQL, and UI development
Responsibilities
- Participate in architecture design teams
- Define and implement application-level architecture
- Develop applications for complex projects, components, and subsystems
- Recommend testing tools and methodologies and validate test plans
- Ensure QA readiness of software deliverables
- Develop application and subsystem documentation
- Establish project life cycle plans
- Meet project goals on time and on budget
- Advise on project risk assessment and management
- Plan and coordinate project schedules and assignments
- Resolve project and technology issues with business units
- Advise senior management on technical strategy
- Mentor junior team members
- Perform technical and functional analysis
- Develop technical solutions for ongoing development efforts
Benefits
- Fully paid parental leave
- On-site health and wellness centers
