Senior Software Engineer (Online Production Systems - Backend Java) Platform
This is an exciting time to join the BBC as we expand out language service offering within News, globally.
We have an opportunity for an enthusiastic Senior Software Engineer to join our Content Production Team based in White City.
Within BBC Digital, the Content Production System team (CPS) is responsible for designing, building and maintaining the services that publish content across the BBC News, BBC Sport and BBC World Service websites, as well as the front-end editorial tools used by journalists to create, edit and curate this content.
The services are written in a variety of technologies and deployed across several architectures, both internal to the BBC and in the Cloud. We publish about 70,000 items each day through our systems into relational and noSQL databases. This content is made available through RESTful APIs to other teams across the BBC, as well as to external partners. We service over 2 million requests for content a day (about 2,500 requests per second at peak times), ultimately serving content to a global audience of over 340 million users around the world.
Although we work on mission-critical BBC systems the working environment is casual and relaxed, with plenty of scope to work on a variety of projects across the team. We also have a fortnightly “10% Day” when developers are free to work on their own ideas and prototypes.
The vast majority of content written for the BBC’s News, Sport and World Service sites is published using CPS systems. Your role in the team will put you at the heart of designing and developing these tools and services.
The main responsibilities of this role are as follows -
- Design and implement content management components and services to specification that are efficient, scalable and well abstracted, using a variety of server-side technologies
- Ensure quality of code by implementing unit, integration and acceptance tests, as well by code review and pair-programming
- Write clear, concise and comprehensive technical documentation
- Liaise with other teams to explore and suggest appropriate technical solutions to achieve the required product features while safeguarding reliability, scalability and performance
- Work with all relevant parties on the deployment to the live site and all intermediate hosting environments
- Ensure software conforms to operational requirements of hosting environments
- Work with test and operations teams to troubleshoot and resolve issues throughout the life cycle
- Ensure your work meets BBC Online’s technical standards and guidelines
The Ideal Candidate
To be successful in this role you will need experience in the following -
- Several years experience developing in Java for production systems
- Solid understanding of object-orientated programming techniques and use of design patterns
- Experience writing RESTful web services
- Experience of web frameworks (ideally one or more of Scalatra, Spray, Grails and JAX-RS)
- Knowledge of relational and/or NoSQL databases (we use MongoDB, Redis, MarkLogic and Oracle)
- Familiarity with Linux or UNIX operating systems (most CPS components are deployed onto Linux but you can choose your own development OS)
- A willingness and desire to learn about and receive training in new technologies as required
Grade - 8
Location - London
Contract - Continuing