What to expect from your interviews in the Technology team at FutureLearn

In this post, Nicky Thompson, one of our Technical Managers, talks about how we interview Software Engineers in the Technology team and offers some guidance for interview candidates.

Interviewing for a new job can be a scary prospect. Every company handles interviews differently and candidates often don’t know what to expect. How can we make it easier for potential candidates to prepare and understand what will be expected from them?

We’ve written about the way we interview in the Technology team at FutureLearn before, but over the years we’ve refined and changed that process, constantly reflecting and trying to improve that experience for candidates.

How can we make interviews less scary?

Interviews at FutureLearn are about more than us asking candidates questions. We believe it’s important for people to have the space and time to explore if they think our company is a good fit for them. We want to enable people to present themselves in their best possible light, which means doing whatever we can to reduce the anxiety and uncertainty involved in applying for a job here.

We run regular “how to interview” workshops and refreshers on our hiring practices for our hiring crew, so candidates can be confident their interview team will be prepared and ready to speak about the role and their experiences.

We first wrote guidance to send to candidates because we realise that not knowing what to expect when interviewing for a new job can be quite daunting. We’ve been sending out this interview guidance to candidates we’ve invited in for a while now, so we decided it was time to make it a blog post!

Introducing our guidance to interviews for candidates

So if you’re here because you’ve applied for a job with us, hello! We’ll be really excited to meet you when you come in, and I hope the information in this post helps you prepare.

We think it’s in our interest to be completely honest with you during all of these interviews, because we want to make sure people will be happy here in the long term. So during all of your interviews please feel free to ask us any questions you have about our company mission, values, business models, team organisation and collaboration, or anything that’s important to you about your workplace or team.

Our interview structure

After CVs & cover letters are anonymised and screened, we have a two stage interview process.

First, the ‘getting to know each other’ phone call

This will be a short (30–35m) chat with one of our Technical Managers.

This conversation has two purposes:

  1. So that we can find out more about you: we’ll ask for a few things you’re looking for in your next role, and your longer term goals, as well as what sort of teams, products and projects you enjoy working on, and your salary expectations.
  2. So that you can find out more about us: we’ll talk about the way we work, our team structure, the types of projects you’ll be working on, and you will have the chance to ask any questions you have.

We start by bringing these topics up first because above all we want you to be happy and productive while you’re here, hopefully for a long time! We care much more about the relationship we’re building, rather than immediately doing a technical screening. So this conversation isn’t scored against our hiring competencies, it’s just an informal chat.

This way we can set the expectations of the role and make sure you’re happy to go through to interview. We want to know what your long term goals are and the type of work you enjoy doing, so we can make sure our role is a good match for you. For example: our application stack is mostly Haml, Sass, JavaScript (vanilla & React) and Ruby on Rails, so if you really don’t like working in any of those languages, then we probably aren’t a great fit for you. That’s the sort of thing we’re aiming to find out in this conversation.

We ask about your salary expectations to save us both time — if there’s a big mismatch, it’s better to find this out earlier in the process. We realise this can be awkward to talk about, and it’s not a discussion about your current salary or your skills, or an offer/negotiation — just a confirmation that you’re happy with the salary range offered in the job ad so that we can be sure we’re not wasting your time.

If our goals, role and expectations match, we’ll ask you to send us a code exercise that you’ll discuss with our engineers during your technical interview. We give sample exercises for front-end (HTML, CSS, JS) and Ruby engineering (although you can write either of them in any language you like, the languages our software engineers are most familiar with are JS & Ruby).

We know your time is precious, so we ask that people aim to spend no more than a couple of hours on it — it doesn’t have to be completed! It’s just to provide a prompt for conversation in your technical interview.

The on-site interviews

We book onsite interviews for a single half-day. We’ll make onsite slots for interviews available to you in advance and will aim to let you pick a morning or afternoon start time to help you fit interviewing around your schedule.

Our interviews used to be for a full day (as you might have read in our previous post about interviewing developers) but we realised that was a huge investment of time for candidates, so we’ve worked to reduce it to a half-day. We still think it’s valuable to spend this time interviewing because we want you to be happy here long-term, so we’d like to give you the opportunity to speak to a variety of the people you’d be working with, and get a thorough look at how we work.

Technical interview (~1 hour)

In the technical interview, you’ll be talking to two of our engineers about your code exercise — the approach you took, the decisions you made doing it, and how you might continue work on it in future — as well as your technical skills and the experience you’ve gained from your previous roles.

We don’t do ‘whiteboarding’, we don’t ask ‘trivia’ questions, and we don’t expect you to write any code on the spot. You don’t need to prepare anything in advance, as our team will have a copy of your exercise. We’ll provide a laptop and a screen so you can talk through your work.

Pairing session (~1½ hours)

In the pairing session, you will be working alongside a FutureLearn engineer. Pairing involves two engineers working on something at the same time on the same computer. We use a simple web application that you’ll work on together with your pair, to add features that are similar to those we’ve previously built on our platform.

A FutureLearn engineer and designer pairing together

There’s no right or wrong — it’s not a test of writing the ‘correct’ code, or how fast you can work, or any in-depth knowledge of APIs. It’s a chance for you to talk with another engineer about some code and show us how you solve problems and work collaboratively. As importantly, it’s an opportunity for you to find out what we’re like to work with.

We’re interested in how you communicate about what you’re doing, so try to talk through what you’re thinking. Remember, it’s ok (in fact, it’s encouraged!) to ask for help or look things up if you need to. And feel free to take breaks as needed. We want this exercise to be as much like real life as possible.

Product interview (~1 hour)

This Q&A-style interview is an opportunity for you to meet some of the team you’ll be working with, usually a designer and a product manager. We’re interested in how you talk to people in a non-technical setting, particularly explaining technical subjects such as your prior projects to people who aren’t necessarily familiar with the jargon. We’ll also be interested to find out your approach to dealing with difficult situations like when development and design goals may point to different approaches to a project.

This is also a great chance for you to ask us about how we work and organise ourselves, the sorts of projects we’re doing right now, and what the company’s long term direction is.

What we’re looking for overall

We use a set of competencies to evaluate candidates throughout the interview process: communication, initiative, teamwork, curiosity and technical skill. You can read more about these in our blog post about our hiring framework. Ideally, you’ll be able to show us that:

  • You can explain your ideas clearly, concisely and respectfully to developers and other colleagues.
  • You’re comfortable seeking clarification and assistance when needed.
  • You are interested in learning new skills and capable of sharing your own knowledge with others.
  • You’re familiar with web development, and interested in learning the technologies that make up our platform.

We hope that by sharing the way we interview here at FutureLearn, you will be more confident, prepared and ready to interview with us. As mentioned in the intro, we’re constantly reflecting and trying to improve the hiring experience for candidates. If you have any comments or feedback, we’d love to learn how we could improve and do things differently. If you’re interested in applying, check out our current job openings.

Credits

As well as our current and previous staff at FutureLearn who’ve helped with this, we’d like to thank the following people for their posts and talks on this topic which have all helped shape and influence the way we work. Thank you!

The Bytemark careers site, which takes transparency to a new level!

Alice Bartlett’s list of hiring resources.

Najaf Ali from Happy Bear Software speaking about their hiring processes at LRUG.