Lead Java Engineer

  • Job Reference: 473422262-2
  • Date Posted: 15 January 2022
  • Recruiter: Metro Bank
  • Location: London
  • Salary: On Application
  • Sector: Restaurant & Service
  • Job Type: Permanent

Job Description

We've built a different kind of high street bank. A bank with stores that are open when it suits you, where you can walk in without an appointment and leave with a working account, debit card and all. A bank that tells you exactly what you're getting, in language that actually makes sense. A bank that puts you first.

Metro Bank first opened its doors in the summer of 2010, the first high street bank to open in the UK in over 100 years. We're committed to making a difference and delivering a different type of banking for Britain. We are committed to providing you with unparalleled levels of service and convenience. This is why our stores are open early 'til late. We offer a super-quick account opening, on the spot card printing as well as a 24/7 London-based contact centre.

What makes Metro Bank unique? The answer's simple. It's our people. We put 100% into supporting our colleagues in reaching their full potential. And because each of our stores is deeply rooted in the community it serves, colleagues have a strong understanding of the needs and ambitions of the customers and businesses in their neighbourhood.

About the role:

Are you a Lead Software Engineer with expertise in Java 8 or 11? Have you led and delivered complex Development projects in a commercial environment? Are you passionate about developing market leading digital solutions and products and building/ developing a team along the way? If yes, then we may have the role for you.
As the Lead Java Engineer, you will be responsible for writing high-performing, scalable code in an Agile environment. You will also be hands-on, lead the delivery of complex development projects, contribute to the technical solution from design to code, mentor junior developers as well as help drive deliveries and shape the technical direction of the bank. Depending on the team, most of our roles offer flexible working.
  • Writing clean code and test thoroughly via TDD / BDD principles and tool
  • Translating user stories to functional applications
  • Making sure the team is following the development standards setup by the bank
  • Helping the team achieve the objectives setup by the technical leadership
  • Comfortable with Agile and DevOps approach
  • Be responsible for your own work from requirements to customer acceptance in production
  • Helping impact access business requested change and estimation
  • Developing technical understanding and best practices and provide support for technical problems
  • Help in low level designs based on the user stories
  • Acting as a proxy tech lead wherever required
  • Maintaining the quality and standard of code by doing detailed code reviews
  • Managing a team of Java Engineers
  • Writing unit, integration, and functional test
About you:
You need to be this kind of person:
  • Passionate about providing unparalleled levels of service and convenience for customers
  • Able to work and learn quickly in a fast paced, fun and dynamic environment
  • Prepared to stick at something - we get nervous if someone has jumped from job to job as we want people who are prepared to learn and grow
  • Care about doing a great job and exceeding expectations with the quality of what you do
And... we are a bank so risk is a part of everything we do. We love people who take responsibility, do the right thing for customers, colleagues and Metro Bank and have the courage to call out any concerns.
We always support colleagues to develop their skills. But to be successful in this job you really do need to already be able to do most of these wonderful things...
  • Understand the risks associated with your job and what that means for you, Metro Bank and all our stakeholders
  • Have a proven track record of coding in Java8 (Ideally Java 11) using TDD/BDD
  • Experience with leading a team of developers in the recent project
  • Experience of performance tuning java applications
  • Experience with Apache Camel, GraphQL or Spring Integration
  • Experience of enterprise Java frameworks such as Spring (particularly Spring Boot, Spring Cloud Stream, Spring Security, Spring Data).
  • Good understanding of Functional Programming (Lambda, Streams)
  • Experience with Kafka and Confluent stack
  • Containerization using docker and Kubernetes
  • Good understanding of AWS / Cloud computing
  • Understanding of Web Security (OWASP standard)
  • Hands on experience in writing unit, integration, and functional tests specifically for services
  • Architectural knowledge of Micro-services
  • Deep understanding of Git for Code repository
  • Exposure to CMS systems
  • Experience of Continuous Integration using SonarQube, Maven, Azure DevOps
  • Comfortable with Agile / DevOps
  • Experience integrating APIs with Angular apps
  • Experience with Kafka and Confluent stack
  • Experience with leading a team of developers
  • Experience of performance tuning java applications
  • Experience creating low level designs (component, sequence diagrams)
  • Experience with Backbase cxp
  • Experience with Multi-threading
  • Experience with Streaming using Kafka
  • Understanding of Istio Service Mesh
  • Experience using Oracle, MongoDB, BPM workflow - Camunda
  • Experience integrating APIs with Angular apps
  • AWS Experience in EKS, Lambda, EC2, SNS
  • Flexi-working
  • Bonus scheme
  • Share scheme
  • Life assurance
  • Healthcare
  • Vitality
  • Screening call
  • Video Call 1
  • Video Call 2
  • Offer
Java, TDD, BDD, Apache Camel, SpringJava, TDD, BDD, Apache Camel, Spring, Kafka, Docker, Kubernetes, AWS, Microservices