V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
izzy27
V2EX  ›  程序员

程序员如何写好一份简历

  izzy27 · 2023-11-07 19:59:11 +08:00 · 7163 次点击
这是一个创建于 387 天前的主题,其中的信息可能已经有所发展或是发生改变。

我的一点经验分享,非常希望能帮到大家,如果有写得不明白的地方,欢迎批评指正!

欢迎大家到我的博客上阅读,体验更好:程序员如何写好一份简历


程序员如何写好一份简历

我在两个月的时间内看了 3000 多份简历,简历之间可谓是天差地别,有些简历看起来你就觉得浪费时间,有的简历会让你想立刻发出面试邀请。

为什么差距这么大?

  1. 很多人都不知道简历确切定义是什么,写一份漂亮的简历根本无从谈起,你能完成一件你根本不知道的任务吗?
  2. 大多数人就是找一个简历模板,然后一句句改成自己的简历,根本不知道这个地方为什么要这样写,写出来会有什么效果。
  3. 写简历本身就是一种写作,简历和论文一样,是一种专业性很强材料,好多人没有受过专业的训练,自然写不出漂亮的简历。

下面我将分享我的经验,帮助大家重构对简历的认知,并且按步骤的分析如何写好简历的每一个模块,最后我会提供一个模版和 checklist ,如果你认真看了我的文章,并尝试自己梳理一遍简历,你一定会得到一份比之前好很多的技术简历。

简历( resume )的定义

简历的目的

简历的目的是让招聘者快速了解你的专业能力,为他们作出招聘决策提供足够的信息。

程序员的简历要点

你必须展现出你的专业性

想象你一下如果你是老板,你希望找到一名怎样的程序员?是开朗的、健谈的,还是抗压能力强、任劳任怨的?

都不是,大多数老板最希望招聘到专业的程序员,专业的程序员是招聘岗位的最佳人选,专业的程序员招聘过来以后,是用来解决问题的。老板们花了大量的时间和金钱去招聘,只是为了找到专业的程序员。

一次错误的招聘耗费的成本是该岗位年薪的 1 到 1.5 倍薪水。

所以,你必须在简历中展现出专业性,你必须给人一种专家的姿态,让人相信你是某个领域的专家,你具有解决问题的能力,你就是该岗位最佳的候选人。

强目标导向,一切为了获得工作

我们写求职简历的唯一目的就是为了获得工作,为此你必须表现出强烈的欲望,你真的很想得到这份工作。

所以不要在简历上面写出和工作无关的废话,雇主根本不关心这些事情。你的简历只要清楚列出他们做出决策所需的所有信息即可,仅此而已。

简历的框架

其实我们程序员的简历是相当好写的,我们可以拆分成若干个部分来编写简历,每个部分里面有对应的模块。

第一部分 基本信息

这一部分记录了你的基本信息,供招聘方快速判断你能否满足岗位要求。

  • 个人信息
  • 求职意向
  • 摘要
  • 技术栈

第二部分 经历和背景

帮助招聘方进一步了解你的开发能力。

  • 工作经历
  • 项目经历
  • 教育背景

注意我们的经历应该按照倒序的方式编写,即最近的一段经历放在最前面。

第三部分 补充信息

  • 荣誉
  • 发表
  • 其它

这一部分包含了展现你工作能力的信息,比如说获奖证书、参与开源项目 PR 链接、出席的开源活动等。

一 基本信息

1 个人信息

最基本的个人信息:姓名、电话号码、邮箱。

你可以在此基础上提供更多的内容,例如性别、年龄、籍贯、照片等信息,但是你的姓名、电话号码,邮箱务必要保证准确无误。

我曾经见过一份电话号码打码的简历,不知道他是故意的还是无意的。

另外,你可以提供你的 GitHub 主页和博客地址,这是很大的加分项,因为它们体现了你的专业,前提是你平时有好好的维护它们,如果你的博客空空如也,面试官点开的时候可能会有些失望。

提示:

当你面试国企的时候,最好加上照片、性别、年龄、籍贯。

当你面试外企的时候,不必写出年龄,甚至照片和性别都不用写出(依据目标公司的内部文化)。

2 求职意向

求职意向是非常重要的,最好写在个人信息旁边。

如果 HR 和面试官正在看你的简历,你的求职意向可以简洁明了地表达出你想要什么样的职位,明确你的目标来节省他人的时间。

HR 收到简历的渠道有很多,其中内推渠道就是一个特别重要的来源,你的简历可能经过在职员工手上交给 HR ,如果你写明了求职意向,很好,HR 只需要查阅系统里面有没有相关岗位就能帮你推动到下一个环节;如果你没写,HR 还需要阅读你的简历,来查询系统中哪些岗位适合你。要知道,一个 HR 一天就可能收到 100 多份简历,HR 根本没有时间阅读并分析你到底适合哪个岗位。

另外,即使你可以胜任多个职位,你也不应该在一个目标中写多个职位(切记,不能有多个职位头衔)。最好是创建几份独立的简历,根据具体的工作要求对它们进行定制,然后分别申请每一份工作,每份工作都有一份独特的简历,为了获得 offer ,这些准备都是值得的。

3 摘要

简历需要摘要,这里的摘要是对你工作生涯和能力的总结,阅读摘要可以快速地获得这个人的能力、专业背景。

这是你作为一个专业人士的简介,这里只列出能支持你拿到 offer 的所有内容,以重要性为先。

同时不要在这里写一大段文本,也不要复制简历其它内容作为你的摘要。

一些例子:

  • 熟练掌握全栈开发和敏捷开发方法,具备 10 年以上的软件开发经验。
  • 热衷于解决复杂的技术问题,并具备卓越的编码和调试能力。
  • 在多个大型项目中担任核心开发者,成功交付高质量的软件解决方案。
  • 具备良好的团队合作和沟通能力,能够与不同背景的团队成员紧密合作。
  • 拥有卓越的领导能力和团队管理经验,擅长协调和激励跨功能团队以实现共同目标。

📎 当你做到第三步的时候,你就拥有了一个看起来相当不错的开头:

个人信息

4 技术栈

💡 很多简历都挂在这一步了,千万不要把术语写错了。

请你写术语之前,先去 Google 一下官方的标准用语,不要凭着记忆写了,常见的错误:

python ⇒ Python

Mybatis ⇒ MyBatis

Mysql ⇒ MySQL

别的不说,网上求简历评价的帖子,10 个有 8 个是有拼写错误的,请你一定要仔细检查。

简历上不能出现任何错误,一旦有一个错误,不管是小到标点符号还是大到逻辑不清晰、技术名词写错,都是你被淘汰的理由。

另外,你辛辛苦苦写了很久的简历,结果没有检查术语拼写,你可能连系统筛选都过不去,系统识别到错误拼写直接把简历淘汰了,都到不了 HR 手里。

技术栈在简历中的作用是向招聘人员展示你的技术能力,它可以帮助招聘人员快速了解你的开发能力,并判断你是否符合他们对候选人的要求。

写技术栈最好分类写,力求简单清晰,在每个类别中,你的技能应该熟练程度进行排序,同时把相似的技能放在一起。

同时技术栈一般有两种写法,第一种写法是仅仅描述出你的技能,第二种是详细描述对技能的掌握程度。

1 仅仅描述技能

📎 例子

Untitled

如果你的项目经历和工作经历写得很棒的话,自然而然就能体现出你技术的掌握程度,所以这里只列出你拥有的技能就好。

2 详细描述掌握程度

📎 例子

Untitled

来源:resume/resume-cn.pdf at master · ice1000/resume (github.com)

这也是一种不错的写法,面向专业的面试官,让他对你进行提问。

但是千万不要这样写:

  • 精通 xxx ,xxx ,xxx
  • 熟练使用 xxx ,xxx
  • 熟练使用 xxx ,xxx
  • 熟练使用 …

很多 HR 和面试官已经 PTSD 了。

二 经历和背景

5 工作经历

提示:工作经历和项目经历的写法很多,这里我只介绍一种写法,就是工作经历中不集中体现项目,只写出你在这段工作中的要点,把大的项目单独放到项目经历中,体现你的技术能力。

工作经历应该是以下组成部分

{担任职位,部门} - {公司} -{地点} {工作时间}

{总结你的工作内容和你达到的成绩}

  • 要点 1
  • 要点 2
  • 要点 3

什么叫要点?要点对你工作经历的一句话总结,但是能引起面试官的无数追问。

如果你的要点设置得很好,很容易引发面试官的兴趣。你应该像一个熟练的钓手一样,把要点作为一种诱饵,让面试官上钩,对你进行提问,接着你就可以用提前准备好的应对方式来回答这个问题,并且在回答中留有一些扩展,继续引诱面试官提问。假如一场面试中 80% 的时间都是你在回答问题,剩下的时间是面试官对你的提问和肯定,那么毫无疑问你主导了这场面试。

一个写要点的小技巧是:以动词开头,加强语气,结尾用动词和可量化的指标来展现你的工作价值,如果没有也不必强求,不要捏造,如果面试官问你指标是怎么计算的,你答不上来,场面会很尴尬。

📎 一个例子(这个例子比较简单,大家根据自己的工作经历修改):

Untitled

💡 Gap 了非常久怎么办?

  1. 假如你在 22 年 2 月离开了公司,在 22 年 10 月才找到下一份工作,那么你不必写出工作月份,没人会知道你中间 Gap 了 10 个月。
  2. 你可以说你去参与了某项志愿活动。

6 项目经历

项目经历的编写思路和工作经历非常类似。

{项目名称} {持续时间}

{一句话总结项目,尽量有意思一些}

  • 要点 1
  • 要点 2
  • 要点 3

我们还是抛出要点,吸引面试官来向我们提问。

📎 例子

Untitled

工作经历和项目经历非常重要

你应该:

  • 每个要点都是一句话总结。
  • 每段经历,你都应该记录下你遇到的最难问题,以及你是如何解决这个问题的。

我们都知道用 STAR 法则来描述我们的工作和项目经历,但是你知道面试官也会用 STAR 来向你提问吗?

STAR 法则:Situation, task, action, result - Wikipedia The situation, task, action, result (STAR) format is a technique[1] used by interviewers to gather all the relevant information about a specific capability that the job requires[citation needed].

引用马斯克的招聘策略,他往往只会问面试者两个问题:

  • 你遇到最难的问题是什么?
  • 你是如何解决它的?

Untitled

想办法用 STAR 总结你的工作和项目,同时引诱面试官向你提问。

提示:这也警告我们,千万不要伪造工作和项目经历,你无法应对追问。伪造的后果是严重的,你可以包装项目,但是不能伪造,请注意两者的区别。

💡 我找不到可以量化我工作的指标,例如提升多少百分比,节省多少时间,怎么办?

  1. 去问你的产品经理,有时候产品经理在汇报的时候,需要写出某个需求的作用和效果,去问他结果和计算方法。
  2. 平时做好工作记录,日志,埋点。

7 教育背景

还是一样,倒序,我们把最新的教育经历写在最前面。

如果你是校招

  • 你的 GPA 不错,写上,否则写百分比。
  • 你的某项课程不错(和工作相关),写上。
  • 校招最好写上就读时间范围,帮助 hr 快速筛选。

如果你是社招

  • 不必写 GPA ,都过去这么多年了。
  • 只写毕业时间就好。

📎 例子 Untitled

第三部分 补充信息

8 荣誉

任何能够证明你专业性的内容。

  • 出席技术论坛演讲。
  • 给公共仓库提交了 pr ,提供 pr 链接,让面试官能找到你 pr 的内容。
  • 个人博客最好带有阅读量
  • 与工作有关的证书
    • 千万别写什么钓鱼,长跑比赛、马拉松这种和工作无关的经历。

📎 例子

Untitled

9 出版物

没有可忽略,本质上是为了增强你的专业性。

10 其它

作为以上内容的补充信息。

简历必须要反复修改

我读研的时候,写的第一篇论文,修改了不下 20 次,最终它浓缩成 8 页双栏论文,发表在国际会议上,让我顺利毕业。

我印象最深刻的是,当我拿着初稿走进导师的办公室,他只是看了一眼标题和摘要后,就放下我的论文,语重心长地对我说:

“论文的写作是有惯例的,你这个标题和摘要,审稿人看一眼就知道是菜鸟,你知道为什么吗?因为你没有抓到惯例,你的修辞手法,你讲故事的方式,你的表达,统统和大家的惯例都不一样。

“你不需要写出惊世骇俗的论文,你只需要把你想要表达的信息,按照惯例,包装成一篇论文就好。审稿人拿到它的第一眼,就知道你是专业的,你是懂的。“

我拿着论文初稿回到实验室,接下来的两个月时间里,参考了十多篇论文,揣摩它们的写法,揣摩它们讲故事的能力,反复地修改论文。

当我修订到 10 多次的时候,我的导师终于能略读正文了。

当我修订到 20 多次的时候,我的导师终于让我坐在他旁边,一句句的给我讲这句话哪里有问题,这句话应该怎么改,这句话感觉不对。

我最后反复校对,反复的修订,投递出去后,终于被顺利接收了。

投递出去之后,回过头看初稿,我也是一眼都看不下去。

讲这个故事是让大家知道,简历其实和写论文一样,我们得反复改,我们第一遍写出来的东西,肯定是很难看的,我们真的要花时间反复改。

第一遍写出来的东西,就像是我们在周五下班前的半小时,为了交差而写出来的周报。

而第十遍写出来的东西,HR 和面试官一看到,就会觉得你是专业的,肃然起敬。

模版

推荐一个我参与开发的devresume,在线地址:DevResume (devresume-zeta.vercel.app)

仓库链接:

https://github.com/hhmy27/devresume

它的特点是我们简历内容都是从 json 中生成的,我认为这种结构化的表达方式会要求我们梳理好自己的工作经历、项目经历等信息,对我们编写和修改简历起到很大的帮助。

目前的样式可能不是很美观,你可以不用这个模版产生的 PDF 来作为你的简历,但是你可以在上面反复的修订你的内容,然后把修改好的内容放到你的最终的简历中,模版不重要,重要的是内容,你的内容做好了,放到哪个模版都是非常漂亮的。

只需要输入内容就好:

Untitled

最终样式:

Untitled

我在原作者的开发基础上提供了对中文的支持,将来我会增加更多的功能,包括加入 ChatGPT 来为求职者提供建议。

https://github.com/vangelov/devresume

另外,如果你熟悉 LaTeX 、Typst 的话,用它们写简历是一个很不错的选择,但是这需要一些学习成本,我第一份简历就是用 LaTeX 写的。

一些不错的 LaTex 简历模版:

https://github.com/dyweb/awesome-resume-for-chinese

checklist

按照这个清单去检查你的简历,反复的按照我提出的建议去修改每一个模块的内容,我们一定能写出一份不错的简历。

  • 个人信息
  • 求职意向
  • 摘要
  • 技术栈
    • 不要有拼写错误
  • 工作经历
  • 项目经历
  • 教育背景
  • 荣誉、出版物以及其它
  • 反复修改你的简历,10 次以上
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

行情这么差,写好简历有什么用呢?

最近计算机就业市场行情不是很棒,对此我有一段话送给大家:

我想明白了,历史上有很多人生不逢时,怀才不遇,乃至一辈子一事无成,这是命运使然,没有什么好遗憾的。但是如果哪一天机会来了,因为自己没有准备好而错失良机,那么只能责怪自己。所以我要不断学习,随时准备着,不辜负自己。——《走出戈壁:我的中国和美国故事》


如果你觉得我写的文章还不错,欢迎关注我的博客:

博客:hhmy 的博客 (nobelium-hhmy27.vercel.app)

每周我会更新一篇文章,希望能帮到你。

第 1 条附言  ·  2023-11-15 14:12:51 +08:00
欢迎关注我的公众号,每周更新一篇文章:code 路漫漫
23 条回复    2024-11-12 11:34:21 +08:00
SinclairLin
    1
SinclairLin  
   2023-11-08 11:37:55 +08:00
感谢,受益匪浅。
izzy27
    2
izzy27  
OP
   2023-11-08 12:56:07 +08:00
都没人评论 😂,自己顶一下
LiamTurner
    3
LiamTurner  
   2023-11-08 13:06:52 +08:00
感谢,昨天刚被通知裁员🤣。对正在准备简历的我,可以说非常受用了👍
izzy27
    4
izzy27  
OP
   2023-11-08 16:36:22 +08:00
@LiamTurner 希望能帮到你~
douchen
    5
douchen  
   2023-11-09 17:02:30 +08:00
感谢,被裁了正在找工作😷。
另外请问下大佬,面试时自我介绍的内容和简历上的内容什么关系呢?自我介绍应该念简历上的工作经历什么的吗?
simonCN
    6
simonCN  
   2023-11-10 17:17:19 +08:00
> DevResume (devresume-zeta.vercel.app)
这个不能调整顺序,比如我想把“教育背景”放在工作经历前面,感觉顺序是写死的
izzy27
    7
izzy27  
OP
   2023-11-10 20:46:01 +08:00
@douchen 自我介绍应该是对简历的提炼和补充,提炼指的是你对简历上的内容进一步总结,快速的介绍自己每个部分的信息,补充指的是对工作/项目中亮点信息的补充,对于希望面试官提问的部分,可以用 1 ~ 2 句话来描述该的亮点。

自我介绍的顺序应该和简历每个模块的顺序相同。大部分面试官都喜欢在你自我介绍的时候看简历,所以就按照小标题的顺序自我介绍就好。

自我介绍时间最好控制在 90 秒钟之内,我们需要用一种较快的语速念完 250 个字,按照这个时间和数量去准备自我介绍,并且要反复练习,不要念错,也不要结巴,对于项目和工作经历用到的术语,我们应该像说了上千遍一样淡定的提到它们。(这个建议来自《需求唤醒:如何改变别人的认知》)
izzy27
    8
izzy27  
OP
   2023-11-10 20:46:16 +08:00
@simonCN 感谢建议,后续增加这个功能
lueffy
    9
lueffy  
   2023-11-13 16:50:27 +08:00   ❤️ 1
写得这么好这么用心的帖子 竟然没几个回复
手动点赞一些 感谢楼主 好人一生平安
Denovo1998
    10
Denovo1998  
   2023-11-15 13:17:32 +08:00 via Android
请问,我可以把 pr 写在项目经历里面吗?因为我要换岗做中间件,现在公司做的和这个没任何关系,没办法伪造相关项目经历。但是我的一些 pr 做的和换岗后的方向一样,而且不是那种小 bug fix ,也有大的 feature 。
izzy27
    11
izzy27  
OP
   2023-11-15 14:10:21 +08:00
@Denovo1998 当然可以,挑有亮点的 feature 写,最好附上可访问的链接
tppttw
    12
tppttw  
   336 天前
感谢大佬,写的很好
mayday1997
    13
mayday1997  
   333 天前
op 的建议受益匪浅,可以问下总结不出工作内容,感觉没有什么有含金量的工作或是东一块西一块做的很杂,这应该怎么写工作经历比较好,是不是应该写一点别的东西包装一下
REDGroundwu
    14
REDGroundwu  
   302 天前
关于求职意向,想了解下如果是按照招聘页面上具体岗位去投的,还有必要写吗?
deali
    15
deali  
   210 天前
感谢分享!
vc86kkty
    16
vc86kkty  
   171 天前
感谢大佬分享,受益匪浅!
taco1wang
    17
taco1wang  
   170 天前
牛皮
LFITS
    18
LFITS  
   167 天前
@izzy27 简历模板打不开了吗?
izzy27
    19
izzy27  
OP
   163 天前
@LFITS 可以打开呀
axunnnn
    20
axunnnn  
   77 天前
感谢楼主受益匪浅。有一个小问题,就是这个项目描述和工作描述,分开写应该如何写?总是写重?看你的例子这部分也没办法借鉴, 工作部分写的"设计并实现数据库优化",项目又是一个完全不同的项目,也没有写 detail 部分应该写什么?困扰就是当其实是同一个项目的时候,工作部分写什么,项目部分又写哪些呢?这部分特别困扰
Fzzz02
    21
Fzzz02  
   61 天前
感谢分享
Emptyh
    22
Emptyh  
   49 天前
感谢,受益匪浅
Youfei
    23
Youfei  
   16 天前
写的非常好,点赞
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3133 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 13:52 · PVG 21:52 · LAX 05:52 · JFK 08:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.