如何写一篇杀手级的软件工程师简历,通过五轮面试斩获 offer 阿里实习生亲述
高亮显示关键部分
概要一览
只有一页的简历
招聘人员没有太多的时间来阅读你的简历。平均每份简历只有六秒钟。保持简历简明扼要。
开头,教育背景,工作经历,软件项目,技能
将章节按照重要性从上到下排列。对于一个寻找软件工程岗位的人来说,[个人项目](
) 是独特的、必备的条件。
每部分的字体和布局保持一致
确保每个部分看上去外观统一。样式一致非常重要,因为它可以提高可读性。而可读性是必要条件。
所以,为什么这篇简历成功呢?我们来探索以下数个关键点。
(1)你是谁
目标读者:任何需要写简历的人
个人姓名部分
开头很简单,只需要你的名字就可以。用一个大号的字体把你的名字放在简历的开头。
不需要绚丽颜色和花哨的字体。简简单单就好了。你希望招聘者远远看到时就能轻松的认出你的名字,从而让他们知道你是谁。招聘者如果仅需要他来做最简单的工作,那么他就会很乐意。而一个心情好的招聘者更有可能给你面试机会。
总结:让招聘者能够很容易的找到你的名字。
(2)联系信息
目标读者:任何需要写简历的人
联系信息部分
你的联系信息
应该和你的名字一样易于辨识。它非常重要。在世界上所有的事情当中,千万不要忘记这一件,否则招聘人员到底该怎么联系你呢?
总结:填入正确的联系信息,不然的话你可能永远没法被联系到。
(3)教育
目标读者:任何一个需要写简历的并且有学历的人
教育部分:标题
如果你正在上大学或者已经毕业,这段经历都应该是简历的第一部分,因为读大学是个很大的个人成就。根据美国劳工统计局的数据,仅有“百分之 66.7 的在 2017 年在 16 到 24 岁之间的高中毕业生进入了大学”。所以骄傲的加上它吧!
这条信息马上就能告诉招聘者你被大学录取并一直在学习,因为技术在不断的变化,因此这是非常关键的。并且这条消息可能是你成功获取面试的因素,请确保你加上了它。
总结:写下你在哪里接受过教育。
教育部分:课程
确保写上了你申请的职位相关的课程。尽管意大利美食历史这门课听上去很让人有胃口,但是当你申请计算机科学方面的工作的时候,简历上可没有它的位置。
这将会大大提高招聘者和招聘经理在审阅你的简历时决定你是否合适该岗位的可能。并且和前文提到的一样,招聘者如果心情愉悦,那就更可能给你面试机会。
总结:仅包括相关课程。
教育部分:GPA
好吧,GPA。在讨论这个之前,我们先要提醒自己什么是一篇简历的最主要目的。
简历得主要目的是,用简洁的方式着重说明你的知识,技能和成绩。你希望你的简历涵盖那些让你骄傲的,以及会让人印象深刻的事情。你希望附上自己尽可能最好看的照片,这样招聘者和招聘经理会想面试你。
现在返回来说你的 GPA。你的 GPA 是否引人瞩目是显而易见的。如果你的 GPA 在 3.0 以下,就不要放到简历上面了。如果它可能会对你的机会造成负面影响,那么不要在简历上写 GPA 也没什么不好。
如果你的 GPA 在 3.0 - 3.2,那就需要权衡一下。以个人经验来说,我曾经和一些公司交谈过,他们的最低要求是 GPA 3.2 分,但这些主要都是金融公司或者计量公司。大多数的软件公司不怎么关注你的 GPA。如果你在 3.2 分以上,那么就写在简历上吧。
如果你的 GPA 分数比较低,别怕,因为它反而可能给你创造性的机会。我的 GPA 总分是 3.2,因为我大一的工程先修课和人文课的成绩不好。但是一旦我结束了这些课程,开始了主修课的学习,我的主修 GPA(主修课内 GPA 计算结果)就是 3.44,这是相当高的分数了。所以我就把这个写在了简历上(但是务必将其视为部门 GPA)。
有很多方式都可以尽可能地展示自己,即使有些可能看起来是不利因素。我也仅是提供一个这样的例子,但是其实还有很多方法在等着你发现。拥抱你的缺点和成就吧,因为正是它们你才是你。要诚实和真诚,并且专注于展示自己最佳的部分。
总结:你的 GPA 并不能定义你是谁。你简历的目的是展示你最好的一面。永远不要忘了这个!要有创意,不要说谎。
(4)工作经验
目标读者:有软件工程工作经验的学生。
工作经验部分
如果你是没有工作经验的大学生,别担心!这份就是在我高年级申请全职工作的简历。我足够幸运,在暑假实习中得到了一份相关工作的经验,但是这仍旧不足以获取面试。如果你发现你在这部分可写的比较少,可以跳转到“[个人项目](
)”部分。
工作经验部分:头部
虽然能有过往工作经验很好,但是并不是所有的工作经验都能在找软件工程工作的时候被平等的看待。请只关注对你申请工作有关的工作经验。例如,如果你有一段工作是作为零售公司的出纳员,或者食品行业的服务生,不要加上它们!不幸的是,你数钱或者提供食物的能力并不能提供给他人你将能胜任软件工程师的任何信息。
一名招聘者的目标是匹配候选人与符合候选人技能的工作。因此,只将和你正在申请的工作有些相关性的过往工作经验加入简历,是必须的。
实现这部分的目标意味着创建一个简历的集合,每个简历都是针对你感兴趣的不同工作量身定制。这就和申请大学的过程类似,你必须要为你申请的每一所大学单独写一份论文。每所大学都有自己的价值观,文化和视野,所以你几乎不可能写一篇通用的,适合所有大学的论文。因此,对于你申请的工作,你的简历也必须要定制。
最后,注释好日期。将你的工作经验按照时间排序,从最近的开始。对于本科生,这就意味着在加入工作经历的时候,要同时注意近期性和相关性。糟糕的是,没人在意你在中学或者高中的成就。如果这段经验过期了,就舍弃它不要写了。
总结:为你申请的每一份工作定制不同的简历版本。没有一份适合所有场景的简历。
工作经验部分:描述
写简历最难的部分是用一种有意义并且能令人印象深刻的方式,充分总结你过往工作经历的成绩。
有意义并且令人印象深刻的描述对于你意味着什么呢?它意味着让招聘者认为:“这个人拥有的技能,正是我们寻找的。这个人在他过去的工作中有过卓著的影响力。这是我们想要面试的那个人,并且有可能录取。”
工作经验部分最主要的目的,就是展示你在成熟机构工作时候的影响力和价值。你的目标就是展示给招聘人员,你是一个能够搞定事情,把工作做好的候选人。
为了在我的简历中最好的展示我在过往工作中所取得的成就,我采用的是由 Google 前人力运营高级副总裁 Laszlo Bock 所提出的一个句式:
“通过 [Z] 实现了 [X] 的效果,提高或者改善(衡量标准)[Y]” —— Laszlo Bock
你能在我的简历的第一个要点中能非常清楚的看到这一点。
通过集成油量表传感器并设置电池节电状态,将设备的电池寿命提高了 8%
我们拆解分析下这句话:
实现了 [X] —— 提高了设备的电池寿命
提高或者改善了 [Y] —— 百分之 8
通过 [Z] —— 通过集成油量表传感器并设置电池节电状态
我的简历中,几乎所有的句子都套用了这个公式。
为了帮助你完成这部分,下面是一个不错的动词词库,你可以,也应该使用:
动词词库
下面是一些我总结出的可以填入内容的句子的例子,你可以从这儿开始:
通过 _____ 降低了 _____ 至 _____。
为了 _____ 重新设计了 _____ 。
为了 _____ 通过 _____ 完成了 _____。
通过 _____ 优化了 _____ 为 _____。
为了 _____ 将 _____ 应用到了 _____。
通过 _____ 提高了 _____ 至 _____。
为了 _____ 通过 _____ 将 _____ 集成。
为了 _____ 通过 _____ 成立了 _____ 。
总结:使用“通过 [Z] 实现了 [X] 的效果,提高或者改善了(衡量标准)[Y]”这样的句式。这是将你的影响力展示给招聘者或者经理的最有效和显著的方式。
工作经验部分:知识应用
最后,每段工作经验后面都会用知识应用这个要点作为结束。这最后一点通过清楚的说明的我在项目中使用的技术,其作用是让读者能够清楚的知道我熟悉的技术。
同样的,这让我能在简历最后,有一个精简但是清楚的“技能”部分。招聘者能够在接下来通过查看简历最后的我熟悉的计算机语言,迅速的获取我掌握的技能。如果他们寻找的是我是否知道特定技能,框架或者库的专业知识,则可以在我的每个项目下找到。
总结:在描述中加入你使用的技术,这将帮助你在网申的时候,通过在线关键字过滤。同样这能够给招聘者一个你的经验和知识的更清晰结论。
(5)个人项目
目标读者:寻找软件工程实习或者简直的学生 + 面向软件工程申请人的特别部分
个人项目部分
如果我说了足够多次,你将会明白这部分的重要性,特别是那些还没有工作经验的人。
个人项目是能够激起招聘者和招聘经理兴趣的部分,因为它表示你对编程很有热情。
个人项目可以是任何和编程相关的,可以是 Python 脚本,Java 程序,网页,移动端应用等等。这些项目表明了,你是真的对计算机科学感兴趣,有强烈的欲望去做软件工程师的工作,因为你愿意探索学校课业之外的知识,并创建一些自己的东西。
主动创建一些你自己的东西能让人印象深刻。这表示你很热衷于扩充自己计算机科学的知识,并且也不怕投入一些额外的工作来完成它们。最终,这是一个很好的方法来说明自己在这个领域的自主性和真兴趣。
做个人项目的另一个益处,就是你肯定能获取到你实际求职所需的技能。你在学校中可能不会常做,但是你在工作中一定会做的事情,比如使用标准的框架和库,理解全栈网络研发,创造移动端应用,设置开发环境,或者使用 Vim 高效编程。
注:创建一个陈列并陈述你所有个人项目的个人网站。这是一个小小的黑客手法,它让你的简历“实质上打破”了单页的限制。
最后重申一次,个人项目表示了你对于学习自己不具备工作必需技能的热衷。这是软件工程简历必需的部分。
“构建一些 iPhone 应用,网络应用,什么都可以!实际上,只要你在做,构建了什么并不重要。你可以用一个周末就构建出一个相当不错的项目。这也就意味着,3 到 4 个周末的工作量,你就可以让一般水平的简历变得非常精彩。认真讲,我曾经看到过好多人这么做。”
—— 前谷歌工程师,以及 Cracking the Coding Interview 的作者,Gayle McDowell
如果你非常想要到某一个公司工作,最好的引人注目的方法就是创建一个和你申请职位直接相关的个人项目。
我通过在 Udacity 报名了一个免费在线可交互计算机图形课程,获得了我在 Autodesk 的实习。这个课程教会了我使用一个名为 three.js 的 JavaScript 库,而事实上,在 Autodesk 开设了一个软件工程实习机构,正在寻找拥有网络全栈和 three.js(又名 ME)知识的人。
这种技巧需要谨慎。这种策略并不完美。只有像 Autodesk 这样没有像 Google,Facebook 和 Microsoft 那样的一般性的软件工程实习的公司,这种方法才有用。你在职业生涯起步的时候,最好概括并弄清楚计算机科学的与众不同的规律。尽管如此,如果你有某家非常想要进入的公司,这还是一个非常值得尝试的方法。
总结:个人项目是必须的。如果你还没有,现在就开始!你没什么可失去的,一切都可以争取。
(6)技能
目标读者:任何想要申请软件工程工作的人
技能部分
标题就解释了一切。这部分要保持易懂并且简单明了。将所有你希望招聘者知晓你具备的技能写在列表上。列表上列出的可以匹配工作职能描述中关键技术词汇的技能越多,你的机会就越大。
这将能够让你轻松通过在线关键字扫描。但是,这并不是一个可以绕开扫描的万无一失的方法。最终,招聘者会根据你的简历做决定,但是如果他认为你很适合这份工作,他会更倾向于给你面试机会。
技能部分不要提示的一点是,不要只是为了表明你是一个合适的人选,就列出所有职能描述里面所有的关键字。这可能反而会为难你,因为你声明自己知道的技能都会被问到。
给自己留出一些余地的部分是在简历中加入一个熟练程度标示。因为你可能并没有每天都练习你所遇到过的每一种语言,这个熟练程度就可以帮助招聘者及时了解你最扎实的语言,以及其他你所熟悉的语言。
我选择使用两条:
精通 —— 我非常熟悉的语言,使用起来很顺手,可以现在就接受面试。
熟悉 —— 我过去使用过,但是现在可能并不精通的语言,但是可以在给定的时间内熟悉起来。
其他可以的选择包括:
高等的
中级的
基本的
或者
精通的
高等的
中级的
或者
流利
精通
熟悉
或者
工作知识
基础知识
评论