Sunday, June 8, 2014

How I didn't get a job at Google

About 2 months ago I got an email asking me if I'd be interested in working for Google. Without much thinking I replied "hell yes", or something of this meaning. They were supposed to call me in a couple of days to discuss the whole procedure. In fact, being quite absent minded at times, I totally forgot about it, and you can imagine my surprise when during my dinner I got an international call from a guy explaining to me how the hiring process works, and then asking me questions about asymptotic complexity. Fortunately, my answers, although somewhat chaotic, seemed to satisfy my interlocutor. We scheduled another interview, also on the phone, but this time involving solving problems and writing code online. I was given four weeks to refresh my knowledge of algorithms.

At that point I decided to get some outside help. I contacted a friend who works for Google in the USA. She suggested that I should go through the MIT Algorithms course and familiarize myself with The Algorithms Design Manual. I started with the video course, since it seemed to me easier to chew up (how wrong I was at that time!). I watched almost 40h of material, took tons of notes and did extensive research online on some of the techniques I didn't quite understand. I didn't have time to event touch the book, but I was putting trust in the MIT professors and their extraordinary teaching skills.

Four weeks passed in a blink of an eye, and so came the day of the interview. I wasn't sure what problem difficulty to expect but I was about to find out. To my bewilderment, the task was actually quite simple. I had to write a Java method building a team ranking chart based on the match results given in a specific format. I breathed with relief, but I still made some small mistakes (fortunately I was able to detect them fairly fast). I didn't even think that they were judging not just my coding skills but also the way I approached the problem and tested my solution. All in all, I got through again and got accepted for an on-site interview. Things were getting really serious.

I had another four weeks to prepare for the next step. I finally coped with the algorithms book, which was great and I recommend it to all of you. I solved 69 problems on Timus (a Russian online judge, which I like). I took part in one online coaching session organized by Google (although I was very late for it because the person who organized it gave me a wrong hour). I studied the official guides telling you how to prepare for a Google interview. I found another helpful book- Cracking the Coding Interview, which was a great source of possible questions and tips for coping with them. In the end, I felt as prepared as I possibly could be.

The interview itself took place in Cracow (Poland) and was composed of five sessions (each with different person) and a lunch (not being evaluated by them). They paid for my plane tickets from Milan and booked me a 4-star hotel (only one night though, the second night I stayed with a friend in a 4-person room :)). Obviously, I didn't sleep very well because I was nervous as hell. I couldn't wait to finally get the burden off my chest, no matter the result. I arrived at the Market Square, where the company's seat is, feeling rather shitty, and trying to make myself think about more pleasant things.

The five sessions went actually quite well. I never had a major glitch. I managed to get out of difficult situations (e.g. when I didn't know the exact method signatures or class names) by going around them in a fairly elegant way. This time I was very aware that they were judging my approach and testing capabilities as well, so even when they were asking me about something simple, I tried to be as thorough as I possibly could. At lunch, I had a pleasant chit-chat with a guy who was telling me about his work (even going into details, which I was quite surprised to hear). Eventually, I let him eat because he didn't have a chance to touch his food when I was already half through mine.

When I left the building I felt such a release that I can't really describe it with words. The world was suddenly beautiful again, the sun was shining, and the ice cream tasted great. I half-convinced myself that I would get the job, because I was happy about my performance. I honestly couldn't think of anything I could have done better, bearing in mind all my preparation. Now, I just had to wait for my recruiter to call me (she went on vacations for two weeks, so I knew it would be in some time).

Three days ago, when I was on a train, I got the actual call. She told me that unfortunately she didn't have any good news for me. I was not accepted. She assured me that they usually give extensive feedback, but in my case she simply had nothing to say. She suggested trying again next year. Then she hung up.

I probably don't have to tell you that I felt terribly sad, not only because I didn't get the job all programmers dream about, but also because I commited so much of my time to preparing myself. Telling my friends about it, while they were expecting from you to be a genius, was not an easy task as well. I think I'm getting over it now, although I still feel a little nostalgic. We'll see what the future will bring for me instead.

When I come to think of it now, I'm not even sure if Google would be the best place for me. Of course, they have great working conditions and let you be part of a solution that millions of people use every day. However, they are still a big corporation with all its disadvantages - there are people above you who decide what's to be done and in what way, and you're just a cog in a big machine.

For all of you who'd like to give Google a try as well, you can apply here:
Just bear in mind that you'll have to commit quite a lot of your time for preparations, and that perhaps it's not exactly the thing that you would like to be doing (maybe you like mobile apps like me). Anyway, I hope you enjoyed my story, and should you ever go through the whole process, I wish you more luck than I had.


  1. Hi Bartek,

    Sorry to hear that Google didn't give you any feedback. However, I suppose there are lots positive things to take away from this experience. At least you got an interview from them which is fantastic!

    I certainly enjoyed reading your story. Thank you for being so open to share your experience, that's why I really enjoy reading your blog posts.

    1. Well, I certainly learned a lot and I had a chance to see how people at Google work. It was interesting to test my skills with algorithmic problems they gave me as well. Apart from that, it's always nice to have an exciting story to tell. I hope to surprise you with some new ones in the future. Thanks for being such a faithful follower. I really appreciate it.