Software Engineer – BBC – London

Job Introduction
The BBC has been serving audiences online for more than 20 years. Across key products including BBC iPlayer, BBC News and BBC Sport, BBC Weather, bbc.co.uk and now BBC Sounds, we entertain, educate and inform people in their millions, every day.
Behind the scenes, however, we have work to do. We are making the shift from being a broadcaster that speaks to audiences to building products that are shaped around people. We are creating personalised services that bring the right content, to the right people, at the right times – a personalised BBC. It will be our greatest leap since iPlayer, and it is right at the top of our agenda.
Delivering it is going to require a fundamental reshaping of the BBC’s culture and how we work. For the new Curation, Authoring and Metadata group in our Digital Publishing team, that means a ground-up rethink of the tools, workflows and technologies involved in creating, describing and curating all of our content — journalism, audio, video and digital alike.
This means asking ourselves some big questions: What does online journalism look like as we leave the print world behind? How we do put tagging at the heart of a personalised BBC? The News and Sport front pages are seen by millions of people and are built by our tools: what are the best ways of curating the stories on them? What does structured content look like at scale, with a workflow that serves thousands of journalists around the world publishing in more than 40 languages?
We’re thinking about technology and culture too. Questions like: Instead of large unwieldy production tools can we build smarter and faster web-based apps out of React components and power them with GraphQL? How can we bring data science and machine learning to bear on content classification and publication workflows? And what are the ways of working that will allow a team of software engineers to design, build and support this at the scale of the BBC?
We’re figuring out the answers to these questions and more like them, and we’re starting right now. Come join us.

Role Responsibility
We are looking for an enthusiastic software engineer. As a full-stack developer in our team your responsibilities will be:
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 using code reviews 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 usability, reliability, scalability and performance.
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 technical standards and guidelines
Monitor work against the schedule and provide progress updates to senior colleagues on a regular basis.
Learn new and keep abreast of existing technologies and be able to apply these to a variety of projects as applicable.
Assist junior or graduate developers by providing guidance, instruction and expertise where required
Are you the right candidate?

Essential
Competence in JavaScript technologies, in particular, React, Node, HTML, CSS
Demonstrable experience writing and maintaining robust enterprise software in a fast-changing environment with rapid release cycles
Demonstrable experience building mobile-first responsive applications with JavaScript, including ES6
Competence in TDD, BDD and broader testing and code quality concerns, including the use of common testing frameworks
Experience deploying production code in a Continuous Integration environment and an understanding of build, workflow and automation tools
Experience of project working and professional software development processes, including agile and pair programming

Desirable
Solid understanding of object-orientated programming techniques and use of design patterns
Experience writing REST web services
Familiarity with both relational and NoSQL databases (we use MongoDB, Redis, PostgreSQL)
Familiarity with Linux, CentOS or UNIX operating systems

Package Description
Band: C
Contract type: Permanent
Location: London
We’re happy to discuss flexible working. Please indicate your choice under the flexible working question in the application. There is no obligation to raise this at the application stage but if you wish to do so, you are welcome to. Flexible working will be part of the discussion at offer stage.

Excellent career progression – the BBC offers great opportunities for employees to seek new challenges and work in different areas of the organisation.
Unrivalled training and development opportunities – our in-house Academy hosts a wide range of internal and external courses and certification.
Benefits- We offer a competitive salary package, a flexible 35-hour working week for work-life balance and 26 days (1 of which is a corporation day) with the option to buy an extra 5 days, a defined pension scheme and discounted dental, health care, gym and much more.

Package Description
Band: D
Contract type: Fixed Term/Attachment/Freelance
Location: Glasgow
Hybrid working – combination of home and office (at least 2/3 days per week in the Glasgow Pacific Quay office or as required).
We are really proud to share that we are a Level 2 Disability Confident Employer and so if you require any reasonable adjustments in order to apply please do contact us on resourcing@bbc.co.uk with ref: BBC/TP/62154/61202 n the subject.
Excellent career progression – the BBC offers great opportunities for employees to seek new challenges and work in different areas of the organisation.
Unrivalled training and development opportunities – our in-house Academy hosts a wide range of internal and external courses and certification.

Related Job Ads: