Categories
Hiring Operations

I never made it through a coding interview

I never made it through these interviews, I never studied the questions on these websites out of sheer arrogance. But I think I’m a good fit for my company.

Recently my company hit a point at which I realized I have to make a hire. Things were burning and I wasn’t able to fix it all by myself.

I needed to hire people who would execute. Who can get shit done. I talked to a bunch of people and read around the internet to look for inspiration as to how others run their interviews.

Most companies, startups including, used the Google Interview. Hard algorithm questions, ticking clock complicated edge cases. When I tried to dug into why this was the case, I realized this was pioneered by Google. It was a great test back in the day when no-one else was asking such questions. It was a good test for your smartness. However, now candidates come prepared with a set of questions. When I asked, interviewers tell me they pick the questions from the same websites interviewees use to prepare. I never made it through these interviews, I never studied the questions on these websites out of sheer arrogance. But I think I’m a good fit for my company. I don’t want to shoo away people like me.

I formulated the following interview process. It’s far from perfect, but it’s given me something to start with.

Resume

For me the most interesting part of the resume is the dates along side the projects & products candidates have been a part of. Usually resumes have the 2 – 3 most interesting projects that she has been a part of. If the most interesting project is kind of long back, is a red flag.

I screen people by seeing how fast they have improved in their life, more than what interesting things they’ve done. I sort the projects by interestingness and see if the progression in date is the same as the progression in interestingness. Usually, a project that’s more than a couple of years old almost gets me to reject the candidate.

I really like to see the progress one has made from school to current profession. A bad score at school kind of helps because there’s more you’ve had to surpass to get where you are. You need to be a hustler to have a bad score at school and still make it to great places with great work. At the same time, a good score indicates discipline. Scores and GPAs are not deal breakers, but I do evaluate both resumes with a different lens.

Assignment

The first round of the interview is a take home assignment. The assignment is usually a task that’d take an hour or so.

For example, below is an internship job profile we recently used. We asked people to pick a profile design from dribbble.com and implement it in React.js

Complete disclosure : This is not a promotion for the job. This position is now closed.

I’m looking for how promptly the candidate responds. If you are confident about your skills, you’d be able to quickly judge where to fit this assignment in your schedule and get it done.

It also helps me weed out people who are just exploring. A lot of people I talk to tell me they interview at small startups as a practice for larger companies’ interviews. They’re a waste of my time. Having an assignment completed is a sign that you are really interested in actually working with us.

I don’t look for design patterns or quality of code. I just need to see that it works. If it works to a satisfactory level, you’ve cleared this round.

Interview

The last round is a round is a video call interview. 30 min to judge personality – to which I still don’t have a good model other than just looking for good vibes. I’d like to improve here and make it less dependent on the tweets I read just before the interview. How can I make this more objective, I’m still looking for ideas.

The other 30 min is a screen share where I give an extension to the assignment already submitted.

As preparation, I go through the resume’s skills sections to get a hold of what the candidate has already worked on in the past and I look at the code to see what she’s comfortable with. Then I pick a task that she hasn’t worked on before, but at the same time it is just on the periphery of something she’s already done.

For the coding interview, I ask for a screen share and ask the candidate to use Google for things she doesn’t know. If she doesn’t have to Google, I gradually make the problem harder. I need to see how she Googles. Is she a fast learner, can she navigate through stackoverflow, can she read official documentation quickly to get things to work? Lot of weight given to the quality of Google queries. The completion of the task is of lesser importance. But depending on the role I’m interviewing for I look if the candidate has an eye for details that are relevant for the position.

With this I’ve been able to hire with confidence for my company and for a few friends’ companies, and it’s been working out. Would love to hear how you hire, how I can improve. 🙂


We are a company that has been focusing on 1st principle thinking. We usually write about how to build a great business on the internet. If you’re building one, you should subscribe.

Leave a Reply

Your email address will not be published. Required fields are marked *