Lead Software Engineer - Java, Payments

JPMorgan Chase & Co.
Christchurch, UK
14 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Experience level
Expert
Working hours
Regular working hours

Tech stack

Java (Programming Language) Application Programming Interfaces (APIs) Agile Methodology Automation of Tests Software Quality Cyber Security Computer Programming Databases Continuous Integration Relational Databases Disaster Recovery Distributed Data Store
+40 more
Distributed Systems Amazon DynamoDB Failover Fault Tolerance Java Virtual Machine (JVM) PostgreSQL Enterprise Messaging Systems MongoDB NoSQL Object-Oriented Software Development Oracle (Applications) Performance Tuning Query Optimization Reliability Engineering Secure Coding Software Engineering Software Systems SQL Databases Data Streaming Systems Integration Software Technical Review Private Cloud Environment Data Logging Cloud Platform System Performance Testing System Availability Grafana Concurrency Mttr Reliability of Systems Rate Limiting Event Driven Architecture Infrastructure Automation Frameworks Low Latency Cassandra Production Code Apache Kafka Dynatrace Programming Languages Microservices

Job description

We have an opportunity to impact your career and provide an adventure where you can push the limits of what’s possible.

As a Lead Software Engineer at JPMorganChase within the Payouts organization, focused on Payment Initiation, you are an integral part of an agile team that works to enhance, build, and deliver trusted, market-leading technology products in a secure, stable, scalable, and resilient way. As a core technical contributor, you are responsible for designing and delivering critical technology solutions across multiple technical areas, supporting high-volume payment initiation platforms and complex distributed systems that are essential to the firm’s business objectives.

This role requires deep engineering expertise in building and operating production systems at scale, with strong emphasis on distributed systems, low-latency processing, high availability, resiliency, recoverability, observability, and operational excellence ., * Executes creative software solutions, design, development, and technical troubleshooting with the ability to think beyond routine or conventional approaches to build solutions and break down complex technical problems.

  • Designs, develops, tests, deploys, and operates secure, high-quality production code for high-scale, low-latency payment initiation systems.
  • Leads technical design and implementation of distributed systems using technologies such as Java, Kafka, relational databases, NoSQL databases, event-driven architecture, APIs, and cloud-native platforms .
  • Provides technical leadership across application design, system integration, data flow, resiliency patterns, and operational readiness for business-critical payment platforms.
  • Builds and supports systems with demanding non-functional requirements, including throughput, latency, availability, scalability, recoverability, fault tolerance, observability, and condensed service-level agreements .
  • Identifies opportunities to eliminate, reduce, or automate remediation of recurring production issues to improve overall operational stability and reduce mean time to detect, diagnose, recover, and resolve incidents.
  • Drives engineering practices that improve MTTR, system reliability, deployment safety, rollback capability, alert quality, and production support effectiveness.
  • Develops secure, high-quality production code and reviews, debugs, and improves code written by others.
  • Partners with product, operations, architecture, cybersecurity, infrastructure, and business stakeholders to deliver payment initiation capabilities aligned to business objectives and risk expectations.
  • Champions engineering excellence through code quality, automated testing, CI/CD, observability, performance engineering, chaos/resilience testing, and secure software development practices.
  • Leads communities of practice across Software Engineering to drive awareness and adoption of modern engineering practices, distributed systems patterns, and leading-edge technologies.

Requirements

  • Formal training or certification on software engineering concepts and applied experience or relevant practical experience in software engineering, distributed systems, or production platform engineering.
  • Hands-on practical experience delivering system design, application development, testing, deployment, and operational stability for complex production systems.
  • Advanced proficiency in one or more programming languages, preferably Java, with strong understanding of object-oriented design, concurrency, performance tuning, and secure coding practices.
  • Strong experience designing and operating distributed systems in high-scale, low-latency, business-critical environments.
  • Practical experience with event-driven architecture and messaging platforms, preferably Apache Kafka, including topics, partitions, consumer groups, offsets, ordering, retries, dead-letter handling, idempotency, and failure recovery patterns.
  • Experience with relational databases and/or distributed data stores, including SQL and NoSQL databases, data modeling, query optimization, transaction handling, consistency patterns, replication, and high-availability design.
  • Strong understanding of payment processing, payment initiation, payout flows, transaction lifecycle, reconciliation, idempotency, duplicate prevention, failure handling, and auditability.
  • Experience improving operational stability by reducing manual intervention, automating remediation, tuning alerts, eliminating recurring incidents, and reducing MTTR.
  • Advanced understanding of agile methodologies, CI/CD, application resiliency, cybersecurity, and secure software engineering practices.
  • In-depth knowledge of the financial services industry and its technology systems, controls, risk expectations, and operational disciplines.
  • Practical cloud-native experience, including designing or operating applications on public or private cloud platforms using containers, orchestration, infrastructure automation, and cloud resiliency patterns., * Experience building systems that support very high transaction volumes with strict latency, availability, and reliability requirements.
  • Experience with distributed transaction patterns, eventual consistency, sagas, outbox patterns, retry frameworks, circuit breakers, bulkheads, rate limiting, and back-pressure handling.
  • Experience with database technologies such as Oracle, PostgreSQL, Cassandra, MongoDB, DynamoDB, CockroachDB, or other distributed SQL/NoSQL platforms .
  • Experience designing for disaster recovery, active-active or active-passive architecture, multi-region resiliency, backup/restore, failover, and recovery testing.
  • Experience with observability tools and practices, including centralized logging, metrics, distributed tracing, synthetic monitoring, anomaly detection, and alert rationalization.
  • Experience leading technical design reviews, architecture governance, resiliency reviews, operational readiness assessments, and production certification activities.
  • Ability to influence senior stakeholders, mentor engineers, drive engineering standards, and lead technical execution across multiple teams.

Key Technical Focus Areas:

The ideal candidate should have practical experience in several of the following areas:

  • Programming: Java, JVM performance, concurrency, APIs, microservices
  • Messaging and Streaming: Kafka, event-driven architecture, asynchronous processing
  • Databases: SQL, NoSQL, distributed databases, data consistency, high availability
  • Payments Domain: Payment initiation, payout processing, idempotency, reconciliation, auditability
  • Reliability Engineering: MTTR reduction, incident prevention, automation, observability
  • Resiliency: Fault tolerance, retries, circuit breakers, failover, disaster recovery
  • Performance: Low latency, high throughput, capacity planning, performance testing

About the company

J.P. Morgan is a global leader in financial services, providing strategic advice and products to the world’s most prominent corporations, governments, wealthy individuals and institutional investors. Our first-class business in a first-class way approach to serving clients drives everything we do. We strive to build trusted, long-term partnerships to help our clients achieve their business objectives., J.P. Morgan’s Commercial & Investment Bank is a global leader across banking, markets, securities services and payments. Corporations, governments and institutions throughout the world entrust us with their business in more than 100 countries. The Commercial & Investment Bank provides strategic advice, raises capital, manages risk and extends liquidity in markets around the world.

Apply for this position

This job is hosted externally. Click below to view the full posting and apply.

Apply on jobs.theguardian.com

Good distractions

Talks and stories from around this role — technically off-topic, practically not.

2:25 min

Engineering career path from embedded systems to banking

John Woods John Woods · LIVE

2:01 min

Migrating existing applications from MongoDB to Postgres

Nikita Shamgunov Nikita Shamgunov · WWC 2024

2:37 min

Comparing traditional SQL tables versus NoSQL non-tabular databases

Stanimira Vlaeva · JS Congress

3:08 min

Aligning engineering processes with core business impact metrics

Chris Riley · WWC 2021

1:21 min

Realizing the limitations of MongoDB for live statistics

Josip Stuhli Josip Stuhli · WWC 2023

3:16 min

Terminology differences between relational and NoSQL databases

Tim Faulkes · LIVE

Videos

See all

Related articles

See all