How can I get my resume shortlisted by Google for a software engineer job?


Answer by Gayle Laakmann McDowell, former software engineer at Google and author of Cracking the Coding Interview: 150 Programming Questions and Solutions.

原谷歌软件工程师,《程序员面试金典》(Cracking the Coding Interview: 150 Programming Questions and Solutions)作者盖儿.拉克曼.麦道威尔的回答。

There are really three parts to this answer: getting the right experience, creating a good resume, and submitting it the right way.


Getting the Right Experience


If you come from a good school/work for a well-respected company, that’ll help you a ton. But anyone can boost their resume with some projects.


Build some iPhone apps, web apps, whatever! Honestly it doesn’t matter that much what you’re building as long as you’re building something. Good languages include Java, Python, Ruby on Rails, C++, etc. I would encourage you to stay away from .NET. Not because .NET isn’t a perfectly good tool, but there’s a stigma.

开发iPhone应用、网页应用,无论什么都可以!实话实说,你在开发什么不重要,重要的是你正在做这样的项目。有效的编程语言包括Java、Python、Ruby on Rails、C++等。不过我建议你避免使用.NET,并非因为它不是一款完美的工具,而是因为这种语言存在被人诟病的地方。

Doing these projects is especially important if you’re, say, a programmer for CitiBank. You don’t have the right “pedigree.” But projects will help you a ton.


1. You can build a fairly meaty project in one weekend. This means that with about 3 to 4 weekends of work, you can make your resume go from so-so to fantastic. Seriously I’ve seen lots of people do this.

1. 你可以在一个周末构建一个内容丰富的项目。这意味着如果有3至4个周末的工作,你可以让自己的简历从平庸变成变成出色。这绝非虚言,我见过许多人这么做。

2. Participate in hackathons.

2. 参与编程马拉松。

3. Build a website / portfolio. Show your experience.

3. 创建一个网站或个人作品集。展示你的经验。

Building a Great Resume


One page only. When you go onto two pages, you add weaker content to your resume, by definition. And when your resume is only read for about 15 seconds, it’s the average content that matters, not the “total amount of content.


Use a real resume format. Don’t create your own – it tends to waste space and look sloppy.


List your projects, hackathons, etc. Don’t worry about whether or not something is ‘resume appropriate.’ Does it make you look more impressive? Then include it.


Keep your bullets short — 1 to 2 lines each. Bullets that are 3 or more lines look like paragraphs and won’t be read.


Focus on accomplishments, not responsibilities. The first line of each bullet should be a word like built, created, implemented, designed, architected, optimized, etc.


Quantify your accomplishments. Did you optimize something? Okay, then tell me by how much.


No summaries. They don’t tell me anything other than what position you’re applying for and I already know that.


Submitting Your Resume


Too many people stop with just one avenue. They apply once, and then figure that’s enough. Try all available avenues.


If you’re active on Github, Stack Overflow, etc, there’s a chance a recruiter will come to you. But there’s no reason to wait for that.

如果你是代码托管网站Github或开发人员问答网站Stack Overflow的活跃用户,招聘人员很有可能会主动找到你。但求职者没有理由等着雇主找上门。

Apply online. It’s tough, but people do get their resumes selected that way.


Ask your friends. Do any work at Google? Or know someone who does? It’s a huge help if someone will refer you.


Try reaching out to Google engineers on Twitter, Quora, or other social media. Remember that your first contact with them is, effectively, a cover letter. Don’t just say “Hi, I’m interested in Google, will you refer me?” Reach out to them and tell them about some of the things you’ve done, and then link them to your resume.


Again, this advice applies to all companies, and much of it to many positions as well.