Want VIP access? Get the latest tutorials, videos, giveaways and more!

×

What I learned interviewing with Google

Feb 09 2012

Over the last few weeks I’ve been interviewing with Google for a job doing primarily JavaScript development. I didn’t end up getting the job but I thought I would share the process of interviewing for Google as it was both very exciting and a humbling experience. I can’t reveal everything as I’m under a few NDAs. I’m not going to mention the products or teams that I was interviewing for but you may be able to guess.

For those that don’t know me, I’m an independent developer/designer. A majority of my work falls into the four categories of JavaScript development, WordPress development, HTML5/CSS3 or UI/UX design. I absolutely love running my own show and it would take quite a bit to get me to switch out.

In the beginning

So, a few months ago I had a Google employee ask me if I was interested in joining their team. As I said, I’m super happy with what I’m doing at the moment but I didn’t want to turn down the chance to interview or even work for Google. I happily passed along my resume and that was the end of that for about 5-6 months.

Cut to about 3 weeks ago, I received an email from a Google recruiter asking if I was interested in a software engineer job down in Boston. I told her I was and we arranged a phone interview.

At this point I was really excited because its always been a bit of a dream of mine to work for Google but I have always assumed two things:

  • Google only hires those with an educational background in Computer Science
  • Google only hires people with a well versed background in many programming languages.

I went to school for Information Technology Management at Ryerson University where I graduated with a bComm. My schooling was more about development methodologies, project management, systems analysis and other high level IT skills combined with way too much math and management approaches. I took one course on development which gave me an excellent primer to C and Unix but it was far from what those in Computer science learn. I’ve been coding since I can remember and have just picked up my chops along the way mainly focusing on PHP development and the last few years, JavaScript.

So, needless to say I wasn’t as well versed in some algorithms and big O as someone who spent 4 years in Comp Sci but I have a pretty good handle on the languages I do know.

The First Interview

The first interview was over the phone with a Google HR rep. It was a fairly quick 20 minute interview where I talked about what sort of projects I liked to work on, what langages were my favourite and my background in both employment and schooling. I also told her I’d be willing to move down to Boston but would love a spot at their Waterloo office (which is about a 1.5 hour drive from Toronto). She told me they primarily hire strong C++ and Java developers, something which I have very little experience with. After I talked about how much I enjoyed front end devleopment, she said that I would be a good fit for a spot in their waterloo office.

We arranged to do two interviews in one day in about a week and a half. The HR rep sent over an email with some guidelines and things to brush up on which included comp sci 101 things such as sorting algos, hash tables, binary trees and so on. I was familiar with a few things on the list, but I definitely had to do a lot of reading in the week and a half before my interview.

Meeting with Google engineers and coding on a whiteboard

After a few late, panicked nights and handfulls of really fun Javascript problems from my good friend Darcy Clarke who did his best to prepare me, I was ready for my two interviews with the engineers.

My first interview was with a mobile developer and it lasted around an hour. He started off discussing different types of sorts, explaining what algorithms would be more performant, which situations I would use a specific algorithm and a whole smattering of comp sci terminology which I had to explain. I tripped over quite a few of these and felt pretty embarrassed. After that we moved onto talking about JavaScript performance, I wish I could say more here but not revealing the questions asked was a large part of the NDA. After that we moved into talking about design for mobile devices. After this and the JavaScript questions I started to feel pretty good about it. We ended the interview with a 25 minute coding question that had to do with efficiently sorting arrays. I had never coded on a whiteboard before and I felt like I made a few stupid mistakes.

Next up was another mobile developer from another product that they work on in the Google Waterloo office. We started off talking JavaScript performance again and then jumped right into the coding problem on the whiteboard. I was pretty nervous at this point in time and I made a few more silly mistakes that I wouldn’t have done in a proper IDE. We finished the interview talking about some HTML5 video stuff I was working on and talked a little bit about typed javascript compression.

I left after that feeling that I totally slam dunked parts of the interview and bombed other parts.

Whew, its over.

A few days later I got a call from the HR person at Google and she told me in the nicest way possible that I wasn’t a fit for the position. She said she would keep me in mind for future positions, which is nice whether they meant it or not :)

Coming out of this I’m not particularly bummed out, it was a fantastic experience to interview with Google, I’m honoured they had me come in and interview; its something I never would have thought would happen to me. I still have a really awesome job where I work on some really awesome projects and I have an incredible drive to keep learning more about web development. To sum it up what I learned in a few points:

  1. Comp sci problems are a ton of fun to solve in JavaScript. I practiced a lot with Nicholas Zakas’ computer science in JavaScript posts.
  2. Even if you aren’t a leet C++ or Java dev, Google still takes interest
  3. Learning another language helps you become a more rounded developer. This experience hasn’t made me want to go back to writing C but I may take interest in another language that isn’t as forgiving as JavaScript.
  4. Coding Chops > Comp Sci degree
  5. A Comp Sci degree is very helpful when trying to explain Hash tables, Vectors and Big O
  6. Always be hustlin’ A few years ago I would have never have thought I would be interviewing at google just 9 months fresh out of school. Anything can happen.

 

This entry was posted in Other. Bookmark the permalink.

38 Responses to What I learned interviewing with Google

  1. Marco says:

    What will you do if Google offers you a job contract?

  2. Jenny says:

    Huh. Neat. Interesting to think that even being well versed in front-end gives you opportunities like this…thanks for sharing! (I was one of the mentors at the WordPress workshop you did for LLC and I totally wouldn’t have guessed that CS wasn’t your background. Congrats on attracting the attention of recruiters already!)

  3. Mathieu Gosbee says:

    I had a similar experience with Yahoo. Strangely, they want you to plot out the equations needed to send a shuttle to the moon while maintaining a speed of 14,000km/h orbiting the moon–*sarcasm*…. The questions I hate most are the LinkedList and Binary Tree sorting algorithms, makes me rageface.

  4. Annie Luxton says:

    Well done for applying, studying and going through with the interview process even if you weren’t confident that you were the right fit. I also interviewed for a role at Google so I know how daunting it can be. My interview process actually lasted a few years!! (I also blogged about it – http://www.codefrenzy.net/2007/03/21/undergoing-google-job-interviews/). Eventually, they called me up out of the blue about a year after my last interview and ended up offering me the job after all, but by that stage I’d moved on and wasn’t in the right place in my life to take the role any more. So you never know, you might still have a chance ;)

  5. João Mamede says:

    Wow, what a great experience that might’ve been.
    I am seriously interested in those Javascript problems that your friend gave you.
    Can you share them with us?

    Thanks.

  6. Jon Lim says:

    Congrats on the interview bud, still an awesome thing to happen regardless!

    “I left after that feeling that I totally slam dunked parts of the interview and bombed other parts.”

    I just imagined you doing that slam dunk action you did on the roof in front of my camera. I have a feeling that that may haunt you soon enough. ;)

  7. exim says:

    What I don’t understand is why people are stuck in web development? I mean, there are so many non-web interesting and fascinating fields in programming. And companies like Google or MS prefer more generalist people, because time passes, technologies change, projects change….
    And if they see person with several years of programming experience, and all of these only in some sub-field (like web dev), it is a red flag for them.

    Best wishes

    • Eddie Monge says:

      Because web development has been around for decades now and is only getting stronger. As more things move to the web, web development only gets more important

  8. John Hok says:

    You mentioned stupid mistakes you made on the whiteboard that you wouldn’t have made in an IDE. Care to elaborate a little on what kind of mistakes? It’s my understanding that in most cases when doing technical interviews, the interviewer doesn’t really care about silly mistakes due to not remembering method names or syntactical conventions in a language. They ultimately only really care about the solution and the algorithm you’ve created to solve the problem.

  9. Darcy Clarke says:

    Great post Wes! I think Google would be lucky to have you hacking away on new sites/products. You’re extremely talented and no matter what you’re going to be successful.

    As you know, I had a Google UX Recruiter come calling back in June but the job wasn’t right (more of a UX/IA Designer Role). To be honest, I think I would have had an even harder time in an on-site interview if I was asked similar technical Comp-Sci questions. I think it’s really good to have that fundamental programming theory down pat but I weight that a less then if someone is a straight hustler and willing to learn those practices along the way. All that said, let’s go make some rad projects and take over the net!

    P.s. How could they not hire a guy that makes these kinds of videos? -> http://www.youtube.com/watch?v=TaUyxQYtR30&list=UUoebwHSTvwalADTJhps0emA&index=1&feature=plcp

  10. Mr. Mr. says:

    I also interviewed with Google, and got a job offer that I had to turn down.

    The experience I had was pretty much like the one described above, except that after a couple of phone interviews I was flown across a pretty large ocean to spend a day in a Google office with a lot of skyscrapers around it.

    A few things about the interview (without breaking the NDA too much):

    o Everyone was incredibly nice. I really can’t emphasize this too much.
    It’a just a treat to be treated decently while on an interview, while
    at the same time being seriously challenged by their questions. I’m sure
    they do some pretty decent training for their interviewers, and
    it works ;)

    o The questions were challenging, but fun. On the flight over I
    re-read George Polyas “how to solve it” and Vargheses “Network
    Algorithmics. Both are great books about problem solving, and they
    certainly helped me get into the right mindset. The questions were not
    awfully hard but I certainly had to think about them. I believe there
    were five or six one-hour interviews that day. I really will have a
    hard time to describe how fun that was: In a room with Google
    engineers a whole day solving puzzles on a whiteboard and just
    having a good time doing it. It was …. Great :-)

    o After a few days I got feedback that I got the job. Then the
    real trouble started. I won’t get into the details. They had
    nothing to do with Google, who all the time were very professional
    and supportive, but in the end I just couldn’t relocate
    to take the job. Family obligations. Not a fun decision to make, but
    several years later I’m still pretty certain it was the right one.
    I don’t regret it, but I think about that particular decision
    quite often ;)

    I have a comp.sci. degree and the right type of experience so I guess I was pretty much what they were looking for. However, several of my friends have applied for jobs at Google and gotten them, and a surprising proportion of them
    did not have comp.sci. degrees. However, they are all extremely clever
    people, so I guess that counts also ;)

    So if you get the opportunity to interview with Google, just do it. It’s fun, it’s challenging and you might even get a job offer, and you might be able to accept it. However, even if nothing more happens than you having the interview, it’s a good experience, so just do it if you can ;)

  11. Allen says:

    Great to hear that you had a good experience even though you didn’t get an offer. I don’t interview for Google FE SWEs anymore, but a fair number of us made a conscious effort to make candidates feel like they’re challenged with interesting questions and at the same time be satisfied with the outcome either way. The hiring team in particular go to great lengths to let candidates know what they’re getting into so they don’t feel like they’re blindsided with irrelevant questions or are paired with the wrong interviewer.

    Anyway, your chipper attitude will serve you well in your career. You’ll find that a lot of companies have modelled themselves after Google’s standards of hiring, but few emphasize the CS knowledge as much and there is more and more of a place for UI/UX devs with some design expertise. It’s a great time is be a front-end dev!

  12. Zenzen says:

    Wait, you didn’t have a proper phone interview? And I do not mean the one with someone from the HR. I mean a 4x minute long technical interview? I thought that it is standard. I had two some months ago (since I did so-so during the first one they wanted to retest me) and to be honest I think it was the hardes interview in my short professional career (graduated several months later). Not only because it was Google but also because it was something I wasn’t well prepared for and it felt downright strange. Sitting in a room, coding in google docs and “talking to yourself”. I found it harder than any onsite I’ve ever taken. Though I’ll probably change my mind should I take the Google onsite one day :)

  13. Pingback: What I learned interviewing with Google « that dismal science

  14. Did you ever fill out any applications on Google’s jobs site? I don’t know someone at Google, so I can’t decide if this is a waste of time or not.

    It seemed like a really cool experience – you didn’t spend a lot of time talking about fluff like some companies will, it was all about how well you could code and what you were capable of building.

  15. So how often in your day-to-day job are you sorting arrays? I find it pretty ridiculous that coding interviews would focus around sorting algorithms. Whiteboard coding is also pretty outdated…

  16. Pingback: Marketing Day: February 9, 2012

  17. Brad Oyler says:

    The only thing they FORGOT to is ask you to sign an NDA about their hiring process. Hmmmm…

  18. Coding on a whiteboard, esp for the first time, is always a bit flustering and one tends to make silly mistakes, esp when the pressure is on. It happens to us all, I think :)

  19. Aleksandra S says:

    You interviewed at Google because Wes Bos is a Boss and that’s all I have to say about that.

  20. Srikanth J says:

    Interesting.. pushes me to learn more languages.

  21. Mohnish says:

    Thank you for Sharing this WESBOS ..:)

  22. Awesome story Wes. Congrats on at least getting in the door. That’s definitely an accomplishment in itself.

  23. fez says:

    Why did you interview for a software engineer job when you’re professionally a web/front-end develope

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>