Software Engineer - DevOps

Recruiter
BBC
Location
London
Salary
Competitive
Posted
06 Sep 2017
Expires
04 Oct 2017
Contract Type
Permanent
Job Introduction
OTG engineering teams work across diverse domains and a variety of technologies. The common threads that unite these teams are the challenges of large scale software engineering.

CLOUD

The Cloud team provides fundamental technology solutions around the automation and orchestration of continuous delivery pipelines targeting public cloud infrastructure.

MEDIA DISTRIBUTION

The Media Distribution team develops the software for geographically distributed caching servers that deal with the high throughput, high concurrency and low latency requirements of delivering BBC content to the audiences. If you've used iPlayer, there's a high likelihood that what you watched came from the in-house CDN that this team has developed.

MEDIA ANALYTICS

The Media Analytics team handles the challenge of ingesting the terabytes of data per day generated by the consumption of this content with the aim of providing both near realtime and longer term analysis and insights to help shape decision making.

ON-PREMISES PLATFORM

The On-premises Platform team provides high traffic, high availability services used by other BBC teams including geolocation and digital certificate provisioning.

As we work on the fundamental software components that other teams use... and downstream the foundational components that the entire UK-wide audience depends upon, our challenges are around performance and reliability: low latency, high throughput, high concurrency and high availability. If you'd like to find out more, have a look at the talks we've given and blog posts we've written, below. If these are the types of challenges you would like to tackle, have a look at the current vacancies, below.

PURPOSE OF THE ROLE

BBC Digital is the division responsible for all of the BBC's digital media services and provides innovative leadership in the fields of digital media, technology and media management.

BBC Digital's Online Technology Group (OTG) is responsible for the operational management of all BBC Online Services, devices and networks across multiple on-premise and public cloud infrastructures, attaining and maintaining an uptime of 99.99%.

Monitoring Team is responsible for the monitoring solution that enables end to end monitoring of all BBC Online platforms, networks, systems, applications and services and provides timely notifications of incidents via an operational dashboard to enable BBC's 24x7 team to react within sufficient time to failures.

The primary focus of this role is implementing a modern monitoring & data visualisation service for BBC Online systems. Working in collaboration with stakeholders on the project and other team members, you will develop and integrate software solutions that balance user needs with business goals and technological capabilities. Part of this role will involve rapidly iterating on proof of concepts as well as mainline implementation.

The monitoring solution will include collection and aggregation of system and application health metrics across multiple infrastructures, threshold management, timely notification of incidents, as well as taking automatic preventative action where possible together with visualization of monitoring and performance data with the aim of providing a service impact dashboard for BBC Online services. The solution should also deliver best-of-breed data reporting to the business.

The Software Engineer will work with the Lead Engineer and be part of a delivery team closely working with OTG Technical Architects, Operations, Platform Engineering, the Monitoring team & other stakeholders across the BBC, and will be responsible for interpreting and implementing software requirements across Web, Mobile and TV Platforms.

The ideal candidates will be passionate about writing high quality software, have a history of contributing code in one or more language and be across testing methodology (BDD/TDD).

Role Responsibility
  • To be responsible for the delivery of assigned projects on the Monitoring Roadmap.
  • To have junior technical authority within the Monitoring group and within the wider BBC.
  • To maintain and improve the standards within the Monitoring group and to evangelise good practice.
  • To keep abreast of technical developments of operational importance to BBC Digital and to participate in developing or setting standards as directed.
  • To assist with improving the standard of technical delivery and competencies within the technical teams
  • To work with the technical teams, product owners and 3rd party supplier to ensure that technical solutions are aligned with the BBC Digital technical strategy.
  • To provide technical consultancy and advice to the technical and management teams as required.
The Ideal Candidate
  • Experience working as a systems architect/ software engineer /systems engineer / DevOps
  • Technical knowledge and competence of large-scale, modern web service technologies / frameworks - frameworks including implementing best practice - especially around scalability, availability and performance. To include at least two of: Load Balancer, SSL, Caching (e.g. Mecached, Varnish), Queues (e.g. RabbitMQ, IPMQ), RelStorage
  • Fluent in at least one modern programming languages (Python, Ruby, PHP, Java) and experience in implementing software end to end using a range of tools and languages -MySql, HTML, CSS, Javascript, Zend, Apache programming, Object Oriented Design, OO.
  • Demonstrable experience with at least two feeds, web services, APIs and service integration mechanisms (e.g. HTTP, REST, JSON/XML, SOAP) and two system development tools (e.g. shell scripting, software packaging, Puppet)
  • Hands on experience with a range of Operating Systems - a minimum of two from: RHEL, CentOS, Ubuntu, Solaris, Windows
  • Demonstrable knowledge and hands-on operational and developmental experience of at least one existing / emerging platform and application monitoring and visualisation solution with operational dashboards. This includes both open source, commercial and bespoke solutions e.g. Boundary, Zenoss, Nagios, Zabbix, HP, BMC, Tivoli, Netview, Netflow, Splunk, Graphite, Carbon. Able to harness their potential to enhance the performance and robustness of BBC's 24*7 incident management team as well as BBC's internet infrastructure
  • Experience managing service performance monitoring on one or more platforms (web, mobile, TV enabled devices) with setup of key performance indicator checks, alerting systems and analysing data (machine and other, statistical analysis) utilising at least two of: SNMP, DNS, MRTG, RRD, Time series data, Zope, Logstash, Lumberjack, Flume, statsd, collectd
  • Track record of developing architectural or mission critical software to an agreed plan and delivering on that plan.
  • Experience of working collaboratively with multidisciplinary teams with a focus on delivery in a rapidly changing environment.
  • Be able to draw upon first hand-on experience with operational practice to improve or refine designs and architectures.
  • Knowledge of software engineering methodologies as well as experience of using SCM tools such as source control (e.g. Git, SVN), issue tracking (e.g. JIRA, Bugzilla), Wikis (e.g. Confluence), automated build systems, TDD, continuous integration, continuous delivery, software metrics
DESIRED KNOWLEDGE & EXPERIENCE
  • Experience of Spring and Hibernate
  • Specific knowledge of Subversion, Jira, Confluence, Maven and Hudson
  • Previous experience utilising third party commercial end user experience monitoring tools e.g. Gomez, Keynote is an advantage.
  • Demonstrable experience of developing on cloud based environments
  • Demonstrable experience of contributing to open-source projects
  • Streaming Monitoring
Package Description
  • Excellent career progression: The BBC offers great opportunities for ambitious staff to seek new challenges and work on many different and varied products.
  • Unrivalled training and development opportunities: Our in-house Academy hosts a wide range of internal and external courses and certification.
  • A vibrant digital community: We have a strong focus on continuous improvement and engineering excellence. We host regular talks from internal and external speakers, and provide generous opportunities to attend industry events and conferences.
  • A variety of technical challenges: We work across a wide range of platforms, languages and technologies; from the latest frameworks and open standards, to the newest devices and modern cloud platforms.
  • Benefits: We offer a competitive salary package, a flexible 35-hour working week for work-life balance and 26 days holiday with the option to buy an extra 5 days, a defined pension scheme and discounted dental, health care, gym and much more.
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.
..... click apply for full job details