Job Advert

Senior Software Engineer (Ruby)

Job Ref. No
864145
Location
London - Media Centre
Contract Type
Attachment/Fixed Term
Contract Duration
12 months
Job Category:
New Media & Technology
Closing date for applications
9 September 2012 at 11:59pm

Department

As a Senior Software Engineer (Ruby) with a proven track record of designing complex, maintainable and well-documented applications coupled with significant experience of leading teams of software engineers in an agile environment, you will be in your element in our Internet Research and Future Services group, part of our world-class BBC Research & Development (R&D) department.

MoreClick here to expand this section

The Internet Research and Future Services builds prototypes, develops original research and solves problems. We work across most digital platforms and all BBC services by combining emerging technologies with anticipated user needs to develop applied research. We believe that the best way to think about ideas and problems is to create things and develop concrete examples - we do this to learn, influence and shape.

Our work has a particular focus on the internet and on user experiences. Right now, for instance, we’re particularly interested in discovery of content within large collections, personalisation and identity on the web, innovative user interfaces and reminders/bookmarks on connected TVs and radios, but new challenges are always emerging.

We always have an exciting and diverse set of projects on the go and you can read more about our work on the BBC R&D blog (http://www.bbc.co.uk/blogs/researchanddevelopment/)

Role

Internet Research and Future Services is a multi-disciplinary team within R&D department. As the leader of a small team of software engineers you will manage the technical development of a variety of different projects. As an example you would be responsible for the technical design and development of both client-facing and backend features that enhance and extend the BBC Snippets project which enables search within a large archive of BBC content. 

MoreClick here to expand this section

You will be expected to:
• Lead and line manage a small team of software engineers, provide mentoring and assistance as required
• Design, develop, test, release and document complex systems using agile software development best practices to ensure timely service delivery and ease of maintenance
• Work with colleagues and institutions across the BBC and outside to develop new features and functionality
• Translate requirements into clear, achievable technical goals
• Provide time and resource estimates to assist in the planning of projects
• Provide technical advice to the editorial and design teams on new application concepts and to help establish their feasibility
• Write maintainable, reliable and well-documented code
• Collaborate effectively with R&D colleagues to exploit new technologies and enhance applications and service infrastructure
• Understand existing systems and how to enhance them with new features
• Keep abreast of and contribute to developments in software engineering, machine learning, free/open source software and related technologies
• Develop tools and methodologies to improve the effectiveness of the development process 

Requirements

Essential

• Proven track record of designing and building from start to finish complex, maintainable and well-documented applications using a combination of web frontends, service-oriented architecture and background processing over short time scales
• Excellent command of, and passion for, the Ruby programming language and expertise and experience in at least one other major programming language
• Proven track record of establishing and developing best practices in a production setting, in particular the use of source control, well-defined deployment practices, testing, quality assurance, issue management, monitoring and capacity planning
• Significant experience of software engineering in an agile environment (demonstrated by examples)
• Enthusiastic supporter and user of open source technologies
• Proven track record of successful technical project leadership, line management and mentoring

Desirable

• Experience with GNU/Linux systems administration, C/C++, Redis, Resque, FFmpeg, Scala, Ruby on Rails, Sinatra, message queue architectures and git
• Knowledge of speech recognition techniques and audio analysis
• Experience of television and radio technologies
• Experience of contributing to open source projects
• Expertise in transcoding and streaming audio/video
• Experience of machine learning theory and the development of working production systems that use these techniques.
• Knowledge of open-source search platforms

Additional Information

• This role is a salaried PAYE (not a day rate contract) fixed term contract role.
• Please upload your CV as well as providing any links to any open-source projects that you have worked on.
• Please also address in detail the requirements of the role by writing a comprehensive answer to the application question on our careers site. Your application will not be considered without a detailed and tailored answer.

MoreClick here to expand this section

bbc.co.uk navigation