Last year we served 1bn videos across 20 platforms and we’re expanding, year on year video delivery is increasing by 40% and the number of platforms we’re on is ever expanding as well, we have our eyes on Amazon Fire TV, XBox1, PS4, Chromecast to name a few.

Our deployment frequency is going from months to days, and we’re building new platforms to get it down to hours. All of this is being delivered by cross-functional teams that are encouraged to be autonomous and self organising. We use agile techniques and methods centred around Kanban, and our Agile Delivery Manager talks more about these in this talk at Lean Kanban UK.

Our Tech Stack

Our main technology stack includes the following. Don’t worry if you’re not familiar with all of these - we will give you time and support in getting up to speed, and access to experts when you get stuck.

  • Scala and the odd Java class
  • Akka and Scalaz (see one of our engineers give an introduction to some of the aspects of Scalaz we use in his talk at Scala eXchange)
  • Git and GitHub
  • Vagrant, Jenkins and Puppet
  • RabbitMQ for messaging
  • Elasticsearch
  • AWS (see our Technology Controller discuss our move to AWS as part of the Keynote at the AWS Summit)

Each developer gets a MacBook Pro or Air.

Commercial experience of Scala is preferred, and we are looking for someone who takes a typed functional approach to their code, particularly using higher kinded types such as monads and monad transformers. Good knowledge of another language with higher kinded types would also be acceptable, as long as you will be happy using Scala.

We promote a DevOps culture so you will need to look beyond pure programming and get involved with the deployment and operation of the software we build.

You should be comfortable with pair programming, including with people from different disciplines such as Developers in Test and Platform Engineers. You will need to work well with non-technical team members and be able to focus on what needs to be built, and understand why.

What we can offer

We offer a competitive salary and 5 weeks’ holiday on top of public holidays, plus the option to buy more. Other benefits include annual bonus plan, life assurance cover, and interest-free season-ticket loans, an opportunity to buy ITV shares, and the chance to join pension, health insurance, childcare vouchers and cycle to work schemes.

We continually invest in our staff, and we offer a range of training and development including in-house and external courses, and attendance at conferences and events.

ITV are committed to equality in the workplace. That’s why, whatever your age, gender, disability status, sexual orientation, religion, ethnicity or family circumstances, we make it our business to make sure you’re treated with fairness and respect. We’re dedicated to offering flexible working that supports all of our colleagues, and when it comes to recruiting and retaining employees with a disability, we’ve been officially recognised for our efforts. See our jobs site for more about working at ITV.

Our recruitment process for Online

  • Once we’ve seen your CV and want to proceed, there will be: an initial phone conversation with one of our senior engineers. They will give you more details about the role and the interview process, and talk to you about your skills and experience at a high level to understand how you cover the requirements above. This is normally less than ½ hour.

  • a review of your code which must be Scala, or other statically-typed functional language by prior agreement. This can be a suitable open source project if it is mainly your work and you are confident it is representative of your skills. Alternatively, this can be a short coding test either performed in our office or remotely. This will be fulfilling a simple brief very similar to a Kata. You complete this in your own time and if done remotely we are happy to provide support over email or instant messaging (you may have to wait until office hours for a response though). This typically takes anywhere from ½ hour to a couple of hours.
  • Interview on Scala and development practices. This will be followed by a pairing exercise with 2 people from the team you will be working with, where you will be asked to discuss and extend the solution you provided for the remote coding test. The time taken for this varies, from around ½ hour to 1 ½ hours. Finally you’ll get a chance to meet more people from the team and to ask any questions you have. We’d recommend allowing 3 hours for the whole session.

Want to advertise?

Submit a listing

We'll handle the rest.

Looking for a Scala job?

Join our newsletter

Receive new jobs in your email.