Principal Software Engineer/Developer
Job Description: Position Description
Creates software service solutions using fundamental design principals for building scalable applications. Writes service layer code and guides junior engineers on design and hands on coding. Drives track level design and work organization. Delivers clean, testable, readable, and easily maintainable code in an Agile environment using an Acceptance Test Drive Development (ATDD) approach. Uses business knowledge to translate the vision for business needs into working solutions by developing complex/multiple software applications while considering alternative solutions. Analyzes and recommends changes in project development policies, procedures, standards, and strategies to development management. Primary Responsibilities:
• Participates in architecture design teams.
• Defines and implements application level architecture.
• Develops applications on complex projects, components, and subsystems for the division.
• Recommends development testing tools and methodologies, and reviews and validates test plans.
• Responsible for QA readiness of software deliverables.
• Develops comprehensive documentation for multiple applications or subsystems.
• Establishes full project life cycle plans for complex components across multiple platforms.
• Responsible for meeting project goals on-time and on-budget.
• Advises on risk assessment and risk management strategies for projects.
• Plans and coordinates project schedules and assignments for multiple work streams.
• Acts as a primary liaison for business units to resolve various project/technology issues.
• Provides technology solutions to daily issues and technical evaluation estimates on technology initiatives.
• Advises management on technical strategy.
• Mentors more junior team members, including senior engineers.
• Performs independent and complex technical and functional analysis for multiple projects supporting several divisional initiatives.
• Develops original and creative technical solutions to on-going development efforts. Education and Experience
Bachelor's degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and five (5) years of experience in the job offered or five (5) years of experience performing portfolio optimization.
Or, alternatively, Master's degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and three (3) years of experience in the job offered or three (3) years of experience performing portfolio optimization. Skills and Knowledge
Candidate must also possess:
- Demonstrated Expertise ("DE") designing and developing distributed, fault tolerant, high throughput portfolio construction and management applications with middle-tier Web services that interact with complex data models on Oracle RAC relational databases, using PLSQL stored procedures, indexing, partitioning, SQL tuning, dimensional modelling, myBatis/iBatis frameworks with Java-Spring, and portfolio optimization engines according to asset class and tax aware investment strategies.
- DE developing full-stack, vertically aligned stories for N tier applications - gathering complex requirements for issues and navigating large inter-connected data models using SQL - in an investment management domain; transitioning inter-connected data through a Java/Spring based mid-tier, to HTTP and message based endpoints, using Kafka and Kinesis; creating working solutions, using Java and Spring based mid-tiers, ETL processes (Informatica), and job schedulers (Autosys); and maintaining Continuous Integration/Continuous Deployment (CI/CD) pipelines for application design use.
- DE designing and developing Java based portfolio construction and management applications -performing test automation (using Spock/Cucumber) per requirements, source code management (using git and Maven), CI/CD onto AWS (EC2) platform, scalable messaging (using Kinesis/Kafka), AWS supported storage (RDS, Dynamo, and S3), and log aggregation (Splunk, Cloud watch, and Datadog) - according to Agile methodologies.
- DE providing technical guidance and mentoring a team of individual contributors - providing software design and soft skills coaching for a team involved in the design and development of portfolio construction and management applications in a distributed (onshore/offshore) environment.
#PE1M2 Certifications: Company Overview
At Fidelity, we are focused on making our financial expertise broadly accessible and effective in helping people live the lives they want. We are a privately held company that places a high degree of value in creating and nurturing a work environment that attracts the best talent and reflects our commitment to our associates. We are proud of our diverse and inclusive workplace where we respect and value our associates for their unique perspectives and experiences. Find your Fidelity at fidelitycareers.com .
Fidelity Investments is an equal opportunity employer.
We believe that the most effective way to attract, develop and retain a diverse workforce is to build an enduring culture of inclusion and belonging.
Fidelity will reasonably accommodate applicants with disabilities who need adjustments to complete the application or interview process. Please email us at accommodations @fmr.com or call 800-835-5099, prompt 2, option 2 if you would like to request an accommodation.