程序员简历应该怎么写?

没工作的日子每晚都睡不着,焦虑恐惧害怕,半夜没人上知乎都没放松的环境了 现状,非学生,找普通工作不是fancy job,毕业后没写过简历不知道该怎么搞
关注者
8651
被浏览
675173

61 个回答

大家伙让一让,这个问题让老司机先答!作为一个潜入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. 我的博客链接、个人作品链接如下:

六、简历内容真实性

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

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

铛铛铛!!!前方高能!专业招聘一百年,猝不及防的广告来啦!

ThoughtWorks一直在找和我们志趣相投的人、真正热爱技术的人、喜欢刨根问底的人,那种为了完成而完成的人不是我们想要的。在公司里,我们经常会听到这样的话:我们不只要实现功能,更要以正确的方式来做。追求是无止境的,所以,我们要找的就是具备深入思考的能力/潜力的人,这样,我们才能不断向前。

我们在全国一共六个Office 北京,西安,武汉,成都,深圳,上海。每一个Office都欢迎全球各地全国各地的所有兄弟姐妹们加入。

有需要内推的不?没有的话,我一会儿再来问一遍 ;)

4.24日更新:收到了好多简历,先谢谢大家的支持。经HR反馈,ThoughtWorks中国区的几个办公室都已经没有对实习生的需求了哈(实习生大多都是在校招中拿到Offer的,同学们可以多多关注校招消息,争取明年的实习)

说到程序员简历,这两个月,我看过不下10,000份简历。。。

答主不是HR,也不是技术负责人,但是在网站的运营工作中,每天最开心的事情就是研究候选人的简历了~~ 这些人中,有BAT的资深大牛程序员,也有90后程序员小鲜肉;有人到中年的程序员渴望去创业公司突破瓶颈,也有身在硅谷的程序员自降薪水寻求回国机会。。。

那么问题来了,为什么看上去差不多的技术和资历,有人可以一个月收到二三十个offer,有人只有寥寥几个?

答案与简历相关。虽然技术有高有低、资历有深有浅,个人客观情况在短时间无法改变(经历造假可鄙),但是,如何将它们呈现在简历中是有技巧的。

回答题主的问题「程序员简历应该怎么写」?我认为,程序员就应该拿技术说话,「技术总结」是一份程序员简历的重中之重。除了大神和大牛,普通的程序员如果能在叙述中中体现自己的风格,在技术总结中展示鲜明的个人形象,会更吸引公司的注意,拿到更多的面试邀请。

  • 技术总结的风格多种多样,举几个栗子:
(这些栗子都是答主随手摘的,非真实!!!请轻拍~)

  1. 最普通的技术总结
  2. 资历深厚长篇大论型
  3. 牛人极简型
  4. 硅谷Geek风
  5. 卖萌型

  • 小结:
1、尽量避免主观表述,少一点语义模糊的形容词,除非是大公司大牛,已经有成果撑腰,否则慎用「熟悉… …」、「使用过… …」

2、多一点表意清楚,语气肯定的数量词、名词、成果描述。一定要将自己的优势和期望明晰地表达出来,便于招聘方能对候选人有更准确的定位:
介绍技术:最近几份工作经历中所参与过的产品、项目、角色
  • 在工作中做的项目的技术细节
  • 克服过的技术难点与细节
  • 感兴趣的技术
  • 在程序马拉松上参加的项目或者是业余的个人项目(+link)
  • 如果领导过技术团队,写下带的团队的规模与管理风格
介绍自己:过往有特点经历、擅长的方向、对互联网的理解、职业发展规划

  • 试试用markdown语法,注意下排版,预览再提交,版面整洁、干净,也是加分项。


  • 最后,看了10,000份简历的心得:
  1. HR/技术负责人更喜欢看到一份显示「职业上升趋势」的简历;
  2. 牛人讲结果,普通人讲过程。