Welcome to the next chapter of my blog series on our journey within Software Engineering. I will continue with the Building the Team’ theme, starting with recruitment.

Over the last 2 years, our Rentalcars.com Engineering team has more than doubled in size. Building an Engineering function with over 200 Engineers required not only a clear career path for the team, but also a recruitment programme that worked at scale.

There are a few mantras we have for recruitment:

  1. At least 5 people interview every candidate.
  2. Our screening programme starts with a telephone interview. The next stage involves 2 face-to-face interviews: the first a Competency and Evidence based interview, and the second a technical exercise.
  3. Anyone can say no.
  4. A ‘no’ in soft skills trumps a ‘no’ in technical skills. In other words, teamwork and communication are more important to us than knowing all the answers to tech.
  5. We will stop the recruitment process at any stage rather than dragging the candidate unnecessarily through stages.
  6. We aim to give the candidates a great interview experience. We use feedback from our candidates, our team and Glassdoor to iterate on our interview process.

We found that even though we had a reasonably scalable approach, we needed to introduce a more practical element. With that in mind in 2017, we iterated to introduce the technical exercise as a pair programming test. This test measures the candidates’ problem-solving skills and also gives us a good understanding of how they would collaborate with others.
We will continue to iterate on our interview approach this year, introducing more practical exercises.

Graduate programme
In 2015, we launched our first iteration of our Graduate programme, taking on a few graduates. The core foundations of our Graduate programme are:

  • Each graduate spends 6 months with a team
  • All graduates start at Engineer Level 2
  • Regular pay reviews to reward growth in role

In the 2016 iteration of the Graduate programme, we introduced:

  • A mentor who will support the graduate – ideally throughout the programme, but for at least 1 year
  • A buddy who pairs up with the graduate within their team
  • An induction boot camp, in the first month of which the graduates work together as a team to deliver something that can be used. On the way through the boot camp, they learn the basics of Agile, developer practices and collaboration.
    In 2017, we continued to build on our boot camp induction and took on more than twice as many graduates.
    The next iteration of the Graduate programme will build on everything we have learnt so far and also bring in a lot more graduates.

Apprenticeship Programme
In 2016, we launched the Apprenticeship programme in collaboration with Manchester Digital. Each apprentice joins at Software Engineer Level 1 and builds up their skills, developing into an Engineer Level 2. Apprentices do not rotate between teams but have the same components as people in the 2016 Graduate programme: a mentor, a buddy and induction boot camp.
In addition to the induction boot camp, we also run additional day or multi-day boot camps throughout the 2 years to develop the apprentices’ skills in Software Engineering. As a result, the apprentices get a concrete qualification at the end of the programme.
We took on some further apprentices in 2017. Looking ahead, we will continue to iterate on the programme.

Knowledge Sharing
During the early iterations of building up the teams, we introduced the concept of lightning talks, brown bag lunches and code dojos. All of these were forums to get people together to collaborate and share their experiences.

Rentalcars.com have now adopted Workplace (Facebook for Work). We are using it to form groups, creating communities with specific interests, who get together to share knowledge and experiences.

In March 2016, we introduced hackathons. The first iteration was a half day, but the latest iteration involves full-day hackathons where cross-functional teams work together on a challenge that is either:

  • Exploring a new idea or enhancement for a product or system for Rentalcars.com, or
  • Exploring a way to improve our processes by using new tooling or techniques, or
  • Prototyping and exploring a new technology that could be used in Rentalcars.com

We are now running hackathons every quarter and will continue to iterate on these to make them more available and accessible, so all our Product teams can take part.

Working with External Community
We are continually looking to raise our profile in the community through hosting events, talking at events, sponsoring and contributing to the community. Examples include the Tester Gatherings, Lean Agile Manchester, Java and AWS meet-ups.

That’s it for this chapter in my blog series. In my next post, I will continue with the Building the Team theme and will focus on building out the Software Engineering strategy.

Thanks for reading.