My Controversial Interview Tactic

I am often faced with the question of what makes a good technical candidate. Many companies require an engineering degree in their job descriptions. Many high-functioning delivery teams consist of qualified engineers working on real-world problems, and I have learned a great deal from such engineers, who were at the peak of their powers.

However, I have survived for twenty years in the treacherous, competitive, and sometimes maddening software industry in India with just a B.Com degree. Stubbornly, I did not pursue a formal degree in computer science, instead learning everything from the ground up. My journey has taken me through some of the best companies in the world. Despite this, getting a job has been significantly harder for me than for a candidate with an engineering degree. Search engines and criteria rarely surface resumes of non-engineers, and recruiters, in their naivety, often overlook potentially valuable resumes. Does this make me a good technical candidate?

Throughout my many interviews over the years, I have sought candidates like myself – non-engineering graduates. I have, however, recruited only one such individual. A non-engineering graduate with technical proficiency is a rarity, mostly because few understand the history of computer science and how everything works at its most fundamental level.

This holds true even for engineering graduates. Many come from non-computer science backgrounds and pursue computer science simply because it pays more. In my campus recruiting efforts, I found that even many computer science graduates from second-tier colleges had questionable practical knowledge of how things worked. The IITs and RECs tended to produce the best engineers, and we saw better recruitment averages from these institutions.

My Effective Strategy for Technical Interviews

The most effective strategy I’ve found is to focus on the absolute basics. If I am recruiting for a UI role, here’s what I typically do:

  1. Start by thoroughly reviewing the resume, focusing on the candidate’s experience – this helps reveal whether the experience is genuine or misleading.
  2. Ask about the candidate’s interests, likes, and dislikes. Why did they choose UI? This gives insight into how inclined they are towards computer science and their understanding of it.
  3. Pose targeted questions to gauge their motivation. How eager are they to learn new things and improve their skills?
  4. Technical Round:
    • I start with the basics, such as asking how the internet works. What happens when a URL is entered into the browser?
    • From there, I ask questions about DNS, web servers, TCP/IP, the HTTP protocol and verbs, and their significance.
    • Finally, I move on to technical JavaScript basics, followed by small coding exercises.
    • I always keep the focus on the fundamentals: language basics, ecosystem basics, build systems, etc.
  5. While understanding the basics is critical, I also look for how candidates approach problems they might not immediately know the answer to—this reveals their ability to think critically under pressure.

You might be surprised by how many technical people from reputed organisations, with varying levels of experience, don’t know how the internet works, even though we use it constantly!

What Makes the Best Candidates

I’ve found that the best candidates have a zest for learning new things, the ability to work independently, and a strong grounding in the basics. These candidates often become indispensable to the company. For this reason, I place the most value on a candidate’s attitude.

This approach, however, can lead to precarious situations. You often know within the first fifteen minutes if the candidate is a good fit. The rest of the time is spent prodding and poking to see if anything can be salvaged. Finding a good candidate is difficult. Time spent interviewing equals time invested, doubled. In my younger days, I would often finish interviews in fifteen minutes, telling HR that this would save us both time. However, I quickly realised that there is great value in being humble and well-rounded. Candidates may know some things and not others, but that doesn’t make them bad candidates. They can learn quickly and become good employees. Even if they don’t, it simply means they don’t fit the role we are hiring for – not that they are a bad candidate.

A simple google search will give us a lot of non-engineering graduates and self-taught gurus of many big companies like GitHub, Twitter and Slack.

end.

Leave a Reply