Principal Software Engineer/Developer

Fidelity InvestmentsDurham, NC
11hHybrid

About The Position

Position Description: Develops automated testing and Continuous Integration (CI) pipeline to enable rapid development and deployment of planning tools, increase development velocity, and decrease manual, repetitive effort. Designs and develops microservices using programming languages and frameworks – Java, Rest Assured, Postman or Insomnia, and Behavior-Driven Development (BDD) testing with Cucumber and Gherkin. Performs application building and deployment using Jenkins. 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. Education and Experience: Bachelor’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) automating, testing, and engineering Application Programming Interfaces (APIs) or Batches in Java, Maven, or Cucumber. Or, alternatively, Master’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) automating, testing, and engineering Application Programming Interfaces (APIs) or Batches in Java, Maven, or Cucumber. Skills and Knowledge: Candidate must also possess: Demonstrated Expertise (“DE”) incorporating version control systems (GIT, Stash, or GitHub) for BDD testing and Agile (JIRA) environments, within a financial services environment, using Java-based automation frameworks; providing deep insights into platform behavior and performance through the application of data-driven methodologies and Chaos testing, using RushHour and FireFly; and executing end-to-end testing for consumers experiences. DE developing automation scripts for testing API-based enterprise J2EE applications and batch applications, using Java, Rest Assured, TestNG, or Cucumber, and using Gherkins; designing and implementing automation testing for highly scalable and customer-facing RESTful-based, production-ready applications, using Java, Rest Assured and Maven; implementing distributed batch processing in Spring framework using Object Model; implementing, testing, and tuning API applications on AWS Cloud (dynamic scaling and load balancer); and implementing test validation using JSON Compare Tool. DE participating in the Software Testing Life Cycle (STLC) -- requirement analysis, specification planning, and recommending enhancements based on user needs; drafting detailed test plans aligned with project goals; setting up and mining test data using SQL, SQL Developer, and Oracle; supporting all testing phases through to implementation, including user acceptance testing (UAT), and post-installation validation to troubleshoot and resolve technical issues; developing robust test strategies, plans, and test cases based on requirements, using Jira and Xray; and designing testing documents based on stakeholder input. DE performing Continuous Integration/Continuous Deployment (CI/CD) using Jenkins or uDeploy; conducting testing (smoke, functional, and regression testing) using Maven, Postman, ParasoftSOA, or Rest Assured; and identifying performance bottlenecks and alerts, and ensuring observability, using Splunk.

Requirements

  • Bachelor’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) automating, testing, and engineering Application Programming Interfaces (APIs) or Batches in Java, Maven, or Cucumber.
  • Or, alternatively, Master’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) automating, testing, and engineering Application Programming Interfaces (APIs) or Batches in Java, Maven, or Cucumber.
  • Demonstrated Expertise (“DE”) incorporating version control systems (GIT, Stash, or GitHub) for BDD testing and Agile (JIRA) environments, within a financial services environment, using Java-based automation frameworks; providing deep insights into platform behavior and performance through the application of data-driven methodologies and Chaos testing, using RushHour and FireFly; and executing end-to-end testing for consumers experiences.
  • DE developing automation scripts for testing API-based enterprise J2EE applications and batch applications, using Java, Rest Assured, TestNG, or Cucumber, and using Gherkins; designing and implementing automation testing for highly scalable and customer-facing RESTful-based, production-ready applications, using Java, Rest Assured and Maven; implementing distributed batch processing in Spring framework using Object Model; implementing, testing, and tuning API applications on AWS Cloud (dynamic scaling and load balancer); and implementing test validation using JSON Compare Tool.
  • DE participating in the Software Testing Life Cycle (STLC) -- requirement analysis, specification planning, and recommending enhancements based on user needs; drafting detailed test plans aligned with project goals; setting up and mining test data using SQL, SQL Developer, and Oracle; supporting all testing phases through to implementation, including user acceptance testing (UAT), and post-installation validation to troubleshoot and resolve technical issues; developing robust test strategies, plans, and test cases based on requirements, using Jira and Xray; and designing testing documents based on stakeholder input.
  • DE performing Continuous Integration/Continuous Deployment (CI/CD) using Jenkins or uDeploy; conducting testing (smoke, functional, and regression testing) using Maven, Postman, ParasoftSOA, or Rest Assured; and identifying performance bottlenecks and alerts, and ensuring observability, using Splunk.

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