Java Developer
Reporting of the Role
This role reports to Senior Java Developer
Overview
We are in search of a backend engineer with an affinity for technical excellence and a keen interest in enhancing user experiences. As part of our esteemed DAX engineering team, you will be involved in and leading product-related decisions from inception to deployment, taking ownership of technical initiatives and driving improvements across the platform.
The primary focus of the role will be our ad server platform, where you will demonstrate your skills to build and improve products related to direct and programmatic campaign lifecycle management, from booking to fulfilment, tracking and reporting.
You’ll work within a talented agile team working with modern Java micro-services (Java 21, Spring Boot), deployed on Kubernetes (EKS on AWS), with CI/CD pipelines using Jenkins and Terraform, and observability through Prometheus and Grafana.
We’re a close-knit, collaborative team that values creativity, technical excellence, and working together to deliver meaningful impact.
Key Responsibilities
Developing features for the business: Building on the platform architecture to support features on the roadmap and deliver business value. Taking ownership of features from conception through to production, ensuring quality and timely delivery.
Collaborating with the development team: Driving technical conversations with developers and product owners to understand project requirements, discuss implementation approaches, and ensure smooth integration of various software components.
Championing code quality: Leading by example in code reviews, proactively identifying opportunities to improve code standards, and mentoring team members on best practices.
Driving platform improvements: Proactively identifying technical debt, performance bottlenecks, and opportunities for enhancement. Taking initiative to propose and implement solutions that improve system reliability and developer experience.
Supporting production environments: Taking ownership of production stability, proactively monitoring system health, leading incident resolution efforts, and implementing preventative measures to reduce future issues.
3 best things about the job
Tackle exciting, intricate technical challenges using cutting edge technology and have the autonomy to drive technical decisions.
Operate in a team environment that values collaboration, openness, and joint decision-making where your leadership and initiative directly shape the platform's evolution.
Work in partnership with the product team to set the priorities for the fastest growing part of the business.
What Success Looks Like
In your first few months, you'll have:
Led or co-owned the delivery of several features which provide business value.
Proactively contributed towards the refinement and design of features, driving technical discussions and influencing architectural decisions.
Championed good development practice in code reviews, providing insightful feedback and mentoring others on technical approaches.
Assisted in ensuring a reliable production environment using relevant tooling.
Gained an understanding of the business context and how it relates to the team's deliverables.
Gained a solid understanding of the team's system architecture and what the roadmap looks like.
What You'll Need
We’re looking for someone who is proactive, collaborative, and excited by solving complex technical problems. They will be capable of:
A self-driven, problem-solving attitude with a track record of taking initiative and ownership.
A pragmatic and proactive approach to work, comfortable driving technical decisions and leading features end-to-end.
Experience with Java or a similar language.
Demonstrable experience in clean code principles and contract-first design.
Writing well tested code, and accounting for how code will need to be monitored in production.
Leading technical discussions and influencing architectural decisions within a multi-functional team.
An eye for detail and the dedication to make sure things are done right.
A proactive approach to identifying and addressing technical debt, performance issues, and system improvements.
Bonus
Familiarity with DevOps tools such as Terraform, Jenkins, and GitHub Actions.
Proficiency in modern Spring, Spring Boot, as well as Kubernetes and Docker.
Experience in GraphQL - Knowledge of the latest (and anticipated) Java features.
Experience leading incident response and implementing preventative measures.
Knowledgeable in best practices for production support and adept in handling incident management.
Experience mentoring junior developers or leading technical initiatives.