Building 43, by Pixel Pro Photography

How to get a job at Google

Some advice from a Xoogler


I was a Googler for nearly five years, in the New York and London offices. During that time I interviewed hundreds of candidates for software engineer and product manager positions. I’m often asked how to get a job at Google, very often by students who are about to graduate and want to work there.

Here are some thoughts, these are purely my own views and don’t forget that I worked at Google nearly five years ago, so some of this will be out of date — Google moves fast.

What is it like to work at Google?

Google is extraordinary. You will work with the some of the smartest, most dedicated people on the planet. You will get to work on products that are used by hundreds of millions of people — and if you work on search, by more than a billion people.

Technology

You will work on some of the largest computations ever created, analyzing vast amounts of data. It’s really hard to understand from the outside just how enormous Google’s operations are. If you think you’ve worked with “big” data, you really haven’t; this xkcd what-if contains a decent summary of public information about Google’s data size.

Google data center machines, photo by Simon Bisson

Google’s technology is, of course, world class, as you’d expect. You can run deep computations across a cluster of 50,000 machines with a few simple libraries. Their testing infrastructure is excellent. In pretty much every area of software development, Google has fantastic tools to help you get your job done.

Most of all, the sort of problems you get to work on are extremely hard and potentially could change the lives of people across the globe. If that sounds exciting to you, you might be ready to join Google.

Culture

Google’s culture is legendary, and rightly so. They treat their employees very well and have created an extraordinary place to work.

One of the things I valued most was the culture of radical openness. You really could know almost anything about almost any part of the business. The quarterly reports to the Board were shared with the entire company — almost unheard of in a public company. Google is an open book internally which makes it much easier to understand how your work fits into the giant organization.

Google also encourages you to learn. They run world-class internal training courses. You will get huge support from colleagues in building your skills both generally and on Google-specific tools. Everything is oriented around making you and your team better.

It seems everyone has heard tales of Google’s perks. To be fair, they are pretty good, from the excellent free food — three meals a day — to the fun office decor to the subsidized massage service. It goes on and on. It’s easy to become rather pampered and develop a significant sense of entitlement.

The view from one of the cafeterias at the Google New York office. Photo by kathy

But, honestly, these are the icing on the cake. If you want to join Google for the perks, you are joining for the wrong reasons. You go to Google because you get to work on some of the hardest, most impactful problems being tackled by anyone, anywhere.

Downsides

There are, of course, downsides to working at Google.Any organization of Google’s size — north of 45,000 at present — will have challenges. There’s a pretty good Quora question that covers some people’s opinions of the worst part of working at Google. But the advantages strongly outweigh the disadvantages.

What does Google look for?

Okay, so you still want to work there? You should. But it isn’t easy. A lot of people want to work at Google. To give you a sense of this, in the year I joined, Google grew by about 3,000 employees, that same year they had around 1,500,000 people apply for jobs, so only 1 in every 500 people who applied, was hired. Google is in the enviable position of being able to pick and choose who it makes an offer to.

I’ll focus on engineering hiring. The core of Google’s engineering teams are the SWEs — the software engineers. Most developers joining Google start as a SWE. Above this are TLs — Tech Leads, who run one or more teams of SWEs. A TL makes the high level technical decisions for their team(s), mentors more junior team members and keeps their projects on track against deadlines and milestones. They spend some of their time writing code.

A high percentage of SWEs and TLs have at least a masters degree and many have a PhD as well. A lot of them come from very good universities — Stanford, MIT, Berkeley, Imperial and Cambridge are disproportionately represented in Google’s engineering ranks. You don’t have to have a PhD from MIT to be hired, but it does help.

Vint Cerf, one of the the many extraordinary Googlers. Photo by Joi Ito

Google has a famously high bar for technical competence. Their interview process is long and you will be expected to write code — at least on a whiteboard — and suggest solutions to some hard problems.

You will need to have a deep understanding of the core algorithms and data structures of computer science. If you don’t feel comfortable answering questions like these in an interview , you’ll probably struggle in the interview process and won’t enjoy working at Google.

How to stand out

What can you do to make yourself stand out to Google?

Technical excellence

First, demonstrate that you are a world-class software engineer. Getting outstanding qualifications from a world-class university is one way to do this. Another is to have done impressive work at another tech company — which could be a startup or a more established company. To let the world know what you’ve done you should publish papers, talk about your work at conferences, write patent applications, get interviewed in the press or do anything else that associates you with your technical achievements.

A typical Google whiteboard. Photo by Chris DiBona

Drive, passion and entrepreneurship

Google strongly values people with an entrepreneurial spirit. They still have many of the qualities of a startup; in particular you won’t often get told what to do. The people who are successful at Google see a problem and go and solve it, whether it’s part of their core job or not. The really hard, interesting stuff isn’t handed to you on a plate. You have to go out and fight to make it happen.

People who have survived the fire of a startup tend to be good at this. They have an innovative way of thinking and enough perseverance to solve problems and get things done even when they aren’t asked to.

Show that you have this sort of passion and drive. For example, when I was at university, I joined the Theatre Group, directing one play and acting at the Edinburgh Fringe in another one. I learned a lot about leading people, making things happen and battling through to success. Experiences like that will stand out on a resume. It doesn’t have to be acting — it could be starting your own company, volunteering, working in the student union, interning at a startup. Do something that shows you have drive and passion.

Work at an interesting company

I was lucky to have spent four years at Apple early in my career. I worked with Steve Jobs and a host of other interesting people on some very cool projects. That experience was the foundation for my subsequent career — I learned an enormous amount and it anchored my resume.

On the Apple campus in Cupertino. Photo by Theodore Lee

Not everyone will get the chance to work at Apple. And it took me four years of hard work after my PhD to get that job, so I was hardly an overnight success. But there are lots of opportunities out there.

Look at all the interesting tech companies that are hiring right now in London. You can go to a hiring event like Silicon Milkroundabout and meet a slew of interesting startups. There are established companies hiring software engineers too, including: Facebook, Twitter, Yammer/Microsoft and Amazon.

Get their attention

Even if you have a great resume, the odds are against you. Google sees millions of resumes every year, and a lot of them are stellar. There’s a good chance you’ll be missed in the flood, even if you have all the right attitude and experience.

So, try to get the attention of a Googler who can help you get a job. There is no more powerful way to get to the top of the hiring queue than to be recommended by a current Google employee. When I was there about 4% of all people interviewed by the company were employee referrals, but they made up over 20% of the people hired. When a Googler recommends you, the recruiting team pays very close attention.

How can you find a Googler to recommend you? Google employees often speak at conferences, and they’re very approachable. Chat with them after their talk. Do a bit of research beforehand, find out what they’re interested in, and discuss your work and interests with them. Don’t be afraid to tell them you want a job at Google. They may not recommend you straight away, but with luck you’ll at least get an email address and a chance at a further conversation.

Here I am back when I was at Google, speaking on a panel at the SES NY conference in 2007. Photo by Tamar Weinberg

Another approach is to make yourself useful to the team. A lot of Google product teams run Google Groups or mailing lists. These provide support to users, with interactions from the Google engineering team. Become active on the list, help other users, file bugs, demonstrate your knowledge and skills. It will get your name known by the Googlers who read and comment on the list, and opportunities will arise to start conversations with them.

This is a particularly good approach for technical products, like Google Web Toolkit or Google App Engine. This is how I got my job at Apple in 1996 — I was using the Apple Media Tool programming environment and I answered a lot of technical questions about it on the main forum. I got to know the Apple team over email and eventually spun that into a contract to write the first programming manual. I turned that into a Tech Lead job in Cupertino. All that from a two-room office in Chipping Campden. Anything is possible.

Even better,get involved in an open source project that is either originated by Google or has heavy involvement from Google engineers. Write a useful extension to the Android kernel; optimize the distribution of goroutines in the Go language; improve the performance of V8's dynamic machine code generation. Any of these would get you noticed by some pretty interesting people at Google.

Finally, persevere

Getting a job at any of the great high tech companies is a gruelling and demanding task. It won’t be easy; you need to persevere. The first time I applied to Google, I never heard back from them. It was only on the second attempt, a couple of years later, that I got an interview. And that was after a well-established career.

Google is one of the two or three greatest technology companies of our lifetimes. If you get there you will meet extraordinary people and do extraordinary things. I highly recommend it. So, work hard, build an outstanding resume, grab their attention and, one day, you too may become a Googler.