Software Engineer - Systems
Help design, build and operate the BBC's own Content Distribution Network (BIDI) that powers iPlayer. Expand BIDI's cloud based traffic orchestration system and drive the next levels of raw performance out of custom bare-metal hardware caches.
The OTG Media Distribution team works towards the high quality, cost effective distribution of audio and video over the Internet. This is essential for the continuing success of products from iPlayer to BBC News and Sport, and a key goal for the BBC's technology strategy.
We're looking for experienced software engineers to help us design and develop the BBC's CDN (Content Delivery Network), BIDI. BIDI incorporates both high performance caching web servers and the software services responsible for orchestrating those servers.
Join a motivated group of software engineers with a supportive engineering culture. We embrace open source technologies and are passionate about performance and reliability.
Click here to read more about our team.
- Developing and maintaining the BBC audio/video distribution infrastructure software services.
- Participating in the on-call rota for the software systems the team supports. This will be once every four to six weeks, depending on team size.
- Contributing to the design and architecture of the aforementioned systems.
- Employing software engineering and development best practices.
- Pairing with and mentoring other developers to share knowledge and practices.
The Ideal Candidate
- Industry experience writing software in Python and C, with proficiency in at least one of them.
- A strong understanding of the inbuilt tools available in a GNU/Linux environment and an ability to quickly chain them together in POSIX-conformant shell scripts to write utility daemons or to manually test systems.
- Excellent communication skills and a collaborative attitude.
The ideal candidate will also have at least 2 of the following:
- Demonstrable experience tuning Internet applications on Linux to improve concurrency or throughput.
- Experience with large scale load testing practices and tools (e.g. firing 10,000 requests per second at a software service for several hours and capturing a detailed set of metrics) to optimise systems and application performance.
- Experience debugging the Linux kernel in order to understand specific complex behaviours or uncover defects.
- Strong understanding of the Internet stack networking protocols and experience working with protocols such as BGP, TCP/IP, DNS.
- Experience with deployment and optimization of SSL/TLS in production.
- Experience writing Lua scripts to modify Nginx/OpenResty module behaviour.
- Experience with HTTP/2, QUIC, TLS 1.3.
- Experience transitioning to dual stack IPv4/IPv6.
- Experience with formal evaluation of hardware options and hardware selection (e.g. SSDs).
Permanent Full Time
Location: Broadcast Centre, London, W12
Grade: 7D (proposed band C)
About the Company
We don’t focus simply on what we do – we also care how we do it. Our values and the way we behave are important to us. Please make sure you’ve read about our values and behaviours in the document attached below. You’ll be asked questions relating to them as part of your application for this role.
The BBC is committed to building a culturally diverse workforce and therefore strongly encourages applications from underrepresented groups. We are committed to equality of opportunity and welcome applications from individuals, regardless of their background.
The BBC is currently implementing a Career Path Framework which will result in employees being aligned to generic job titles and job descriptions. Consequently, successful applicants may be realigned to a slightly different job title shortly after joining the BBC. This re-alignment will not affect the terms and conditions of the appointment.