Here's how we did it at Progression. It starts with the screening stage. Make it a chat a between two humans rather than the first round interview between a candidate and hiring manager.
Tell them about the team, the vision the upcoming work. Ask them to tell you about themselves, what they did in their last role and what they're looking for in their next role. In my experience this is enough to know if they would be broadly a good fit for your team.
So far so good.
But the technical interview is where things can get anxiety inducing. Here are some things we don't do in ours:
😅 Whiteboard coding
😅 Fizzbuzz / algorithm challenges
😅 Pair programming
😅 Ask questions from a ComSci textbook
Here is what we do in our technical interview:
🙂 Ask about a time when they solved a complex problem that they are particularly proud of
😃 Talk through security and scale
😄 Work through a case study i.e how would they build feature X? How would they account for constraint y?
Why is this important to us though?
We're building a product that defines what good looks like for millions of people so it's massively important that our team reflects the diversity of our users.
💌 Oh, we also email all the questions in advance so candidates don't have to worry about getting stumped. In fact we try to over-communicate through the whole process so the person applying knows exactly where they stand at all times.
🥸 But how do you spot those that talk-the-talk vs walk-the-walk?
Firstly, if the technical interview is done well, you can go deep into the details, ideally until you get to a "not sure about that, I'd need to check". It's hard to consistently fake at that level of detail. Secondly, we find a way to look at code, any of these will do:
🔗 Open source contribs
🔗 A public repo
🔗 A peronsal project
🔗 A previous take home challenge
None of the above? No problem, we'll set a short (2 - 4 hr) take home challenge that fits with your schedule.
⏳ If you get to this stage with us, you will have invested significant time and we genuinely appreciate it. If we don't proceed we'll do our best to provide actionable feedback and introduce you to companies that might be a better fit for you (Circular is great for this).
👬👭 The final stage is a "team fit" interview. We don't want to create mono-culture, so we don't think of it as a "cultural fit" interview. We do a 1hr chat with Jonny and another team member. We talk about past experiences, future plans, values and what motivates us.
We're not looking for more people like us. We're looking for life experiences and points of view that broaden our outlook, compensates for our blind spots and compliments our team.
We're not looking for more people like us. We're looking for life experiences and points of view that broaden our outlook, compensates for our blind spots and compliments our team.
🤝 And that's it! We normally get through the whole process in a week or two. Our hope is that we can provide a low-anxiety, dare I say it, an enjoyable experience where we really get to know our candidates.
❓Why is this important to us though?
We're building a product that defines what good looks like for millions of people so it's massively important that our team reflects the diversity of our users.
If you're interested in learning more about low anxiety hiring processes Aja Hammerly's talk is a great place to start: https://www.youtube.com/watch?v=ZCsXQQhVtkc
And these are some good reads:
Rachel Thomas on how to make tech interviews a little less awful
Chris Parnin and Matt Shipman on Tech Sector Job Interviews Assess Anxiety, Not Software Skills
🙌 kudos to Sophie for pointing sending me these resources 👆
Oh, and one more thing. You guessed it, we are hiring! We're looking for a senior software engineer (Rails), a customer success lead and an associate ops person, find out more on our careers page.