程序员如何写好一份简历 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
izzy27
V2EX    程序员

程序员如何写好一份简历

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

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

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


程序员如何写好一份简历

我在两个月的时间内看了 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 Thesituation, task, action, result(STAR) format is a technique[1]used byinterviewersto gather all the relevant information about a specific capability that thejobrequires[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 路漫漫
24 条回复    2025-08-24 21:19:29 +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  
   2023-12-28 09:34:20 +08:00
感谢大佬,写的很好
mayday1997
    13
mayday1997  
   2023-12-31 13:43:23 +08:00
op 的建议受益匪浅,可以问下总结不出工作内容,感觉没有什么有含金量的工作或是东一块西一块做的很杂,这应该怎么写工作经历比较好,是不是应该写一点别的东西包装一下
REDGroundwu
    14
REDGroundwu  
   2024-01-31 13:01:13 +08:00
关于求职意向,想了解下如果是按照招聘页面上具体岗位去投的,还有必要写吗?
deali
    15
deali  
   2024-05-02 11:28:40 +08:00
感谢分享!
vc86kkty
    16
vc86kkty  
   2024-06-10 21:13:33 +08:00
感谢大佬分享,受益匪浅!
taco1wang
    17
taco1wang  
   2024-06-11 16:36:10 +08:00
牛皮
LFITS
    18
LFITS  
   2024-06-14 00:22:55 +08:00
@izzy27 简历模板打不开了吗?
izzy27
    19
izzy27  
OP
   2024-06-18 18:23:10 +08:00
@LFITS 可以打开呀
axunnnn
    20
axunnnn  
   2024-09-12 20:35:57 +08:00
感谢楼主受益匪浅。有一个小问题,就是这个项目描述和工作描述,分开写应该如何写?总是写重?看你的例子这部分也没办法借鉴, 工作部分写的"设计并实现数据库优化",项目又是一个完全不同的项目,也没有写 detail 部分应该写什么?困扰就是当其实是同一个项目的时候,工作部分写什么,项目部分又写哪些呢?这部分特别困扰
Fzzz02
    21
Fzzz02  
   2024-09-28 19:20:00 +08:00
感谢分享
Emptyh
    22
Emptyh  
   2024-10-10 14:28:42 +08:00
感谢,受益匪浅
Youfei
    23
Youfei  
   333 天前
写的非常好,点赞
jameszhangqk1
    24
jameszhangqk1  
   48 天前
mark
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2594 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 25ms UTC 14:59 PVG 22:59 LAX 07:59 JFK 10:59
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86