The Chosen One - recruiting
Recently, at the tender age of 46, I found myself in the market for a new job. The software development world is very skewed towards youth, and at a many companies, older people (say late thirties) are expected to be on the road to becoming managers, progressively removed from the coding trenches.
I still want to program. The job interviews I was going through were real technical ones. For my last two jobs I had gone through shorter processes more concentrated on confirming team and culture fit.
I am in favor of the real tech cycle. In favor of the whiteboard exercise, these
days the online collaborative editing session, or the take-home coding exercise.
In the tech world there is a permanent polemic around this. Every now and then someone prominent talks about an interview loop with Amazon, Google or the like, where they have been rejected for not knowing some obscure detail about red-black trees. There is much outrage, and calls ensue for more humane interview processes geared to confirming team and culture fit.
I find this argument can easily become elitist and inbred.
I have gone through unreasonable coding interviews too. But tech interviews don’t need to be unreasonable. Programming is a difficult task, and not everybody has what it takes. Interviews can be calibrated to verify that the candidate has the raw ability to take an idea and write it into code and systematize it.
When I have been on the interview-giving end, I have relied on coding interviews. And in some cases, I have been surprised. Candidates who were not that impressive on paper came alive when given a coding challenge, thinking and coding clearly, communicating effectively, engaged. When I have hired the surprising candidates, I have been rewarded with great colleagues. And conversely, I have seen some hires based on other criteria or processes go awry.
The exaggerated technical loop is a tumorous over-growth in reaction to a real problem: what if you have a bunch of candidates who are skilled enough for your team? One strategy is to make interview rounds tougher and tougher until only one candidate remains. At that point, the hope is that you have found the optimal choice.
I don’t think that that is what you really get. I would prefer to see those companies with “the problem” of tens of viable applicants put more trust in the experience and judgement of their recruiting panels, rather than make the entry bar higher arbitrarily.
There is an additional aspect to the unreasonable tech interviews: those candidates who make it through may feel attracted to the jobs because of the difficulty of the interviews. But that is often a siren song. At the very least, the difficulty of the coding interviews should not be your top criterium to choose jobs by.
In my recent search I came to get two job offers in the same week. I chose the one where the interview process had been more personal, where I had had a better chance to chat with my future colleagues, and where the job itself seemed richer. The difficulty level of the hiring loop had been lower.