Senior Java Engineer

American Express

Location: Greater London

Job Type: Full time


You Lead the Way. We’ve Got Your Back.

At American Express our Engineers not only understand how technology works but also how that technology intersects with the customer and clients who count on it every day. Today, innovative ideas, insight and new perspectives are at the core of how we create a more powerful, personal, and fulfilling experience for everyone. So, if you’re interested in a career creating breakthrough software and growing your skills then look no further.

Our platforms process and authorize millions of card transactions daily across the Global Payment Network Platform. This network is the critical backbone for all American Express payment transactions and is built upon real time, low latency & highly available components.

These customer facing capabilities integrate with the payment network to power the American Express brand to enable key spending channels like mobile payments and e-commerce. We design, develop & deliver secure services for both the core & customer facing services.

We are looking for an energetic and creative senior software engineer with experience in the fundamentals of web development. The role’s primary focus will involve solution design with the architecture team to ensure the developed capability is secure, responsive and meets the customer needs.

As a Senior Engineer, you will lead a scrum team in building these core features and deploy to in a private cloud service within the American Express infrastructure.

The ideal candidate:

  • Serve as a core team member to drive user story analysis, design, and delivery of responsive backend services - utilising best engineering principles
  • Looks proactively beyond the obvious for continuous improvement opportunities
  • Familiarity with API & integration patterns to securely communicate with backend services and clients
  • Work in an agile delivery team, with familiarity with the processes and ceremonies.
  • Has a drive to learn industry leading/innovative technologies and solutions
  • Good positive attitude, communication, willingness to learn and share with others
  • Effective in managing work priorities and your time - both independently and as part of a team
  • Bring a culture of innovation and experimentation, as well as manage risk taking to implement creative ideas.
  • Bring a culture of continuous improvement and willingness to challenge the status quo
  • Guide and mentor other engineers and collaborate with external teams & the Product Owner

Tech stack characteristics:

  • Scalable applications running on Vert.x, Spring Boot or similar using Java v8+
  • RxJava, Reactor, Kafka
  • Java NIO and NIO.2
  • Secure integration with API Gateways using REST endpoints
  • SQL Products: Oracle, Postgres
  • NoSQL Products: Redis, Couchbase, Cassandra
  • Services running on private cloud infrastructure (Kubernetes, Openshift)

Responsibilities Include:

  • Design and coding of user stories for distributed, scalable, high performant and systems using Java
  • Debug software components and identify code defects for remediation.
  • Contribute to the deployment, support, and monitoring of software across test, integration, and production environments.
  • Collaborate with peer technology and development teams across international locations.
  • Sharing best practices and mentoring of new team members.
  • Support design architect and present new solutions and services.
  • Document technical solutions, operational support guides.

This role may be subject to additional background verification checks.

  • University Degree in computer science, computer engineering or equivalent experience.
  • Significant hands-on experience on enterprise software development.
  • Advanced technical skills in the areas of microservices, APIs, distributed Messaging and Java 11 or later
  • Significant hands-on experience on enterprise software development.
  • Certification in Java or other technology products.
  • Experience with other JVM languages e.g. Groovy, Kotlin.
  • Financial Transaction knowledge – Domain knowledge in ISO8583 messages, Payment Authorizations, Acquirers, Payment Networks, Issuers, Processors.
  • Design patterns (including disruptor pattern).
  • Messaging and distributed systems using Kafka event streams.
  • Design and deploy low latency systems and performance optimisation.
  • Designing and building Cloud native applications for cloud platforms using Docker, Kubernetes, and OpenShift.

Why American Express?

There’s a difference between having a job and making a difference.

Amex have been making a difference in people’s lives for over 160 years, backing them in moments big and small, granting access, tools, and resources to take on their biggest challenges and reap the greatest rewards.

We’ve also made a difference in the lives of our people, providing a culture of learning and collaboration, and helping them with what they need to succeed and thrive. We have their backs as they grow their skills, conquer new challenges, or even take time to spend with their family or community. And when they’re ready to take on a new career path, we’re right there with them, giving them the guidance and momentum into the best future they envision.

Because we believe that the best way to back our customers is to back our people.

The powerful backing of American Express.

Don’t make a difference without it.

Don’t live life without it.

To complete your application please click on the links below. However, if you require any assistance with the completion of this process – or need any reasonable adjustments to be made – then please contact the Recruitment Team on

You’ve got this!