Software Engineer (Ruby)
- Job Ref. No
- London - Henry Wood House
- Contract Type
- Attachment/Fixed Term
- Contract Duration
- 12 months
- Job Category:
- New Media & Technology
- Closing date for applications
- 19 June 2012 at 11:59pm
If you are a Ruby Software Engineer with a specialism in machine learning that is an enthusiastic supporter and user of open source technologies coupled with experience of working in an agile environment, you will be in your element in our Internet Research and Future Services group.
The Internet Research and Future Services group is part of our BBC Research & Development (R&D) department, part of the wider BBC Future Media (FM) division, and 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, were 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/rd)
You will be expected to:
Develop software applications working with colleagues in engineering and other disciplines
Develop complex systems using Ruby and other technologies where appropriate
Write maintainable, reliable and well-documented code
Develop and/or implement new machine-learning based approaches with a particular emphasis on content retrieval and indexing.
Collaborate effectively with R&D colleagues to develop and exploit new technologies.
Understand existing systems and how to enhance them with new features.
To keep abreast of and contribute to developments in software engineering, machine learning, open source and related technologies.
Knowledge, experience and skills
Proven track record of developing complex, maintainable and well-documented Ruby applications.
Excellent command of, and passion for, the Ruby programming language.
Experience of machine learning theory and the development of working production systems that use these techniques.
Enthusiastic supporter and user of open source technologies.
Experience of working in an agile environment.
Experience of working with Source Code Management systems, in particular Git.
A love of programming, learning new technologies, experimentation and a desire to keep your knowledge up-to-date.
Experience with GNU/Linux systems administration, C/C++, Redis, Resque, FFmpeg, Scala, Ruby on Rails, Sinatra, message queue architectures.
Knowledge of speech recognition techniques, audio analysis and classifier systems.
Experience of television and radio technologies.
Experience of contributing to open source projects.
This role is a salaried (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.