I've had a pretty big secret for the past month or so; something that only my friends and family know about. We've all been there, sneaking around interviewing for a new job like we're having an affair. Only this time, it was different. As an Android developer, this was like trying out for the majors. No…seriously, y'all…Google invited me to interview.
My adventure started early last month as I was triaging my inbox. There were the usual spammy recruiter emails seeking “rock stars” and “ninjas” with skills in technologies I abandoned years ago. I skimmed what appeared to be another of these and stopped when I read “mobile is a huge priority for us here at Google”. Did I read that correctly? Apparently I did. Where did this come from? The domain was google.com. For real tho.
I replied to the email, not knowing what to expect. I thought maybe they were surveying Android developers about their experiences developing for the platform or something. I kept asking myself, “I'm not really Google material, am I?” I scheduled an initial call with the recruiter in which she walked me through the interview process. It just so happened that the call was on my birthday, which gave me another reason to celebrate that evening.
After the initial phone call with the recruiter, I received an email with a list of topics typically covered in the notoriously difficult Google interviews. As someone who studied business rather than computer science in college, I had a minor panic as I reviewed the list. I recognized some things from my professional experience, but the majority of them were completely unfamiliar to me. The list included suggested articles and books to help prepare. I briefly debated whether this particular mountain was worth climbing and decided I should try. It can't be any harder than learning German, can it?
As I tend to do any time a seemingly insurmountable challenge presents itself, I devised a plan of attack and got to work. I had two weeks to acquire a passable knowledge of computer science before the first phone interview. Every night after work and a large portion of the weekends that followed were spent learning about linked lists, binary search trees, graph traversal algorithms, etc. Most of this was gleaned from Cracking the Coding Interview, which I highly recommend to anyone interviewing with Silicon Valley tech companies.
When the day of the phone interview arrived, I still didn't think I was ready, but I took a few deep breaths and did my best. I'm not supposed to talk about the specific questions I was asked, so I'll just say that I was given a couple coding problems to solve in a Google Doc while the interviewer watched. I didn't have autocomplete or my trusty IDE shortcut combinations, but that didn't stop me from pressing them anyway as I typed. I followed the advice from the book, first asking questions to frame the problem and talking through my thought process as I worked. At one point, when I couldn't remember something relevant to the problem that I had studied, I assured him that I knew exactly where to find the answer. When the time was up, I asked the interviewer a few questions about life as a Googler. He finished by giving me some general advice about being more confident in future interviews while being careful to say that he couldn't tell me how I did. Nerves aside, I was a pretty pleasant experience overall.
Multiple times that evening and the next morning, I replayed the interview in my head, kicking myself for not remembering this or for forgetting to say that. I thought I had done okay considering my starting point two weeks prior, but doubted it would be enough. Luckily, my uncertainty was short-lived. The recruiter called me that afternoon to tell me that I had made it to the second round of interviews in Mountain View. I was at work and it took all my self control to not run through the office shouting the good news to my coworkers. I settled for a muted fist pump and a whispered “hell yeah” before sharing the news over chat with my wife and friends.
Shortly after that, I was given more information about how to prepare for the on site interviews. With Google I/O approaching, I knew everyone in Mountain View was busy, allowing me a bit more time study. I decided to read Steven Skiena's Algorithm Design Manual and did problems on Project Euler to practice.
I scheduled a couple “vacation” days and flew into San Jose the day before the interview. I did some last minute studying and tried to get some rest. The next morning, I drove to the Googleplex after saying “OK Google, navigate to Google” to my watch with a gleeful laugh. On my way to the reception desk, I saw the infamous Google buses unloading their passengers into a sea of people walking and riding bikes to their respective offices. As many others have said, it looked and felt like being back on a university campus.
The recruiter met me at reception and showed me to the interview room. I had three interviews before lunch and two after it. Instead of coding in a Google Doc this time, I was coding on a whiteboard. As someone who rarely uses a writing instrument for anything other than signing my name, this was yet another source of anxiety initially. The questions were challenging and thought-provoking, but I think my studying prepared me fairly well. As the day went on, I was less and less nervous. The interviewers were all really nice and seemed to be rooting for me, occasionally offering hints or leading questions along the way.
I'm reflecting on the day's events in my head as I type this on the flight home, fingers crossed that I made the cut. This would be a huge opportunity for learning and professional growth. I want it pretty badly, but if it doesn't work out, I'm ready for the next opportunity. I enjoyed the challenge and I'm surprised how much I've learned over the past month.
I'll end with a few random stats from the trip:
- Self driving Lexus SUV sightings in Mountain View: 4
- Google/Android t-shirts acquired: 2
- Number of texts from United about my return flight being delayed before I even made it to the airport: 4
- Minutes spent in rush hour traffic between San Jose and SFO to catch an earlier flight home: 60
##### Update June 22, 2015 (two weeks later)
I just heard from the recruiter that I didn't get the job. Of course I'm bummed and wondering “what could have been”, but I'm also relieved to not be entering the drought stricken, traffic congested, rent-is-too-damn-high Bay Area.
If you need me, I'll be in Houston keepin’ it trill.