Overview

Do you want to be at the heart of delivering one of the United Kingdom’s leading apps?

As one of the UK’s favourite brands, BBC iPlayer has over 37 million mobile app installations giving you the opportunity to make a real impact. How will you take it to the next level?

THE ROLE

We are looking for a superb engineer who is excited by, and keen to pursue a career working with mobile applications.

You have a passion for mobile platforms, care about quality code, love collaboration, and are a confident communicator.

As part of an agile team, you will use a Test-Driven Development and Behaviour-Driven Development approach for continuous delivery of features in an iterative manner.

To be successful in this role you will have a good foundation in Object-Oriented Programming and the application of design patterns. You will have had exposure to mobile development and have experience developing for mobile platforms.

WHAT WE OFFER IN RETURN

We offer a competitive salary, a 35-hour working week, 25 days holiday, bank holidays, and Corporation Day. A great benefits package including attractive pension, cycle to work scheme, childcare vouchers, and many others.

You will get to work in an exciting and amazing location, in modern offices, amongst a vibrant local media and digital community.

Role Responsibility
The key responsibilities of the Software Engineer will include:

  • Develop, test, release and document applications using best software engineering practices and follow the standards, guidelines and patterns for developing software in your area,
  • Work with your team to ensure the appropriate technical solution is created and that your code is performant, resilient and scalable
    Build quality into the engineering processes through automated testing and test driven development.
  • Identify potential areas of technical risk and suggest mitigating actions.
  • Provide time and effort estimates to assist in the planning of projects.
  • Collaborate effectively with pan BBC teams to help drive shared common components.
  • Technically advise product and UX stakeholders.
  • Be a role model for our organisational goal of Continuous Delivery by living relevant software engineering best practices and incrementally delivering working software

The Ideal Candidate
Key skills, experience and qualifications:

Essential

  • Demonstrable experience developing for iOS (Objective-C) or Android (Java)
  • Software engineering experience with good understanding of application architecture, OOP, design patterns
  • Test Driven Development experience (XUnit frameworks such as JUnit)
  • Experience of source control systems such as SVN, Git
  • Internet protocols and technologies (such as HTTP, REST, JSON, XML)
  • Experience working within an Agile team

Desirable

  • Behaviour Driven Development experience (automated test technology such as Robotium and Calabash)
  • Experience of continuous integration environments (such as Hudson / Jenkins / Go / TeamCity)
  • Web services integration (REST, JSON) in a mobile environment
  • Experience of pair programming
  • Experience of other native mobile development platforms e.g. iOS, Windows Mobile
  • Experience of media streaming protocols, media container formats, audio and video codecs, and Digital Rights Management technologies
  • Ability to rapidly acquire new software skills and to work with new technologies

Tagged as: Agile, android (java), iOS, junit