Senior Java Developer
Salary: £85,000 - 95,000 per year
Requirements:- Extensive commercial Java experience, typically around 10 years or equivalent depth, including recent work with Java 17 or 21, concurrency, collections and JVM performance.
- Strong experience with Spring Boot, dependency injection, Spring Data JPA, Hibernate and Spring Security.
- A track record of delivering and operating microservices, with an understanding of service boundaries, timeouts, retries, circuit breakers and eventual consistency.
- Experience designing REST APIs with OpenAPI documentation, OAuth 2.0 or OpenID Connect, and token-based access control.
- Practical experience with Apache Kafka or a comparable messaging platform, including consumer groups, ordering, delivery guarantees and duplicate processing.
- Strong SQL skills, relational data modelling, transaction management and query optimisation, ideally using PostgreSQL; familiarity with Redis caching.
- Experience deploying applications to AWS or an equivalent cloud, using Docker and Kubernetes.
- Experience with JUnit 5, Mockito and integration testing using tools such as Testcontainers or WireMock.
- Confidence with Git, Maven or Gradle, and CI/CD tools such as GitHub Actions, GitLab CI or Jenkins.
- Ability to break down ambiguous requirements, explain design choices, review code constructively and work effectively within an Agile team.
- Experience migrating monolithic applications using incremental approaches such as the strangler pattern.
- Knowledge of domain-driven design, contract testing and distributed transaction patterns such as sagas or the transactional outbox.
- Experience with Terraform, Helm and AWS services such as EKS, RDS and MSK.
- Familiarity with OpenTelemetry, Prometheus, Grafana and performance or load-testing tools.
- Design, build and maintain Java microservices, taking features from technical design through testing, deployment and production support.
- Develop secure REST APIs with clear contracts, versioning, validation and consistent error handling.
- Implement Kafka producers and consumers, including retries, idempotent processing and dead-letter handling.
- Contribute to architecture discussions, documenting decisions about service boundaries, data ownership and integration patterns.
- Write automated tests and review code to maintain quality, readability and long-term maintainability.
- Improve application performance and reliability using profiling, metrics, logs and distributed tracing.
- Work with DevOps engineers on container deployments and CI/CD pipelines; diagnose production issues and implement lasting fixes.
- Collaborate with product owners and QA engineers, explain technical trade-offs and mentor less experienced developers.
- Help define service boundaries and API contracts, plan incremental migration and resolve issues such as duplicate events, failed downstream calls and data consistency across services.
- API
- AWS
- CI/CD
- Cloud
- DevOps
- Docker
- Git
- GitHub
- GitLab
- Gradle
- Grafana
- Helm
- Hibernate
- Support
- JPA
- JVM
- JUnit
- Java
- Jenkins
- Kafka
- Kubernetes
- LESS
- Maven
- OAuth
- OpenAPI
- OpenID
- OpenTelemetry
- PostgreSQL
- Prometheus
- REST
- Redis
- SQL
- Security
- Spring
- Spring Boot
- Terraform
- microservices
- Backend
More:
We are hiring a Senior Java Developer for a programme modernising a digital platform covering customer onboarding, order management, billing and notifications. The work combines extracting functionality from an existing monolithic application with developing independently deployable and scalable services, with the aim of shortening release cycles, improving resilience and supporting growing transaction volumes without disrupting existing users. Our proposed stack centres on Java 21 and Spring Boot, REST APIs, Apache Kafka, PostgreSQL, Redis, Docker, Kubernetes and AWS, supported by automated build, test and deployment pipelines. You will join a collaborative team working with product, QA and DevOps colleagues. We offer scope to influence platform design and delivery, tackle migration and scaling challenges, and help establish engineering practices the wider team can build on.
last updated 41 week of 2026