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.
例如,如果你是一名花旗银行(CitiBank)的程序员,参与这些项目尤其重要。虽然你没有纯正的“血统”。但这些项目能够给你加分。
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.”
只需要一页即可。如果你的简历达到两页,很显然,你只是在其中添加了一些无关紧要的内容。当面试官只花15秒浏览你的简历时,“总体内容”并不重要,重要的是平均内容。
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.
尽量陈述项目的文字——每一项1至2行即可。3行或3行以上的文字陈述,看起来像段落,不会有人愿意读。
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.
询问你的朋友。有人在谷歌(Google)工作吗?或者认识某位在谷歌工作的朋友吗?如果有人推荐,对你的求职会有很大帮助。
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.
尝试在Twitter、Quora或其他社交媒体上联系谷歌的工程师。记住,与他们的第一次联系就是你的求职信。不要简单地说“你好,我对谷歌很感兴趣,能向公司推荐我吗?”联系他们,告诉他们你做过的事情,然后将简历的链接发送给他们。
Again, this advice applies to all companies, and much of it to many positions as well.
再说一遍,这些建议适用于所用公司,其中大部分也适用于多个岗位。