| [Disclaimer: I run an interview prep bootcamp http://interviewkickstart.com] As someone who helped set interview process at my previous employer (not Google), and other companies now as a consultant, your reasoning of why these companies have a process like this, looks right. Let's dig a little deeper too. Consider the following facts: 0. Google has some 30k-40k engineers, with average tenure of say 7 years. So every 7 years, they are hiring 30-40k engineers. That is thousands of engineers every year, even if they are not growing (and they are). It's a massive undertaking. 1. In the field of software engineering, unfortunately, experience has little correlation to expertise. That has been known for a long time. See [1]. And cognitive ability is at least a reasonable predictor of success, better than many others. See [2]. 2. Companies like Google have no dearth of applications. Literally millions or engineers apply. 3. Interviewing is a chore, and mostly not fun. Most interviewERs hate spending time on it, and want to get out of it as quickly as possible. Interviewing is also on top of everyday work which is a lot at many growing companies. 4. As a hiring manager, I have to hire people. There is no choice. I must find a way to hire N people in X amount of time, or the company is literally doomed. e.g. if I'm eBay or Amazon, I can't miss the holiday season. 5. You have to involve multiple people in hiring. Just one person talking to the candidate and making a decision is not sufficient. 6. Programming is so vast, that engineers apply from all sorts of backgrounds and domains. 7. Companies are becoming more and more polyglot. You want engineers to move around different languages and stacks freely. So when you have a lot of people to hire, a lot of people applying, work that's somewhat correlated to cognitive ability and very little time, what kind of process do you end up setting? When you put these constraints together, you realize that your incentive is to design a generic process that's convenient to the company, and not convenient to the candidates. You just want reasonably smart people, fast. You don't care about seniority much, and the type of problems asked, as long as it helps you close N people in X time, by putting in least amount of work. A different process might have selected for different kind of N people, but that process would take longer than this. And time is money too. A process with DS/Algos is less subjective, fast (like you said), can be prepared for (you have to hire), has enough variety that multiple people can ask different questions, lets you interview across domains, and is at least somewhat defensible-ly relevant to the field. And hence, here we are. Not saying that the process is understood by everyone and executed well everywhere and every time, but for several years, we're all still looking for process that's lesser evil, and we haven't found one. As long as the constraints outlined above remain, the process is going to stay. In some form or another. For a very long time. However much everyone hates it, including the interviewers, and the company itself. Many have tried otherwise (including myself), but most have come around to asking DS/Algos somewhere in the process in varying percentages. [1]. http://www.ida.liu.se/~nilda08/Anders_Ericsson/Ericsson_deli...
[2]. http://mavweb.mnsu.edu/howard/Schmidt%20and%20Hunter%201998%... |