程序员简历应该怎么写?

时间:2021-06-29 06:11:14

作者:ThoughtWorks中国
链接:https://www.zhihu.com/question/25002833/answer/158108028
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

大家伙让一让,这个问题让老司机先答!作为一个潜入IT圈五年之久、看过数万份简历的HR,在这个问题上还是有点发言权的。HR在筛选简历时主要从公司需求出发,重点不一,不过还是有很多“通用”的套路,为了在30秒内判断出这份简历是否值得跟进,我认为程序员写简历的正确姿势是这样的:

一、基本格调

即打开简历之后的第一印象。就好比我们看见一个人,会有一个整体的感觉,他是fashion的、小清新的还是老道的?有了第一印象之后再慢慢分解来看。

加分写法:

  • 简洁明了,逻辑结构清晰。
  • 字体,排版,顺畅,清晰整齐就好。
  • 最好是PDF格式,兼容性强且不易乱序。

减分写法:

  • 设计的过于浮夸或者过于简单的。(eg.有的简历五颜六色、非常酷炫,却半天找不到联系方式,抑或是只有个人基本信息和公司名称)
  • 写了十几页,半天打不开的,或者加载了半天,打开还乱码。

二、基本信息(姓名/性别/毕业院校/电话/邮箱/居住地/期望地)

加分写法:

  • 清晰罗列出以上信息,这样HR就不用在接下来的电话沟通或面试中再去追问这些内容,建立我们接下来电话沟通对你的熟悉度。
  • 再额外能加上QQ或者微信就更好了(以防有时候电话打不通哦,时不时会遇到这种情况)

减分写法:

  • 大部分的基本信息没有写
  • 甩给我一个Github链接,极致简洁的几句描述,需要通过你的链接来找你的联系方式。(如果不是博客写的特别好,基本是要放弃你了)

三、工作经历&项目经历

加分写法:

  • 工作经历项目经历可参照万能的STAR法则来写,STAR不清楚的童鞋点这里
  • 效力过哪些公司,我们匹配的公司? BAT? 知名大型互联网公司?
  • 做过什么行业领域,和我们目前的行业是否匹配
  • 擅长的技术语言,应用了哪些技术栈,(Java, Scala,Ruby, React, Vue, Microservice…)
  • 经历的项目复杂度,及在项目中承担什么样的角色(人的变化/技术的变化/环境的变化/不同工作经历相同角色的不同点)
  • 时间节点(空档期)

减分写法:

  • 看了半天,不知所云,没有任何亮点,没有让人有去和你聊一聊深扒的信息。

来几个栗子

栗子1错误打开方式:

  • XX(全栈工程师)2013.06 — 至今
  • 参与需求分析及实现方案设计。
  • 设计数据库表结构,实现后台功能及web页面展示。
  • 产品线上部署及运维。
  • ay 配置管理工程师 2010.03 — 2013.03
  • 负责公司产品性能测试,及线上数据分析
  • 负责公司配置管理,环境维护等工作

点评:看不出来他做的什么事情,没有逻辑性,甚至不知道他做的什么技术语言。

栗子2正确打开方式:

西安XXX公司 Java工程师 —2016.2月-2017.2月

1、MOGU推荐架构数据与缓存层设计开发

  • MOGU是一款时尚资讯app,负责推荐页面资讯feed流的展示及用户历史的展示
  • 负责数据层,处理前端逻辑整个开发工作,分布式rpc服务搭建
  • 负责进行压测监测、缓存处理,对接又进行改进优化,主用redis缓存

2、基于JAVA的电商爬虫开发

  • 使用java搭建爬虫server平台,进行配置和开发,进行网页改版监测功能开发
  • 爬取淘宝时尚品牌与其他电商网站商品品牌与详情等
  • 通过频率、ip池、匿名代理等应对一些网站的反爬

3、同图搜索Solr服务开发

基于算法组的同图策略,使用solr做java接又实现rpc服务搭建,进行索引构建和solr实现

北京XXX

java大数据工程师— 2013.4月-2015.12月

1、负责实时流消息处理应用系统构建和实现

  • 在调研了kafka的优势和我们的具体需求之后,用kafka作为消费者,保证高吞吐处理消息,并持久化消息的同时供其它服务使用,进行了系统的设计和搭建使用。 本地日志保证消息不丢失,并通过记录游标滑动重复读取数据。
  • 使用storm 负责搭建消息处理架构,并完成基于业务的消息落地,提供后续的数据 统计分析实时和离线任务,诸如pv、uv等数据,为运营做决策
  • 网站用户行为埋点和基于js的日志收集器开发,定义接又和前端部门配合。主用go 2、hadoop集群搭建和数据分析处理

2、基于CDH的集群搭建工作,后期进行维护

编写MapReduce程序,能将复杂工作逻辑化,尽最大能力发挥大数据应用的特点, 对程序高要求,监控自己程序运行情况,使用内存合理,注重增量和全量运算的利弊

3、调度系统设计与实现 基于quartz2搭建调度平台,带徒弟实现相关功能并定期review代码

4、数据库调优 负责主从搭建,并掌握主从搭建的利弊,了解业界mycat原理,有数据库优化经验,能 正确并擅长使用索引,对锁有深刻的认识

5、网站开发 java web网站业务开发,并能很好的使用缓存技术,对重构有实际的经验,并对面向对 象开发有全面的实战经验。了解java数据结构的使用场景,虽然对于大并发没有太大的 发挥余地,但是掌握了数据结构,对于并发和阻塞等有自己的见解。

点评:非常清晰的告诉简历阅读者自己做了什么事情,负责了什么样的事情,用了什么技术栈,且逻辑连贯。

四、 工作期望&个人评价

加分写法:

  • 对自己有一个全方位的一个描述总结,让别人更好的解读你。或者在此处,高亮你的优点特长有哪些。
  • 即使不写个人评价,也一定记得写上工作期望。

减分写法:

完全看不出个性特点,写和没写没什么区别。来几个栗子

栗子1 错误打开方式

为人性格,诚实谦虚,勤奋,能吃苦耐劳,有耐心,有团队意识,能和同学和谐相处,能虚心接受别人的建议的人。

责任心强,善于沟通,具有良好的团队合作精神;专业扎实,具有较强的钻研精神和学习能力;性格比较乐观外向,喜欢打羽毛球。

栗子2正确打开方式

  • 我对自己的定位: 主攻前端,同时在其他方面打打辅助。我不希望过于依赖别人,即使没有后端没有设计没有产品经理,我依然想要把这个产品做到完美。毕竟全栈才能最高效地解决问题。
  • 我对工作的态度: 第一,要高效完成自己的本职工作。第二,要在完成的基础上寻找完美。第三,要在完美的基础上,与其他同事 互相交流学习,互相提升。工作是一种生活方式,不是一份养家糊口的差事。
  • 我怎样克服困难: 不用百度是第一原则,在遇到技术问题时我往往会去Google、Stack over flow上寻找答案。但通常很多问题 并不一定已经被人解决,所以熟练地阅读源码、在手册、规范甚至 REPL的环境自己做实验才是最终解决问题的办法。相信事实的结果,自己动手去做。
  • 怎样保持自己的视野:我一直认为软件开发中视野极其重要,除了在 Twitter 上关注业界大牛,Github Trending 也是每周必刷。 另外 Podcast、Hacker News、Reddit 以及TechRadar 也是重要的一手资料。保持开阔视野才能找到更酷的解决方案。
  • 我的优势: 热爱技术、自学能力强,有良好的自我认知。全面的技能树与开阔的视野,良好的心态、情商与沟通能力。
  • 我的劣势: 非科班出身没有科班同学对算法的熟练掌握,但我决定死磕技术,弥补不足。

栗子3正确打开方式

  • 极客、热爱技术、热爱开源
  • Ruby on Rails:精通
  • Agile/Lean:精通
  • ReactJS:掌握
  • Docker:掌握
  • AWS:掌握

五、 是否有博客,个人技术栈点等

  1. 看到有这项的HR两眼已经放光了,加分加分项,说明你真正的热爱技术,善于学习总结,乐于分享,且有投入自己的业余时间到软件事业中。
  2. 我喜欢的书籍:《重构》《卓有成效的程序员》《代码整洁之道》等
  3. 我喜欢的社区: 图灵社区,知乎,博客园,Stack Over flow,Google Developer Group等
  4. 我的博客链接、个人作品链接如下:

六、简历内容真实性

老司机提醒你,你简历的任意一个细节将会是后面面试中的呈堂证供。

基本就这些了,希望对大家能有帮助,看起简历来几十秒,码字还是个体力活。