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 shape architectural patterns, frameworks, and reference implementations across multiple platforms. You will design and build complex enterprise applications, establish project lifecycle plans, validate testing and QA readiness, manage risks and schedules, advise leadership on technical strategy, and mentor junior engineers.
Requirements
- Bachelor’s degree in a related field and five years of relevant experience, or a Master’s degree in a related field and three years of relevant experience
- Enterprise cloud-enabled distributed systems experience
- Java, Spring, Spring Boot, microservices, and Apache Kafka experience
- JavaScript, TypeScript, AngularJS, Angular, HTML5, CSS, Jasmine, Karma, Node.js, OAuth, and SAML experience
- DevOps, CI/CD, Jenkins, IBM uDeploy, Sonar, JProfiler, and VisualVM experience
- Oracle database, PL/SQL, stored procedure, transactional SQL, Hazelcast, and query-performance optimization experience
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 documentation for multiple applications or subsystems
- Establish project lifecycle plans across multiple platforms
- Meet project goals on time and on budget
- Advise on project risk assessment and management
- Plan and coordinate schedules and assignments across multiple projects
- Act as a liaison for business units on project and technology issues
- Provide technology solutions and estimates for initiatives
- Advise senior management on technical strategy
- Mentor junior team members
- Perform technical and functional analysis for multiple projects
- Develop technical solutions for ongoing development efforts
Benefits
- Fully paid parental leave
- On-site health and wellness centers
