Friday, January 04, 2008
In late 2004, Google opened an engineering office near Seattle, and my son Elliott was born. I had heard great things from my friends who worked for the company down in California, and I was eager to join their ranks in this new local office. But the timing was all wrong: I wanted to spend a few years at home with my new baby.
Elliott and I had lots of fun. We went to the park and the library together. We read nursery rhymes and played peek-a-boo. We baked muffins and did finger painting. We did not, however, debate the relative merits of our favorite cache replacement policies, or write and debug multithreaded C++ code. So by the time Elliott was ready to start preschool and I was ready to go back to work, I had to ask: Would I still be able to pass a Google interview, or had I forgotten all of my technical skills?
If I wanted to land the job, I had to get serious: I needed to brush up on my data structures and algorithms, my coding, not to mention general interview skills. For the next few months, I hired a babysitter to come and watch Elliott one afternoon a week. I split that time between studying my college computer science textbooks and participating in online coding contests. The coding contests were particularly valuable because they forced me to work through the design and coding stages quickly, just like in an interview. The details of the standard Java and C++ libraries came back to me as I scrambled to get my contest code to run before time was up. I even asked friends to do mock interviews with me so I could get used to writing code on a whiteboard again.
In the end, all of this paid off. My day of interviews went really well, and I got the job!
The Seattle-area office and Elliott turned three recently; they're both thriving. I feel very fortunate to have the two of them in my life. And I'd encourage anyone -- including new moms -- who is interested in a job at Google to go for it.