Accepting applications until: 28 March 2025Job Description
Senior Java Developer
Reporting of the role
This role reports to the Tech Lead
Overview of job
The audio services team are responsible for developing the streaming servers that sit at the heart of DAX, Globals’ digital ad exchange. The application streams live, and on-demand content, to millions of listeners every day. This includes brands such as Capital, Heart, RadioX, Smooth and LBC, along with powering Alexa’s news-briefings within the UK.
While we deliver content, we also insert tailored ads, which empowers Global to offer its products at no-cost to end users. This involves finding an appropriate ad for every unique listener and inserting it into live and on-demand audio streams. This happens in real-time with sub-millisecond deadlines, so performance sits at the heart of what we do.
In this role, you will find yourself working closely with low-level audio formats, enhancing our ability to deliver audio to more listener devices while improving listener experience. With every new feature, you will be exposed to JVM profiling and tuning, as well as bespoke data structures; optimised for low latency in a highly concurrent environment. Due to this, our application is completely bespoke, built on top of Java 17.
We are a friendly and close-knit team, working in a highly collaborative agile environment.
3 best things about the job
-
Work on a platform that requires millisecond response times, serving millions of people concurrently 24/7, 365.
-
Work with designing custom data structures and algorithms to optimise ad delivery, with peak requests of over 5000+ requests per second.
-
Work in an agile team, where you can have the time and freedom to explore solutions to technical problems. This can be from benchmarking algorithms to use on a critical path through the application, to exploring what packages we can make use of to hold user-state between servers. The problems are varied, and we are given space to research solutions before we build on top of them.
Measures of success –
In the first few months, you would have:
-
Followed good development practice and taken part in code reviews.
-
Delivered new audio streaming capabilities to millions of users around the world.
-
Be supporting and maintaining production infrastructure (the team has a strong ethos around maintaining your own services).
-
Run performance tests, using Java 17, Java Flight Recorder, Java Mission Control, Gatling, and custom audio streaming tool kits maintained by the team.
-
Worked with the team to help shape and design the product roadmap, balancing performance improvements, along with new feature requests from the business.
Responsibilities of the role
-
Developing features to a high technical standard. Including performing code reviews, unit testing, integration testing, performance testing, and release management.
-
Help contribute to our agile development process.
-
Help drive our collaborative learning culture.
-
Help maintains a reliable production environment.
What you will need
-
The ideal candidate will have a passion for solving technical problems, enjoying both collaboration and exploring solutions on their own. They will strive to seek out new and interesting ways to approach distributed and concurrent problems. They will be creative in their approach, using repeatable testing and metrics to prove the success of their solution.
-
They should love to learn, both in upskilling their own knowledge, and sharing knowledge with other teams within Global.
-
The team deems this attitude more important than any previous technical experience, however the following things are a nice to have based on the sort of work you will be doing daily:
-
Interest / experience in designing highly concurrent distributed systems.
-
Experience with managing Java Threads, along with the use of specialised concurrent data structures, such as Ring Buffers.
-
An understanding of hardware, and how operating systems interact with it, with a focus on memory management models and CPU/disk caching.
-
Experience with Java 8/11/17 (we currently run-on Java 17).
-
Experience tuning and optimising Java byte code and JVMs.
-
Experience in low-level networking with both TCP and UDP.
-
Experience with monitoring and maintaining large production systems.
-
An eye for detail and the desire to make sure things are done right.
Everyone is welcome at Global
Just like our media and entertainment platforms are for everyone, so are our workplaces. We know that we can’t possibly serve our diverse audiences without first nurturing and celebrating it in our people and that’s why we work hard to create an inclusive culture for everyone. We believe that diversity will set us apart, so no matter what you look like, where you come from or what your favourite radio station is, we want to hear from you.
We will always seek to make appropriate adjustments to the recruitment process and workplace to be fully inclusive to people with different needs and working styles. If you require us to make any reasonable adjustments for you or to disclose a condition, please email [email protected]
Top Skills
What We Do
The UK and Europe’s largest Radio & Outdoor company, Global is home to respected, national market-leading media brands broadcasting across the UK on DAB & FM and around the world on Global Player, including Heart, Capital, LBC, Capital XTRA, Capital Dance, Classic FM, Smooth, Radio X and Gold.
Global Player allows listeners to enjoy all of Global’s radio brands, award-winning podcasts, and expertly curated playlists, in one place in app, on web and on smart speakers.
Global is also one of the leading Outdoor companies in both the UK & Europe, with over 253,000 sites reaching 95% of the UK population. Global’s extensive and diverse outdoor portfolio encompasses Transport for London’s Underground network, almost all major UK airports including Gatwick, the UK’s largest portfolio of roadside posters and premium digital screens in prime locations, as well as the UK’s largest network of buses including all major cities.
On-air, on Global Player and with our outdoor platforms combined, Global reaches 51 million individuals across the UK every week, including 26.3 million on the radio alone.