Principal Software Engineer/Developer

Fidelity InvestmentsDurham, NC
11hHybrid

About The Position

Position Description: Builds and maintains Continuous Integrations/Continuous Delivery (CI/CD) pipelines. Performs Cloud migrations. Automates manual processes using Jenkins. Develops software applications in a Linux environment. Uses business knowledge to translate the vision for divisional initiatives into business solutions by developing complex or multiple software applications and conducting studies of alternatives. Analyzes and recommends changes in project development policies, procedures, standards, and strategies to development experts and 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 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.

Requirements

  • Bachelor’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) developing, maintaining, and deploying Web-based financial services applications in a multi-staged environment.
  • Or, alternatively, Master’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) developing, maintaining, and deploying Web-based financial services applications in a multi-staged environment.
  • Demonstrated Expertise (“DE”) developing, maintaining, and deploying Web-based financial services applications -- Java/Node and Python -- in an enterprise-class environment, using Jenkins/Bamboo, Github, Docker, and Kubernetes frameworks.
  • DE deploying scalable microservices in ECS and EKS cluster; and writing scaling policies for autoscaling groups, capacity providers, and Automation of Infrastructure, using Infrastructure as Code (IAC) tools -- Terraform and Ansible -- and Cloudformation templates in Cloud environments.
  • DE adopting and implementing DevSecOps security practices -- regular security patching, minimum-permissions IAM accounts and policies, and encrypt-everything -- to identify and automate security vulnerability remediation tasks, using Ansible, Amazon Web Services (AWS), Command Line Interface (CLI), Application Program Interfaces (API), Python, and Bash automation tools.
  • DE implementing deployment strategies and management patterns -- blue/green, canary, and serverless architectures -- using AWS Lambda, API Gateway and Fargate; implementing monitoring using Application Performance Monitoring tools -- New Relic and Dynatrace; and integrating logging tools -- Splunk and AWS CloudWatch with the microservices -- fordebugging performance issues and troubleshooting during deployments.

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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service