Perl Software Engineers (Various Levels)
- Job Ref. No
- London - Broadcast Centre Media Village
- Contract Type
- Contract Duration
- Job Category:
- New Media & Technology
- Closing date for applications
- 13 June 2011 at 11:59pm
BBC Future Media is looking for experienced, professional and enthusiastic Perl Developers to join a world-class team responsible for delivering services to a suite of major BBC online products, including BBC iPlayer and the BBC homepage.
We are recruiting for various levels of Perl Software Engineers and the information on this page is a generic overview. For more detailed information on the specific requirements of each level, please download the full job description at the foot of this page and then indicate which level(s) you would be most interested in applying for when prompted during your application.
Publishing Services is our team dedicated to the ingest and serving of public-facing BBC and non-BBC programme and user metadata. We are part of the Core Services team which is the core engineering team in our Programmes and On Demand (POD) department which is in turn part of the wider BBC Future Media (FM) division. Core Services provides shared software/hardware services built to power BBC Onlines programme based propositions across a range of platforms from web to mobile and IPTV. These services include programme metadata APIs, rights and metadata management tools, as well as audio and video transcoding.
The roles require an excellent knowledge of Perl, web frameworks (Catalyst, Mason, TT) RESTful web services, security, caching, architecting for performance, mysql and web standards, along with proven experience of working in a mixed discipline team on large scale web application projects.
The roles also involve the possibility of cross-training into Java, and candidates should be prepared to move into Java development when appropriate.
To write robust, scalable, high-performance, world-class code using object oriented Perl, Apache, mysql, memcached and other server side technologies to create dynamic web applications with multiple data serialisations
To write reusable code libraries as well as application specific object-oriented software
To write unit and functional tests within automated test environments to ensure code quality
To write concise yet comprehensive technical documentation - for APIs and other interfaces
To work with web service developers, system administrators, information architects, client side developers and QA to develop fast and dynamic web applications.
To work with all relevant parties on the deployment of applications to the live site and all intermediate hosting environments.
To be responsible for work quality, ensuring it meets the technical standards for all BBC online output.
To monitor work against the production schedule closely and provide progress updates and report any issues or technical difficulties to the senior developers on a regular basis.
To work to the BBCs policy on Health and Safety
Essential Knowledge and Experience
Demonstrable competence in one or more established web frameworks (eg Catalyst, Mason, TT, Zope, Django, Spring)
Strong familiarity with Apache API, mysql and a modern Perl ORM
Proven experience working on a large mission critical code base, maintaining a regular release cycle, while ensuring the overall performance and stability of the product.
Strong SQL database experience and sound understanding of data normalization, database design, query tuning and transaction management.
Ability to work in an unstructured, fast changing environment with rapid release cycles
Proven experience of project working and commercial web development processes - particularly Agile methodologies
Experience of working in an environment where products have to be delivered to specific time-scales
An ability to rapidly and effectively understand and translate product and business requirements into technical solutions
Experience of supporting, modifying and maintaining systems and code developed by teams other than your own
Experience of software quality practice - eg TDD, continuous integration, version control automation, software metrics
Desirable Knowledge and Experience
Experience working on high volume, highly available, horizontally scalable architectures
Amazon simpleDB, CouchDB, MapReduce or any experience with Object DBs