Senior 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.
- Lead the design and development of effective software that meets complex product and business needs
- Review and give constructive feedback on others’ code
- Drive work to successful completion across the immediate team
- Write appropriate tests using automated test driven techniques for ensuring code quality and coverage
- Integrate the software with monitoring and support tools
- Ensure the teams software works in its operating environment
- Write, review and take responsibility for technical documentation
- Lead troubleshooting and resolution of issues throughout the product life cycle, including out of hours support for incident resolution
- Participate in and lead as required, the team's agile planning and delivery process
- Effectively participate in and help improve the teams software development methodologies, such as pairing, code and documentation reviewing and continuous delivery
- Work with project, product and technical leads to design software and create implementable specifications and tasks at feature and component level
- Work with 3rd Party ("Indies") where necessary offering direction, support and documentation
- Mentor and coach more junior staff. Provide technical leadership and direction to peers and colleagues. Line Management of 1-2 software engineers (if appropriate)
- Learn new technologies and keep abreast of existing technologies and help introduce them where appropriate
The Ideal Candidate
- Industry experience architecting and developing high throughput or high concurrency Internet facing applications from inception to production.
- Industry experience writing software in: (i) Python, (ii) POSIX shell scripting, (iii) C, with proficiency in at least two of them.
- Experience writing applications that are HTTP specification compliant.
- Demonstrable experience tuning Internet applications on Linux to improve concurrency and throughput.
- Excellent communication skills and a collaborative attitude.
The ideal candidate will also have at least 3 of the following:
- Experience with deployment and optimization of SSL/TLS in production.
- Experience debugging the Linux kernel in order to understand specific complex behaviours or uncover defects.
- 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.
- Strong understanding of the Internet stack networking protocols and experience working with protocols such as BGP, TCP/IP, DNS.
- 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 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: 8 (proposed band D)
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.