Back-End engineer - Java

JP Morgan

Location: Greater London

Job Type: Full time


At JPMorgan, we put our clients at the center. To meet their ever evolving needs we are continuously reinventing our business, incorporating the latest technology and business innovation

In this pursuit we are developing a set of new products and platforms to serve a wide range of clients and purposes and take our business to the entirely new level of flexibility, quality and speed.

Our team is at the heart of building this new venture. We have created a new organization and we are looking for solution-oriented, commercially minded, client-focused engineers, used to working in a true agile environment who want to be a part of something new, built from the ground up as a green-field with zero legacy initiative within a global, diverse and inclusive team.

Culture is as important to us and we are looking for intellectually curious, new technology passionate individuals who would like to expand their skills whilst working on a new exciting venture for the firm. Your work will have a direct impact to our customers as our business expands around the world.

This is a hands-on role for a Software Engineer, Java developer whowants to be part of flat-structure organization andinfluence the design & developmentof a green-field initiative. As a part of delivering end-to-end cutting-edge solutions in the form of cloud-native microservices architecture applications leveraging the latest technologies and the best industry practices, your responsibilities will include

Your responsibilities

  • Engage with the business, gather and understand requirements
  • Design and implement technical solutions for the business requirements, written in Java (and possibly other JVM based languages)
  • Write unit, component, integration, end-to-end tests
  • Contribute to microservice architecture design
  • Interview candidates for back-end engineering positions
  • Take end-to-end ownership through the software development life cycle

Your technical skills should include

  • 5+ years hands on coding experience as an individual contributor or team lead
  • Very strong Java 8+ skills (11/17 preferred)
  • Experience building RESTful APIs
  • Experience building solutions on at least one Cloud platform (AWS, Azure, GCP)
  • Experience using non-relational databases (MongoDB, Cassandra, AerospikeDB)
  • Experience working on globally distributed applications with strict consistency requirements (example platforms: Wise, PayPal, Amazon)
  • Strong database skills (transaction isolation, propagation, ACID, CAP theorem, SAGA pattern, outbox pattern)
  • Experience using testing frameworks, such as JUnit, Mockito, PACT, Cucumber, TestNG, Gatling
  • Good knowledge of microservice architectures (synchronous/asynchronous communication, REST, gRPC, GraphQL, event-driven architectures)
  • Knowledge of authentication/authorization patterns: OAuth2, OIDC, JWT
  • Knowledge of distributed systems design
  • Knowledge of Kubernetes (or some other container orchestration platform)
  • Knowledge of Kafka

Your soft skills should include

  • Ability to work in a collaborative environment and coach other team members on coding practices, design principles, and implementation patterns that lead to high-quality maintainable solutions.
  • Ability to work in a dynamic, agile environment within a geographically distributed team
  • Ability to focus on promptly addressing client and business needs
  • Ability to work within a diverse and inclusive team
  • Technically curious, versatile and solution oriented
  • Excellent written and verbal communication skills in English
You’ve got this!