Software Engineer II - Test Automation

Full time
employer logo
JP Morgan
Banking, investment & finance
10,001+ employees
Compare top employers
Apply on company site

You’re ready to gain the skills and experience needed to grow within your role and advance your career — and we have the perfect software engineering opportunity for you.

As a Software Engineer II – Test Automation at JPMorgan Chase within the Liquidity and Account Solutions team, you are part of an agile team that works to enhance, design, deliver and test the software components of the firm’s state-of-the-art technology products in a secure, stable, and scalable way. As an emerging member of a software engineering team, you execute software solutions through the design, development, and technical troubleshooting of multiple components within a technical product, application, or system, while gaining the skills and experience needed to grow within your role.

Job responsibilities

  • Executes standard software solutions, design, development, and technical troubleshooting
  • Writes secure and high-quality code using the Java language with limited guidance
  • Embedded within an agile software development scrum team, champions and owns the creation of test automation frameworks for critical financial systems
  • Elicit high quality, stable and maintainable test cases from requirements documentation
  • Designs, develops, codes, and troubleshoots with consideration of upstream and downstream systems and technical implications
  • Applies knowledge of tools within the Software Development Life Cycle toolchain to improve the value realized by automation
  • Applies technical troubleshooting to break down solutions and solve technical problems of basic complexity
  • Gathers, analyzes, and draws conclusions from large, diverse data sets to identify problems and contribute to decision-making in service of secure, stable application development
  • Learns and applies system processes, methodologies, and skills for the development of secure, stable code and systems
  • Adds to team culture of diversity, equity, inclusion, and respect
  • Participates in peer reviews of code and tests developed by colleagues, providing valuable suggestions and improvements
  • Provides out of hours application support and coordination of Production releases

Required qualifications, capabilities, and skills

  • Formal training or certification on software engineering concepts or a related discipline and applied experience
  • Demonstrable ability to code in one or more object-orientated languages including Java
  • Knowledge of system and software quality assurance best practices and methodologies including Behaviour Driven Development (BDD), Regression, Integration, Unit, Contract, Component, End to End and performance testing
  • Significant experience with popular Java build tools and test frameworks including JUnit, Maven and Cucumber as well as experience in developing and maintaining test automation frameworks
  • Keen interest in latest developments / technologies in the testing domain
  • Hands-on practical experience in system design, application development, automated testing, application logging, monitoring and operational stability
  • Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages
  • Experience across the whole Software Development Life Cycle
  • Exposure to agile methodologies such as Scrum, CI/CD, Application Resiliency, and Security
  • Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)

Preferred qualifications, capabilities, and skills

  • Experience with Java 8 and Spring Boot
  • Exposure to application performance monitoring tools (e.g. Prometheus, DynaTrace, Datadog)
  • Experience in using and configuring BlazeMeter and JMeter performance test tools as well as producing analytical test reports
  • Experience and interest in the design and creation of test automation environments
  • Exposure to mocking external systems (e.g. Kafka and databases) and testing asynchronous event driven applications
  • Experience of Unix scripting and creating Docker images
  • Exposure to containerized cloud technologies (e.g. Kubernetes)
  • Experience in setting up and maintaining CI/CD pipelines
  • Experience of maintaining software in a restricted Production environment
  • Experience of UI and Contract testing frameworks (e.g. Cypress and Pact)
  • Certified cloud knowledge (e.g. AWS Cloud Practitioner or CKAD)