Technical Interviewing: Challenges in the 'leetcoding' era

Jacob Philip
3 min readOct 23, 2021

People are not your most important asset. The right people are — Jim Collins

Recruiting the right people is one of the most critical factors for businesses, especially startups, to succeed. Even if your idea is excellent, it won't be easy to scale if not executed well. When it comes to software development, execution means architecting and implementation of your idea. But recruiting efficient generic software developers is becoming challenging year on year.

Knowledge vs Programming Skill

In general, technical interviewers follow two patterns; some focus on analyzing the candidate's knowledge level, whereas others focus on the candidate's aptitude, programming, and design skills. Knowledge-based interviews are essential when the job requires specific skills. For example, domains like FPGA design, Machine Learning, Cyber Security etc., need domain-specific knowledge to be efficient in the given assignment. Whereas in fast-changing disciplines and generic software, knowledge can become obsolete very fast. In these fields, focusing on generic skills over expertise will make more sense.

The leetcode menace

The elite software companies, popularly known as FAANG companies, follow the latter method. They have a heavy focus on your programming & software design skills. As these companies are dream companies for many, preparation for these interviews is becoming a norm. Practising coding for interviews has the popular slang 'leetcoding'. Even companies expect candidates to come prepared for interviews. Through years of experience, these elite companies are expertized in this kind of interview and know how to avoid bad apples. But this poses a big challenge for non-unicorn startups.

When the candidate is well prepared, the interviewer also needs to be prepared. He should be capable of analyzing the conceptual knowledge and aptitude of the candidate to differentiate between one who spits out what he just learned with one who is skilled.

I, too, believed the candidate would be a great hire and would perform well in the job if she could "invert a binary tree" during the interview (https://twitter.com/mxcl/status/608682016205344768?lang=en). In my experience, one who does well in the programming interview has a fair chance of doing well in the job. But that is not guaranteed. I had the privilege to interview two of my colleagues, who later I most loved working with. They had poor knowledge of algorithms and CS concepts but were otherwise intelligent and friendly. So I went with guts giving positive interview feedback and, of course, got great colleagues who were fun to work with. Same time, many candidates did very well in coding during interviews but did not do well on the job.

So while doing the technical interview for a startup, keep following in mind.

  • Don't focus too much on measuring the candidate's knowledge; an intelligent person can quickly ramp up.
  • Always focus on what the candidate knows, not whether they know what you know. The interview is easy when both have an overlap of knowledge.
  • The programming skill is vital but should not blindly depend on that alone.
  • Instinct does help sometimes.

Interviewing and hiring the right one for the task at hand is both a skill and an art.

Time spent on hiring is time well spent — Robert Half

--

--