There are horror stories of prominent software engineers interviewing for a position in tech companies. They are asked tricky/puzzle-type algorithm questions that require memorization of obscure algorithms in order to solve. These are algorithms that we software engineers almost never implement ourselves in our day-to-day work. Naturally, some of these prominent engineers fail to solve the question, and get rejected from the job offer. These are software engineers of proven value: Some of them have implemented open source tools that are in use by thousands of companies and software practitioners.
If a prominent software engineer of proven value applies for a job at your organization, there is only one question that you should really ask them: “When can you start working here?”
The hiring process for software engineers seems to be completely broken. I have personally heard many managers and engineers admit that. Yet, everyone still keeps asking the same type of algorithmic puzzle questions in job interviews. In a lot of cases, even the interviewers themselves do not know the answer to the questions they ask. These days, this bad practice has begun to spread outside the tech companies. Companies in various different industries are now asking these algorithmic puzzle questions in their technical interviews for software engineers.
How has this come to be? Let me try to explain to you how we have arrived at this completely broken hiring process.