For Startups: My Controversial Interview Process to Craft Your Dream Team
How I run hiring interviews: three parts covering soft skills, technical depth, and ramp-up, designed to understand how candidates think, not just what they answer.
Every article I write is part of my experience and life lessons, or something I researched and learned. My aim is to share it so others don't fall into the same mistakes and have a stable company/life — depending on the article content :)
Happy reading, and drop comments if you have something to add, or something needs change. Thanks in advance.
This article is part of my series on building a top-notch professional services team.
Today, I want to talk about the interviewing process. A proper interview starts with the choices before actually conducting the interview — I know it is a no-brainer… yet people miss it!
It starts by choosing the right programming language or platform suitable for your company, checking if there are qualified internal candidates for the position, and checking if someone wants to switch platforms. Previous articles about uncertainty and layoff alternatives covered all of that (check the references section).
One of the most important things for a successful interview is the attitude or the traits — an interview is not only about technicality. I did many valuable things during the interview to try and determine seniority.
The interview typically lasted 1 to 1.5 hours — yea, I know it is long, but I wanted the candidates to ease in so I can see as much as possible of their knowledge. In addition, we measure many areas, and I wanted to make sure the candidates had enough time to discuss their answers. We made sure to inform candidates to block 2 hours of their time for the interview.
The interview was usually divided into three parts:
- The first part is to check seniority level through soft skills, troubleshooting skills, etc.
- The second part is for technical assessment.
- The third part is for ramp-up, feedback, and recommendations.
Interview Rules for the Interviewer
As much as you can, use the same questions to be able to have a fair baseline, and to be able to compare the different answers. Also try to keep the interviewers the same between all the candidates applying for the same position.
At the end of each question or section, if a candidate answered a question incorrectly, we would provide the correct answer and discuss it. This feedback loop refined our questioning technique and helped candidates understand where they might improve, and gave us an insight into why they said what they said — maybe the question was said in a wrong way.
The goal is not just answering questions; it is to understand how candidates think. We encouraged them to think out loud and reassured them that their thought process was more important than their answers. This approach encouraged candidates to open up, and if they were stuck, we would simplify the question until they found an answer. This method is crucial in assessing their level of seniority, critical thinking, problem-solving, etc.
Interview Introduction
At the interview's introduction, I first asked if the candidate would like a hot drink or how their journey to the office was — just something to break the ice and make the interview less formal. Then, we introduced ourselves, our company, and the team the candidate would potentially join — all within 5 minutes.
Interview Rules for the Candidate
We clarified that our questions would be straightforward, without word puzzles or double meanings. When asked to make choices, we assured them their decisions wouldn't affect our evaluation unless stated otherwise. We outlined the dos and don'ts, such as encouraging them to admit if they didn't know an answer and encouraging them to 'think logically'.
Think out loud, even though the answer might be wrong — the way of thinking might be what we are looking for!
And most important was "think out loud". It is very important to me to know how they are thinking about the problem — there is a probability that they had the right thinking, they just had some bad luck that day. It happens.
Part One: Assess candidates' seniority through soft skills and problem-solving abilities
What do they care about and their maturity?
We typically started the interview with questions about the best/happiest project they ever worked on and why it was the best from their perspective. The answers to this question revealed much about the candidate's preferences and truthfulness; in addition, it made it clear to us where they are at the maturity level. We would ask a couple of other questions about the why to make sure it is clear to us.
One candidate once said "Because I was working alone with no one to tell me what to do!!", another told me "Because I learned a bunch of new things, and my seniors were teaching me and directing me".
What do you think?
Do you think or do you act?
One of my previous managers once told me:
We are looking for the one who scratches their head thinking (metaphorically) more than the one whose hands run to the keyboard and start coding.
— Assem Al Shahawy
The next question usually involved a business problem, starting with something ambiguous, like 'The client asked us to create a news module; what shall we do?'
The candidate's response demonstrated their seniority level, with more senior candidates asking clarifying questions to suggest a more precise solution — like how many end users, when should it be delivered, etc. Also how complete the presented solution is; the more information they gave back, the more it helped us to see where they are on the seniority scale.
The answers ranged from "I will build a microservices solution with MongoDB and 2F authentication" (that was the first response), to "How many users? How much time do we have? What skills does the team have?", and to "What is the company's strategy?".
Part Two: Conduct a thorough technical assessment
What are you good at?
During the technical part, we start by presenting the areas they will be questioned on (SQL, C#, JS, etc.) and let them choose which area they felt most comfortable starting with — insisting in a nice way that they have to choose something while clarifying that this choice doesn't affect their score.
But it was to make them more comfortable and more relaxed; it is the warm-up. From our side as interviewers it would give us an idea about how good they are — considering that they said they are so good in this area.
How deep is their technical knowledge?
We had a set of questions for each area, starting from junior level and drilling down/up as much as possible until they admitted, 'I don't know'. This approach helped us gauge their depth of technical knowledge, hence technical seniority, and their honesty when unsure of an answer.
We concluded the technical questions (the whole phase) by asking:
'Tell me the hardest three technical questions you can think of that you know the answers to'.
This not only covered areas we might not have addressed but also revealed the challenging problems the candidate had faced, reflecting on their troubleshooting, diversity in work experience, seniority, etc. If it is an interesting question, we asked them to answer it to see how they approached the problem, their way of thinking, etc.
Are your brains fried yet?
The last thing was a thinking problem — not coding — that didn't have a correct answer, like:
If I want to know how many basketballs there are in our country, how can we do it?
The answers to these questions showcased the candidate's troubleshooting and logical thinking skills; we got the most amazing and the most interesting answers to questions like this — ranging from "I will build a website, and make a campaign with monetary rewards" to "I will check with the country's customs, and the entity that is responsible for basketball industries". I also got a lot of "I will see how many clubs, how many team members, and create a rough estimate!"
Part Three: Discuss ramp-up, gather feedback, and offer recommendations
An interview is not a one-way track where you ask questions and the candidate answers; it is a discussion more than an interrogation — at least from my perspective.
Usually, candidates would leave saying, 'This is the most interesting and unusual interview I've ever had, and I am really eager to work in your team.' We ended by asking if they had any questions, often addressing their performance and explaining our point-based evaluation system. We didn't have an accept/reject mindset; the candidate with the highest points and deemed to have the necessary soft skills was offered the position. We often provided unsuccessful candidates with recommendations on areas to improve, encouraging them to reapply in the future.
Conclusion
In wrapping up our discussion on the interviewing process, it's clear that creating a successful team extends beyond just evaluating technical skills. It involves a holistic approach where understanding a candidate's thought process and ability to handle real-world scenarios is just as critical.
Through thoughtful questioning and encouraging open dialogue, we not only measure technical skills and ability but also assess crucial soft skills and problem-solving abilities.
Remember, the essence of a great interview process lies in its ability to reveal the true potential of candidates, preparing both the team and the individual for future challenges.
References
It is all personal experience between the different projects I worked on, managed, and delivered. From chatbots to websites, to integrations… you name it :)
Where Taqdim fits
A good interview is a two-way discussion — and the same is true when you're the candidate. The questions you ask and the way the panel treats you tell you as much about the company as your answers tell them about you. Taqdim helps you read a role honestly before you apply, so you choose teams that interview like this. Taqdim is in closed beta. Join the waitlist.
Originally published on Medium on 19 May 2024.