How we built our Engineering interview process to reflect our values

Neeraj Suthar
Unibuddy Technology Blog
5 min readSep 1, 2020

At Unibuddy, our goal is to empower 10 million students to make the right choice about their Higher Education journey. We’ve grown rapidly and now work with over 300 institutions in 20+ countries across 4 continents. We’ve raised over $13M from top-tier investors that will fuel our expansion. This, and our recent success, means that we need to scale. We’re looking for people to help us supercharge our growth, while we continue to embody the values that have got us so far already.

Unibuddy. No one should make life’s big decisions alone.

I had helped in hiring extensively in my previous company, but I was still not sure of how most other companies around me went about hiring for technical positions. I was rejected by a bunch of them before getting hired at Unibuddy. Each time the reasoning would be different

  • rejected because my speed in coding a vanilla javascript calendar is less than another developer;
  • rejected because the assumptions I made for an 8 by 8 game of chess to be made in 1 hour did not scale to 64k by 64k game of chess;
  • rejected after 5 rounds because I answered 2 questions wrong in the first round;
  • rejected after 4 rounds over 3 days because I answered 1 question wrong in the 4th round;

and many more instances where I was told result would be conveyed the next day but that day would never come. I couldn’t blame their processes entirely, they must have had their reasons. It happens to the best of us.

It happens to the best of us

Fortunately for me, at Unibuddy we do things in a much more organized and reasonable manner. Sometime last year, our engineering team did brainstorming sessions to come up with values that are most precious to us. We care the most about:

  1. Quality at a Sustainable Pace
  2. Investing in Constant Learning
  3. Collaborating in a Safe Space
  4. Value the Destination, Enjoy the journey
  5. Ownership and Initiative

It followed that we should keep them in mind while expanding the engineering team. That would ease our decision making in terms of moving candidates across the interview rounds, help in deciding between candidates who might otherwise be equally strong technically, and decide what kind of interview rounds we want to keep as well.

We are well aware of our limitations and expectations. We cannot judge the talent of a developer in 60 minutes. We cannot expect individuals to take days off from their current jobs for unnecessarily long interview rounds at our offices. We cannot waste the times of our own team as well in said rounds. We cannot expect a developer to vomit CLRS and expect the same person to make a functional server in less than 30 minutes. We just want people that best match our well-defined roles that are open for hiring. We don’t want a funnel that inhumanely filters out junk at each level. We source great talent. We need an unbiased and transparent process of engaging with them until we mutually agree that we are a good match.

We came up with 4 main steps in the interview process across most of our roles:

  • Screening: Either a call by the hiring manager and/or an online test to see if we have the minimum required match in terms of interest, expertise, aptitude, and code quality.
  • Coding tasks: Usually onsite or online pair programming, but sometimes a take-home assignment depending on candidates’ and interviewers’ availability. Here we looked out for role-specific expertise and experience — so a frontend developer would be expected to be good at making responsive and accessible components, while a backend developer would be expected to good at making an API layer, and both would be expected to be good at discussing and finding solutions, implementing them, focussing on good quality well-tested code.
  • Discussion: Usually 2 or more team members would discuss candidates’ solutions from previous rounds, system design, or management depending on the role. Focus is on the ability to think beyond role-specific expertise and experience.
  • Cultural match: Calls with people from Unibuddy management to know more about each other and see if the candidate is a cultural add. Diversity is about asking what does this person add to our team rather than do they fit in and look like us. Our company values are also well-defined and very much aligned with the engineering team values. So, no surprises here for the candidates. Usually, they have been sufficiently bored by us harping about our values in every round.
Unibuddy Company Values

We do not use time limits as a measure of an individual’s expertise, only as rough estimates for scheduling. We allow full access to all knowledge sources a candidate would have at their disposal. At each step, we have a set of parameters based on our values and requirements to help us decide whether we should proceed to the next step or not. Interviewers separately score candidates to remove as much bias as possible but we have a discussion afterward to talk about any areas of concern the team has before moving any candidate forward in the process. Else, we inform the candidate as soon as possible about it. We maintain thorough records for each interview and love to share as detailed feedback as possible for a given round to each candidate.

Our engineering team’s size has doubled over the last year. Our offer acceptance rate has been 100% and joining/retention rate has been over 95%. We know that our process is not perfect, as can be seen in rare but useful negative feedback that we receive. But that only drives us to iterate and improve the process further. Because we believe we are working for a larger cause. No one should make life’s big decisions alone.

If you would like to join our awesome team, here is a link to our current openings.

--

--