Google gets thousands of resumes and they have to whittle them down. Some are easy to rule out just based on the resume. Others are easy to rule out in the phone interview.
But a large amount of them make it to the full in person interview. Now Google could just take it as first come first served and hire the first people that look decent. Or they could set the bar really high and whittle the pool down that way. They choose to set the bar really high. They can afford to because they get so many applicants.
As an employee I appreciate that. It means that every one of my coworkers is crazy smart. Any one of them can review my code and offer useful feedback. There are no unqualified developers that I'm aware of at Google and Google is a pretty big company so that's a little amazing. Out of thousands of developers there are thousands of amazing high quality developers.
It's partially market driven. When you get as many applicants as Google does and you are as awesome a place to work as Google is then you can afford to set the bar as high as Google does. And make no mistake they set the bar very very high.
I just want to say I interviewed at the Googleplex in June 2012 and it was an amazing experience. When I got the "rejection"(5 days later, which is standard in my experince), I didn't feel bummed or angry - I felt that I was defeated fairly in a challenging game of chess with people better than me. The programming questions I got weren't out-of-bonds ridiculous like I'm always hearing about. While the process took nearly 6hrs that day, it wasn't just for the sake of it. I had real discussions about real-world problems and I enjoyed it greatly. Those 6hrs flew by. Everyone should go through Google's interview process at least once; it will reveal limits that you didn't know you had. I'm a better person, career-wise, because of that experience. Also, I'm sure I was able to get the awesome job I have now only because I was still charged-up from Google-interview-preparing a few weeks before.
P.S., I'm sure I was close. I got a lot of smiles, nods, "yup, correct" and organic conversation that didn't seem rehearsed and they seemed happy to talk about so I suspect I did better than they expected but just... not... quite there yet... compared to some other candidates.
>>Everyone should go through Google's interview process at least once
No, and this is precisely the reason which gives them that 'We are super special so its our way or the highway' attitude.
What every person must do is stop what they are doing, and give themselves a brief moment of introspection. And they should ask, if they problems they are solving are most demanding, challenging or their times. Are those problems something important for which people are going to pay good money? Or at least they must ask how difficult the problem is on a technical scale. And then pick what is most important both in terms of learning technical stuff and money parts of it.
You must do this routinely. Probably every Saturday night. Based on what the outcome of that is, you must have one long term plan and one short term plan. Something that can be broken down to small parts, put in a todo list and tracked next Saturday night.
Getting into Google or any other big web company won't automagically catapult your career to the center of the universe. Its a good brand to carry on your resume, beyond that nothing much. Bulk of Google, is a large company. Its legacy systems + incremental development all over the place.
So any good to your career will come if you do something about it personally.
Days? I believe the median is 5 hours. The decision may then take days... but that's not the same thing.
Yeah, no thanks.
Presumably, you expect to hold the job for next few years of your life, at a minimum. If you can't budget 10 hours of your time, and you can't wait for a few weeks for an answer, it just doesn't sound like you really want to work there. Unless you're in desperate need for a job sooner... then I'd understand better.