Software Engineer II - Java

Dorset
Full time
Posted
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 at JPMorgan Chase within the Liquidity and Account Solutions team, you are part of an agile team that works to enhance, design, and deliver 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 syntax of at least one programming language with limited guidance
  • 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 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
  • Experience with popular Java build tools and test frameworks (e.g. Maven, JUnit, Mockito and Cucumber)
  • 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 above
  • Experience with Spring Boot and other Spring libraries
  • Hands on experience with a statically compiled language like C, C++, Rust or Golang
  • Exposure to messaging systems (e.g. Kafka)
  • Exposure to containerized cloud technologies (e.g. Kubernetes)
  • DevOps tooling experience (e.g. Jira, Jenkins, Sonar and Bitbucket)
  • Experience of maintaining software in a restricted Production environment
  • Certified cloud knowledge (e.g. AWS Cloud Practitioner or CKAD)