As you may or may not be aware, Google recently reached out and touched me in a special way. They asked if I might be interested in having a chat with some engineers to see if I pack the gear to serve in their beloved corps. Now, in my line of work when Google calls you pick up the damn phone, and if, like me, you'd really quite like to work for Google, here's how it works. This was for a Unix/Application admin (SRE / Site Reliability Engineer) position - the process is probably different for Software Engineering or management.
All of the interviewers had a master list of scenarios and questions (which I managed to get a fairly good look at during one of the face-to-face interviews - my Special Skill is reading upside-down), but I'm not going to reveal the details of any of the questions. I have a feeling the list doesn't change all that often.
Here we go.
If you're not already on LinkedIn, get yourself on there and add some colleagues. Join the various groups that are relevant to your mad skills. In my case, I'm fairly sure I was picked out of a 'Unix Professionals in the UK' type group. LinkedIn seems to be the One and Only place that recruiters use to find people for decent Unix jobs at the moment - I'm averaging about 2 recruiters a week looking for Unix people, even in the currently horrific job market.
If you're lucky, a recruiter from Google will send you a LinkedIn message which you should reply to with an only slightly restrained email explaining that in fact this is the best thing that has ever happened to you, and that you'd absolutely love to get in on the action.
And so it begins.
There will be a phone screen where your recruiter will ask you some simple, closed, technical questions. As far as I can tell, the recruiters don't have the answers to these questions, so there's no point in haggling or second guessing. Don't sweat it too much - I know I got a few details wrong, but still got through. I think they're basically weeding out the idiots and mental cases at this point - if you're not an idiot or mental, you should be OK.
After the phone screen, you should get an email asking you to rate your afore mentioned mad skills in 11 different fields:
- TCP/IP Networking (OSI stack, DNS, etc.)
- Unix/Linux System Administration tasks
- Unix/Linux internals
- Algorithms & Data Structures
- SQL and / or Database administration
- C
- C++
- Java
- Perl
- Shell Scripting (sh, bash, ksk, csh)
- Python
The ratings go from, and I quote:
10 - You literally have written a book
to
1 - Have worked with it previously but either not much, or rusty
I chose to allow a rating of 0 for some of the above.
So begins the phone interviews. My first interview involved a couple of a couple of fairly simple Unix admin problem scenarios, both of which were answered with a series of commands to run, and the reasons for using those commands. If you've been doing any sort of Unix admin for any length of time, these shouldn't be a problem. There was also a more involved discussion about a standard piece of software and how it works. I wasn't particularly familiar with the way this software works, but I got through by suggesting ways which I thought the software might operate, and the sorts of circumstances under which the software might have problems, assuming it worked the way I thought it worked.
The second phone interview involved some network knowledge, and a discussion on another piece of standard Unix software. Again, I wasn't entirely sure of the finer details of how this software works, but again some educated guesses and explanations of why I thought the software works the way it works was enough. There was also a scripting exercise which on the face of it looked simple, but which was a bit tricky to figure out on-the-fly. During this part, you'll be typing into a Google Docs word document so the interviewer can watch you type. This is actually quite cool - the interviewer gets to watch as you assemble a solution, so even if the resulting script isn't quite right they can see what you're thinking as you hack out an answer.
If at any point during the phone interviews you feel like running 'apropos', that's up to you. Type quietly, though.
So far so good. If you've made the cut, Google will invite you round to theirs for lunch.
Lunch, and 5 one-on-one interviews.
I'm fairly sure I signed an NDA when I arrived at the Chocolate Factory, so I can't really tell you much about the on-site stuff. A few pointers, though:
1: If you don't know your shit cold, you aren't getting through.
2: Learn every scripting trick out there; you're going to need them.
3: Have the pizza for lunch. It's good.
Contrary to popular belief there aren't any questions about how many golf balls fit in a bus, or how many piano tuners there are in Chicago, but you may have to pull estimates out of your arse involving very large amounts of data and very large numbers of users, so these sorts of questions are more than slightly relevant. Apart from that, it's all technical. No soft-skills or HR bullshit. No messing about.
Sadly, I royally ballsed up one of the interviews, so The Panel (quite rightly) deemed me unworthy of a position.
Arse.