PLEASE remember that my anecdote may not be indicative of Google's typical recruiting and I am especially not passing judgement about anything they do (except maybe recruit). I like Google and it's probably a great place to work.
Here's what happened:
Back in 2011 a Google recruiter emailed me saying I might be a good fit for a position called:
> 'Performance Engineer' for which we're looking for a candidate with a combination of compiler, high performance software design and computer architecture experience.
Now I'm not certain how he came to the conclusion I might be a good fit, because I'm a simple JavaScript farmer from a backwards asteroid and the only thing remotely close to that job description in my short life were a few articles about JavaScript Canvas performance that I've written. I relayed that there must be some sort of misunderstanding about my skill-set.
He says ah thanks, sorry for the confusion, have you got any friends? Standard recruiter stuff. We part ways.
Fast forward to 2013 and I've just spent a year of my life slogging through writing a book on HTML5. It got published in July and I was busy resting on newly-built laurels when another Google recruiter contacts me, and I entertain.
Now the timing is not particularly weird but this recruiter contacts me a week before a conference I was invited to. You see, one month before the recruiter email I got an invitation to a conference (EdgeConf), which happened to be invite only, even for the audience members, and which was to take place at Google HQ. This is puzzling if only because I'm still a relative nobody, save for perhaps the just-published book, and I couldn't fathom who might invite me to such a thing, but I figured it was someone in Google.
The recruiter email a week before the event made this theory much more plausible, so I figured there may be some hint of who invited me awaiting at the conference.
Alas, during the talks and the after-party nobody approached me or mentioned who invited me. I did meet the ever-recognizable Paul Irish for a second - we exchanged a handshake and I swooned (who wouldn't?), but no more. The puzzle remained.
But how could it be an invite from anyone other than someone in Google? I don't know anyone. I'm from New Hampshire. I have very little in the way of programmer friends. That's a big part of why I love HN so much, it makes me feel like I'm part of a programmer community that I don't get to have offline.
After the conference I talked to the recruiter on the phone, twice, where I relayed that no I was not interested in leaving New Hampshire, I like my slow life among the moose and other friends I have.
Well that leaves Cambridge, he says, I'm not sure what we do there, he says, I'll get back to you. Cue dial tone. I guess that meant remote is out of the question, but that's not hard to imagine.
On the second call, he talks to me about Cambridge and what they do there, but he was oddly uneasy talking about it, like he knew something I didn't (he certainly must). He made it sound like there was little (web?) developer presence there, and he wasn't totally certain what the projects were, but, and this is the part that really blew my mind, it shouldn't matter.
He didn't literally say those words, but he heavily implied them by telling me that I would not know what kind of a spot I would be interviewing for. Not until after I'd been accepted, at any rate. There was no "You'll work on fixing Google Finance, which can't be hard since we haven't changed it in 6 years and it still uses Flash."
There was almost no discussion of what products I might work on, and it was pointless to have, because I'd be interviewing to be a developer, and I'd be placed afterwards.
So I could interview, but what I'd be doing was really up for grabs, and I wouldn't be doing the grabbing, and my options-that-were-apparently-not-mine-to-make were pigeonholed because of location. It sounded like teams only have people on-site, at least It was implied I couldn't work for a team based in Mountain View if my butt sat in Cambridge.
So I asked if I could be sure of the position and team that I'd be working for before I interviewed properly, and he said no. At this point I had to cut things short.
I don't understand the concept of interviewing not for a job but for a slot in a pool of talent to be assigned only after I am accepted. That sounds like an insurmountable amount of work to find out if a job is something I'd want to do or not. What if I don't like the app? Or the team? It seems like a very stressful way to begin at a company.
So there you have it. That's everything I remember at the moment.
To this day I never found out who invited me to that conference.
I'm sure I'm remembering some of the details wrong. For instance, cell phones do not have dial tones to cue. But you get the idea.
That is their standard operating procedure.
This is typical of Google recruitment from what I gather. Of the calls I've had from Google (I clearly match some weird mix of keywords), only one involved a specific position. For the rest getting them to confirm the position was in London (in one case it turned out that, no, in fact, the position involved Trondheim, Norway, and I'd been approached because I'm Norwegian, and they thought not to mention this until I asked for specifics) is about as far as they'd go. [I always push for position because my languages means I frequently get approached by cagey recruiters trying to get me to move to some god-forsaken place in Germany I have no interest in visiting, much less living in.]
Even nailing down whether or not my expected salary range was anywhere near what they could offer seemed a near impossible task (at least one recruiter said she didn't know as it'd be determined by a different team). I started pushing for this and rejecting the ones who couldn't answer, after I managed to get one Google recruiter to admit that my then-current salary was well above what they'd be willing to offer for the type of position he was hiring for (I didn't manage to get a proper job description out of him, though).
> I don't understand the concept of interviewing not for a job but for a slot in a pool of talent to be assigned only after I am accepted.
The hilarious part, to me, is that this is as old school as you get. E.g. the British Civil Service recruits this way. You apply to a department, say the Court Service, and is assessed roughly for a salary band, and interviewed. You're then put in a pool, and the recruiters work to place you in a specific position for the duration of your interview validity (12 months when my ex worked there). But the British Civil Service interview process is far more transparent and efficient for the most part than my experience of Google's.
This doesn't seem very strange to me at all, certainly not Kafkaesque -- for large companies that are very selective, always in need of new candidates, and do a huge variety of things, I imagine most would want to have the chance at anyone who qualifies.
Anything else seems less scalable and less efficient for both recruiters and candidates. The recruiters or candidates need to do all the matching up front, instead of doing it only once the candidates and company are found to be right for each other. It saves everyone's time to go through the effort to match up for a specific team -- as long as there are plenty of options to avoid disappointment at that stage.
Sure, after you've worked for a while you have "your" projects, but we generally don't know which ones those will be in advance.
When I was hired, the recruitment was extremely vague about what kinds of apps I would be working on. During the interview, I asked for more detail, and didn't get it. Similar situation: the apps I'm working on are whatever apps the business customer and I decide are needed to be worked on.
Some candidates do ask during interviews what projects they'll be working on. I'll be frank with them. I'll tell them "these are our current top priorities, but you'll be working on whatever is needed, helping out other developers and teams as needed, and generally filling in all over the place for at least the first six months." I actually like setting it up that way. Have a developer work with different teams, on different apps, before they "settle down" to the maintain and develop "their" apps. (If that ever even happens)
Clearly, given your process, you won't be hiring people who are passionate about certain areas, though they will be happy to work on anything, so the hiring process suits you and finds you generalists who are happy to work on any project (exactly what you want), but it will put off some potential employees.
You have no idea how many big companies are doing this just because they can afford to. I don't understand either. I would never interview for this kind of thing again.
Pretty sure I did, dude. :) Also, while I sometimes offer names of friends recruiters should talk to, I didnt' around this time. So that part's still a mystery. Additionally, it was a pleasure to meet you.
Also, I aspire to attain your stature. I'm a fan.
When I got my offer, I was also told as interview feedback that I didn't do amazing on my coding but they saw potential there once I got up to speed - my last job had really let my talents languish. I was offered a position on a back-end infrastructure team in Mountain View. At that point, I had a call with the director of that group to discuss what my role would be as well as a lunch meeting with three people from the team to sell me on it. I told the recruiter that I appreciated the offer and I would consider it, but there was another team that I was really excited about working for (and with responsibilities that I had some previous experience with) and if they could make that happen I would definitely join. Fortunately, that team had open headcount and wanted me, so I got to take the job I wanted after all.
I'm not saying this will necessarily work for everyone, but given that I don't think I was an A-1 candidate they didn't push back very hard once I asked. I think it's hard enough for them to find candidates they want that once they take you they'll loosen up a bit, but before the interview starts they're less inclined to go through the headache of making sure the specific job you want is waiting for you. I have no opinion on whether that's a good way to handle it.