A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

taowei

初级黑马

  • 黑马币:38

  • 帖子:19

  • 精华:0

本帖最后由 taowei 于 2015-12-30 22:34 编辑

关于

这篇文章围绕着技术简历这个话题,从版式、个人信息、技术能力、项目经历和教育背景等方面出发,给出了编写高质量技术简历所应遵循的47条原则。它们既有益于求职者编写高质量的简历,也有助于招聘者筛选合格的求职者。

为什么要编写这篇文章?

技术简历既是技术人员求职必不可少的一环,也是找工作的第一步,其重要性不言而喻。然而关于如何编写技术简历的靠谱教程却少之又少,以至于求职者无法编写出合格的简历,而招聘者无法从简历中看出求职者的真实水平。

一些人可能会反对:如何编写技术简历还不简单,网上到处都是嘛!找一个教程,套一个模板,简历不就出来了嘛!
精益技术简历原则

关于

为了使本文更加严谨有序,我在组织简历原则时参考了编程书籍中著名的Effective系列(例如Effective C++和Effective Java的行文风格:

“使用……”、“对……进行……”、“按照……”这些原则属于必须遵循的原则
“不要使用……”、“不要……”、“避免……”这些原则属于必须避免的原则
“考虑……”、“不必……”、“谨慎……”这些原则属于我个人建议的原则,你可以去违反它们,但我个人不推荐这样做
为了便于阅读和理解,我将这些原则按照进行了分类:

排版分类中的原则介绍了如何写出美观的简历
一般来说一封简历都会包含个人信息、技术能力、项目经验、教育背景和个人爱好,所以我将简历内容相关的原则按照这些分类进行了组织
英文简历分类介绍了如何改善你的英文简历
未被分组的原则被归类到其他
下面是精益技术简历的47条原则:

版式

原则1:使用对齐
原则2:不必使用居中
原则3:谨慎使用粗体
原则4:避免不必要的折行
原则5:使用制表符辅助对齐
个人信息

原则6:不要使用不必要的条目名称
原则7:使用分隔符增强电话号码的可读性
原则8:使用可以点击的链接
原则9:不要使用照片
原则10:不要写无关个人信息
原则11:使用客观事实而非主观描述
原则12:考虑提供他人的评价
原则13:不必写求职目标
技术能力

原则14:不要堆砌技术名词
原则15:对技术进行分类
原则16:使用正确的技术名称
原则17:不要写电脑能力
原则18:按照熟悉程度对技术能力进行排序
原则19:不要写过于特定的技术
原则20:谨慎使用精通
原则21:使用项目经验印证技术能力
项目经历

原则22:按照时间对项目经历排序
原则23:不要列出过多的项目
原则24:强调成果而非过程
原则25:使用量化结果而非抽象描述
原则26:强调影响力和复杂度
教育背景

原则27:不要写大学之前的教育经历
原则28:不要写课程列表
原则29:考虑使用成绩或排名
原则30:考虑使用导师(老师)的评语
原则31:考虑使用学业相关的奖项
个人爱好

原则32:避免写个人爱好
英文简历

原则33:不要出现拼写错误
原则34:不要使用全角字符
原则35:使用正确的词汇
原则36:使用简洁的句子
原则37:避免中式英语
原则38:使用一致的时态
原则39:考虑提供缩写词的解释
原则40:使用Bullets组织长段
原则41:打下良好的英文基础
其它

原则42:考虑使用超链接
原则43:考虑提供一个“加强版”简历
原则44:考虑提供开发社区账号
原则45:持续更新简历
原则46:不断提升个人能力
原则47:考虑征求他人意见
版式
版式(排版和样式)并不是简历内容的一部分,但却会对简历给人的第一印象造成很大影响——“字如其人”,简历版式可以反映其作者是否严谨是否认真。如果版式过于糟糕,那么简历很可能会被直接筛掉。
1. 使用对齐
对齐(Alignment)是良好排版的第一要素——对齐不仅使简历层次分明,也会给人有力的感觉,例如:
就不如
2. 不必使用居中
居中会破坏对齐,减弱整体的层次感,所以我不建议在简历中使用居中。例如:
就不如
是的,这条原则里使用的图片来自原则 1. 使用对齐,请牢记:左/右对齐优于居中对齐。
3. 谨慎使用粗体
粗体是一个很强大的工具,它可以有效的去引导简历阅读者的视线,并突出重要的内容。但我在阅读简历的时候发现不少人对粗体使用不当——滥用,用错,甚至是全文使用粗体,这使得简历完全无法被正常阅读。
粗体适用于去突出成就(Achievements),例如:
  • 量化的成就:将页面加载速度提升50%
  • 良好的成绩:GPA 4.0/4.0
  • 奖项:ICPC/ACM比赛中获得XX赛区一等奖
  • 他人的推荐语:“XX是我见过的最优秀的实习生”
在其它场景下,我不推荐使用粗体,此外注意不要过多使用粗体——粗体是为了突出成就,不是为了突出技术关键字太多的粗体会导致什么也突出不出来。
4. 避免不必要的折行
折行(Wrap)指当一行内容过长时会自动进入下一行。我不是说不可以折行(那就成了古龙小说了 :–/),而是说不要使用不必要的折行,比如说:
就不如
不必要的折行会降低简历的密度,破坏简历的层次感,而且会给人没话说有意占行数的感觉。请务必避免这样的折行。
5. 使用制表符辅助对齐
为了进行对齐,我们往往需要添加一些空白符。在这里请使用制表符(tab)而非空格(space),因为:
  • 空格往往不会带来严格的对齐(因为简历字体往往不是等宽的)
  • 制表符在打印版本下的表现更佳
个人信息
个人信息部分决定了简历阅读者对简历的第一印象,请务必在这部分内容多下功夫。
6. 不要使用不必要的条目名称
条目名称(Column name)这个词很拗口,我举一个例子:“姓名:张大锤”和“电话:135-9112-7890”里的“姓名”和“电话”就是条目名称。
绝大多数的条目名称都是不必要的——“张大锤”一看就是一个名字,“135-9112-7890”一看就是一个手机号码。这种条目信息会让简历变得拖沓啰嗦,请务必删除它们。
此外,请牢记“个人简历”是简历上最大的废话——这当然是一封简历,不用你提醒。可笑的是很多所谓的“500强简历模板”还把“个人简历”作为简历抬头(Header)。
7. 使用分隔符增强电话号码的可读性
请使用“-”和“()”格式化你的电话号码,例如:把8618601007070 改为 (+86) 186-0100-7070,以便简历阅读者能够正确便捷的拨打你的号码,此外这样的号码也显得更加专业。
8. 使用可以点击的链接
这样简历阅读者就可以直接点击,而不是费力的把链接复制粘贴到某个输入栏中。
9. 不要使用照片
照片不会对你的简历产生任何正面价值,而且它会破坏简历的结构,请不要在简历中使用照片。
10. 不要写无关个人信息
是的,你是在写技术简历,而不是在写入党申请或征婚启事之类的东西,所以请不要在简历中出现下面这些信息:
  • 性别
  • 生日
  • 星座
  • 籍贯
  • 通信地址
  • 民族
  • 政治面貌(WTF!!??)
  • 身高/体重
理想的个人信息应该包括姓名、联系方式(电邮地址和手机号码),如果你有不错的技术博客也可以把它放在上面。



6 个回复

倒序浏览
壮哉我大黑马
回复 使用道具 举报
蛮有用处的
回复 使用道具 举报
11. 使用客观事实而非主观描述

我经常在简历里面看到诸如“我是一个热爱编程的开发者”或是“我精力充沛,热爱学习,能够长时间从事编程工作”之类的个人评价,总之就是把雇主希望看到的性格特点堆在一起,有时感动的我都想哭。

但感动归感动,这些感人肺腑的个人评价我向来直接无视——我为什么要相信你呢?引用Linus的话,Talk is cheap, show me the code。如果要说明你是一个热爱编程的开发者,那么请出你的Github页面或优秀的个人作品;如果要说明你热爱学习,请给出你读过的书或写过的书评。总之,使用客观事实,而非主观描述。

12. 考虑提供他人的评价

这条原则是上一条原则的扩充——找你的导师、老板或者同事为你写一个评语,相对于主观描述,他人的评价往往更加可信。如果你的评价者是业内权威,那么效果就会更好。

13. 不必写求职目标

我读过的很多简历都有“Objective”(求职目标)这一栏,一般求职者会在这里写他所期待的职位。我个人非常不喜欢求职目标这一栏,因为求职目标给我一种海投简历的感觉。如果走的是内部推荐,或者使用目标公司的求职页面,请去掉求职目标,你应该已经了解投递职位,不需要在简历里面重复。

技术能力

技术能力是技术简历里面重要的一环,一般来说简历阅读者会通过这部分内容了解你的技能集(Skill set),从而构成对你的第一技术印象。

14. 不要堆砌技术名词

技术简历中一个常见误区是堆砌技术名词,一些求职者认为在简历上写的技术越多越好,于是把自己会的、用过的、见过的甚至没见过的技术都堆在一起,比如:

Technical Skills

Programming Language: HTML, CSS, PHP, JavaScript, SQL, Haskell, Perl, Python, C, C++, Java, Ruby, Prolog, .NET, C#, Assembly, REXX, Verilog, R, Visual Basic, MATLAB, jQuery, Angular, SASS
Operating System: Unix/Linux, Mac, MS-DOS, Windows 7/8, Windows Server 2003/2008/2012, z/VM
Software: Adobe Creative Cloud Dreamweaver, Photoshop, InDesign, Audition. WordPress, OmniUpdate, Google Analytics, Eclipse, NetBeans, LaTex, Microsoft Office Suite, Microsoft Excel, Project, Visio, Visual Studio
吓得我都坐地上了

是的,一个人可以同时掌握甚至精通多种编程语言,但一般来说这种可能性很小。当我看到这样的技术描述,我会迅速的跳转到简历的项目经验环节,如果我无法在项目经验里找到对应的技术,我会直接把这个简历筛掉。(我把它叫做“未声明引用”(Undeclared reference):你说你精通C++,但你却没有C++的项目经验,你确定不是在逗我?)

所以,不要堆砌技术名词,技术简历并非多多益善,熟悉什么技术就写什么技术,然后在项目经验里面给出你熟悉该技术的证据(evidence),这样会使你的简历更有说服力。
回复 使用道具 举报
15. 对技术进行分类

技术能力部分的另一个常见问题是缺乏分类或者分类错误,比如:

1
编程语言:C++, C#, Visual Studio, Shell, Python, Eclipse, Java
分类不清

这样的简历也会被直接扔进废纸篓——连编程语言和编程环境都分不清,招你作甚。

正确分类后就清楚了很多:

1
2
编程语言:C++, C#, Java, Python, Shell
开发环境:Visual Studio, Eclipse
16. 使用正确的技术名称

这个原则非常简单(甚至有点弱智)——正确拼写技术名称,并使用正确的大小写。我在这里摘取了一些我见过的技术名词错误:

Andoid –> Android
IOS, ios –> iOS
javascript –> JavaScript
coffescript –> CoffeeScript
intelij –> IntelliJ
Dikjstra –> Dijkstra
别字错误

请严格检查此类错误——这类错误会大大降低你的简历的专业性,并给人非常不好的印象

17. 不要写电脑能力

技术简历需要展现你的技术能力(Technical Skills),而不是电脑能力(Computer Skills),这两个概念比较拗口,所以我在这里举几个例子:

技术能力包括:编程(C++/Java/Python),开发环境(Visual Studio/IntelliJ/Eclipse),测试(JUnit/TestNG/mockito/truth),用户体验(Axure/Expression Blend)等等。
电脑能力包括:日常办公(Word/Excel/PowerPoint/Office),图形界面操作系统(Windows 7/8)的使用,浏览器(IE/Chrome/Safari)的使用等等。
电脑能力不但会稀释你的简历含金量,还会给人极不专业的感觉。不要在技术简历里面出现任何电脑能力——据说某公司甚至定了一个规矩,只要在技术简历里面看到Office字样就直接滤掉(靠谱!)。

18. 按照熟悉程度对技术能力进行排序

这个原则十分简单——使用合适的词汇描述你的技术能力,并按照熟悉程度排序,例如:

1
编程语言:C++, C#, Java, Python, JavaScript
就不如

1
编程语言:熟悉C++、C#和Java,了解Python和JavaScript
另一种方式是使用比较符:

1
编程语言:C++ = C# > Java > Python = JavaScript
注意:没有必要在技术能力后面加上使用时间,比如:

1
2
3
技术名称     熟练程度     使用时间
C++           精通         8年
Java          熟悉         5年
时间没有意义——搞技术的都明白技术的使用时间和技术的熟练程度没有任何关系(谁知道这货是不是用了1个月C++然后在后面的95个月不断重复第一个月的东西?),只可惜有些HR永远都不懂这个道理,也不肯懂。
回复 使用道具 举报
19. 不要写过于特定的技术

什么叫做过于特定(Specific)的技术呢?举个例子:

1
熟悉单例(Singleton)模式
捂脸

且不说单例是不是一个好模式,单例模式有什么好熟悉的?这种东西也配写到简历上吗?至少在我看来,“熟悉单例模式”就跟“熟悉for循环”、“精通if语句”一般可笑。

20. 谨慎使用精通

精通和Proficient是非常Strong的词汇,在简历上写精通类词汇也许会帮你得到面试机会,但你要面对难度更高的面试——招聘者会通过更高难度的问题来确认你真的是精通,而不是在嘴遁。

但如果你真的精通某项技术,那就自信的写上精通,然后用项目经历和面试中的表现说服招聘者,这样往往有助于你拿到Strong Offer。

21. 使用项目经验印证技术能力

这条原则在原则13 不要堆砌技术名词也有提到——你的技术能力应该在你的项目经历中得到全部体现,技术能力展现你的技能集(Skills Set),而项目经验为其提供证据(Evidence)。打个比方,如果你提到你熟悉C++,那么你就需要在项目经验中提到C++,否则我认为你在说谎或者忘记把C++的项目经验写在简历上,说谎和健忘,两者都不是好事。

项目经历

项目经历是简历阅读者进一步了解求职者技术能力的重要依据,良好的项目经历应当清晰,简洁,既印证前面提到的技术能力,也反映出求职者应对复杂度(Handle complexity)的能力。

22. 按照时间对项目经历排序

一般来说,项目经历应该按照时间倒序排序——最新的项目经历放在最前。此外,考虑去掉过于久远(比如说,七八年前)的项目经历,因为你很有可能已经忘了七八年前做过的东西了。

另外一种排序方式是按照项目的重要程度排序——最重要的项目放在最前,但我个人不推荐这种方式,因为往往最重要的项目都在最近,如果你最重要的项目在很多年,那么很有可能你这些年毫无长进。

23. 不要列出过多的项目

我经常看到非常长的简历:三四页纸,两三千字,十余个项目,恨不得把他/她做过的东西全都铺上去。而事实证明写出这样简历的人水平都不怎么样——至少就我的个人经验而言。

项目经历不是自传,不用把你全部的经历铺上去,也不要写过多的项目经历——三个项目是一个不错的选择,五个就有点多,十个就会没人看。要知道三个优秀的项目远胜十个一般的项目。

所以问题来了,什么是优秀的项目呢?就技术项目而言,我的评估标准是复杂度(Complexity)和影响力(Impact):一个项目,如果复杂度和影响力都有那是最好,如果只有一个也不错,如果都没有那就呵呵。我会在原则25 强调影响力和复杂度中进一步说明。

24. 强调成果而非过程

我在我之前的关于锤子手机和锤子手机发布会提到过:

总之,在锤子手机发布会上,我看到的是一个人在不断的强调自己有多努力多认真,但我也知道当某人不断的给你强调他有多努力(effort)时,事实往往是他还没有获得任何实质性成果(progress),简而言之,effort不等于progress。

技术简历也是如此,不要在项目经历中过度强调你有多努力。“连续高强度工作三个月”和“在深夜重构了XX项目中的代码”并不是一个好的项目描述:如果你“连续高强度工作三个月”却无法说明你的工作成果,“在深夜重构了XX项目中的代码”却无法说明重构后代码改进了多少,那我认为你的“努力”毫无意义。

强调你的项目成果(Achievements)而非过程,“将网站访问量提升300%”、“将响应时间从1.5s减少到0.1s以内”都是不错的成果。
回复 使用道具 举报
我只想说,求不删帖,我要收藏。楼主赛高,这对于我们这些菜鸟太有用了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马