Senior Java Developer
Role details
Job location
Tech stack
Job description
You will be joining a multi-functional agile team consisting of frontend and backend developers, QA and technical analysts. Our tech stack consists of:
- Java/Spring microservices hosted on Kubernetes and Docker.
- React and Typescript based frontend components.
- PostgreSQL for most persistent storage.
- Kafka, SNS/SQS for asynchronous messaging.
- Prometheus, Grafana, DataDog and OpenTelemetry for observability.
Day to day you will be expected to:
-
Develop backend web applications using Java 21+ and Spring Boot 3+.
-
Write unit, functional and non-functional test code for robustness including edge cases, usability and general reliability.
-
Support and use CI/CD best practice.
-
Contribute to the team's technical direction, tools and processes.
-
Ensure applications are highly performant, resilient and secure, well maintained and monitored in production.
-
Assist in the maintenance and support of the Kubernetes infrastructure, PostgreSQL and Kafka clusters.
-
Strive for continuous improvement - be able to improve existing practices and techniques from within the team with enthusiasm.
-
Mentoring and supporting colleagues, contributing to a collaborative team environment.
-
Engaging with stakeholders and communicating technical solutions to both technical and non-technical audiences.
-
As part of your role we expect you to be part of our on-call support rota. In line with many leading companies, we believe in the ethos that our technology teams support their own products.
Requirements
Do you have experience in UNIX?, * A strong background in developing and maintaining backend applications using Java 21+ and Spring Boot 3+ (including recent commercial experience).
-
Strong experience using Docker and Kubernetes 1.32+ to manage application deployments. Including responsibility for deploying and maintaining a full path to production pipeline with multiple test phases.
-
Strong experience using PostgreSQL (ideally AWS Aurora/RDS) and Kafka in a commercial setting.
-
Experience developing Content Management and Content Distribution Networks.
-
Demonstrated history in all levels of backend testing (unit, functional, non-functional, integration, contract) including using TDD across all levels of the testing pyramid.
-
Strong experience in CI tooling (Jenkins/GitHub Actions). Having worked in a team using established CI/CD practices.
-
Understanding of and recent experience using Unix/Linux and scripting languages.
-
A proven track record following development best practices including code quality, application architecture & design principles with the conviction to make your voice heard when pushing for technical excellence.
-
Demonstrated recent history of supporting applications out of hours and during high profile events as part of a support rota, including debugging applications using logging, metrics and tracing.
-
Good knowledge of designing, developing and maintaining REST APIs and the associated services.
-
Good analytical skills & attention to detail, applicable across software design, requirement development & PR reviews.
-
Standout colleague attitude and experience mentoring other developers of all levels.
-
Excellent communication skills both within own team & wider department and with both technical & non-technical stakeholders, including experience interfacing with stakeholders to help drive solutions across both the team and wider department.
-
Fast learner, and adaptable to change.