Is it true that most programmer candidates cannot write code?

Quora Feeds

Active Member
Arunav Sanyal


All interviewing and hiring processes in the software engineering industry is broken. Anyone who believes otherwise is deluded.

Interviews do a good job of keeping the absolutely incompetent people out. But if incompetent people are reaching in person rounds, you are doing something terrible (badly designed phone screens and preliminary tests).

Interviews are highly disconnected from the reality of software engineering.

  1. Interviewers ask puzzle questions, trivia questions etc. They have literally no utility in software engineering. ABSOLUTELY NONE.
  2. Interviewers ask algorithmic questions. Firstly most of these algorithmic exercise have no parallel in real life (software engineers build products, not crank up algorithms). Secondly the harder rounds effectively ask questions that are next to impossible to solve if you haven’t seen them before (no one is going to come up with a DP algorithm in 45 minutes that took its inventor years of research to come up with).
  3. Interviewers are biased in what answers they expect from a candidate. If a candidate actually solves the problem and does it differently then expected, they often get rejected.
  4. Its very easy to game the system. If you study cracking the coding interview and geeks for geeks throughly, you can pretty much guarantee to clear rounds in most companies.
  5. Your interviewing ability should be correlated with your experience and skill development (you should in theory do better in interviews if you build better products than a guy who builds worse products). But in practice interviewing is a completely orthogonal skill set to job relevance. I have to dedicate time specifically for that, which I think is neither fair nor productive.
  6. Interviews have no similarity to actual work. I don’t write code on a whiteboard, with no syntax checkers (IDEs), no references and under stress. Also they completely fail on judging how a person designs systems.

So yea interviews are a buttload of BS in the industry right now. Some folks are wising up. Some good ways to interview are.

  1. Provide take home assignments. Yes it allows an advantage to the unemployed, but they are the ones who want the job the most so the advantage is actually fair.
  2. Simulate work for a full day and see if the candidate is able to handle all tasks. This is a much more holistic take on the candidate.
  3. Code review open source contributions. Its important to see how their production code looks like, does it follow best practices, is it crystal clear, does it follow good version control practices and gauge impact (a commit in linux kernel is way more valuable than a commit in school project).

Hope this helps. Don’t buy into the incumbent’s rant. Change things for the better. Here is good exposition : Why is hiring broken? It starts at the whiteboard.

P.S - You can use algorithmic interviews in conjunction with the above (but keep the questions trivial and emphasize breadth over a specific question) for the exact purpose of quickly weeding out the really incompetent people. Typically this round should happen early on, typically at the phone screen level.



See Questions On Quora

Continue reading...
 
Top