Principal Software Engineer/Developer
Company | Fidelity Investments |
---|---|
Location | Salt Lake City, UT, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s |
Experience Level | Senior |
Requirements
- Bachelor’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, Data Science, or a closely related field and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) designing, developing, and supporting applications with advanced data processing in a highly transactional and scalable environment.
- Or, alternatively, Master’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, Data Science, or a closely related field and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) designing, developing, and supporting applications with advanced data processing in a highly transactional and scalable environment.
- Demonstrated Expertise (“DE) designing and developing REST APIs in a fast-delivery Agile environment, using Java 8+ functional programming feature with Spring Boot, Python, Fast API framework, Swagger API, and subscription management (Stratum API gateway); protecting sensitive information using RSA/SHA-256 data encryption algorithms and Oauth2 technologies in a Multitenancy Architecture environment; building error handling logic with circuit breaker and resilience library in Java and Python; and performing unit testing to achieve complete code coverage in a TDD driven environment, using JUnit, Mockito, and Pytest.
- DE building and containerizing applications in a Continuous Integration and Continuous Delivery (CI/CD) environment, using Git, Maven, PyPI, NPM, Docker, Elastic Container Service (ECS), and JFrog; building, troubleshooting, and optimizing DevOps pipelines to support Software Development Lifecycle (SDLC) environments from DEV to PROD, using Groovy, Golang, Jenkins, Terraform, AWS CloudFormation, YAML scripts, and Kubernetes CLI in a AWS hosted Elastic Kubernetes Service (EKS) blue-green deployment system.
- DE performing data management (creating schema and indexes, and data CRUD operations) and application integration with different data sources (SQL databases and NoSQL databases, KAFKA, and caching system), using Maven Liquibase XML scripts, SQL scripts, KAFKA CLI, ORM technologies, Kafka library, and Hazelcast library; ensuring data consistency using Spring’s transaction management in a distributed transactional environment; and identifying and troubleshooting performance bottlenecks for performance optimization, using benchmarking technology – analyzing metrics, logs, and anomaly and resource usage patterns.
- DE designing and developing responsive and interactive User Interfaces (UIs) using HTML, CSS, JavaScript, and React.js; performing PDF file generation, editing, and data merging, using CSS, HTML, Python xml2pdf library, and Java pdfbox library; and implementing synthetic monitoring to detect anomalies and enhance system security, using browser-based automation framework.
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 projects 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 projects.
- 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 senior management on technical strategy.
- Mentors junior team members.
- 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.
- Enhances tracing and monitoring capabilities and builds comprehensive observability dashboards.
Preferred Qualifications
-
No preferred qualifications provided.