应届生如何写好技术简历

如题

Created on 2020-03-14 13:07

背景介绍

笔者目前在蚂蚁金服-网商银行做后端开发, 因为在组内毕业时间最短(2年), 所以经常会被Leader当成免费的HR去找校招简历, 所以见过不少的简历(>100份), 把收到简历之后, 有时会给简历打分, 然后再给到老板. 因为见过不少的简历, 发现有些学历,经历优秀的同学, 因为没有好好写简历而被埋没, 也见过通过简历, 放大自身优点的同学. 所以在这里, 以前人的姿态, 斗胆谈一个应届生如何写好一份简历的技巧, 也希望给各位同学带来一点帮忙.

自我介绍

自我介绍, 无需赘言, 就是把你的个人信息简明介绍完, 包括教育经历, 专业, 邮箱, 电话, Github地址(如果有优秀项目的话, 如果只是注册了个账号, 还是不要放上去). 需要注意的是, 关于是否放照片这一点, 个人倾向于不放, 作为技术开发, 放不放都无所谓, 放了容易分散注意力. 如果要放照片, 照片请做到简洁, 得体.

实习经历/项目经历

对于开发岗, 实习经历和项目经历是重要的栏目, 也是面试官期待看到的栏目, 因为应届生没有工作经历, 所以就只好写实习经历和项目经历, 对于实习经历/项目经历, 按时间升序或者降序排列, 不要太乱, 个人推荐的格式:

xx 公司/xx 项目, 时间: 2020.03-2020.xx
1. 项目背景一句话、
2. 自己在项目里负责的工作
3. 用到的技能/思考的过程或者难点攻克的过程
4. 项目的结果或者我的成绩 

总而言之, 参考STAR法则.

需要避免的一些问题:

  1. 技术无关的事情少写, 更不要写一些大家都知道的事情. 在项目中负责"代码的编写, 用例的测试, 以及相关文档的校对/编辑", 总结来说, 你写代码了, 但是做了啥呢? 没体现.
  2. 避免流水账, 希望可以简洁明了, 突出重点, 使用STAR法则, 参见如何使用STAR法则写自己的简历啊
  3. 避免写和你面试岗位不相关的内容, 我去当家教了, 我把它写到简历里, 但是你面试的是技术岗位, 不是老师.

个人技能

将个人技能按照熟悉程度降序排列, 通过项目和技能介绍, 给面试官留下一种"喜欢学习新事物, 喜欢挑战, 喜欢折腾, 有geek精神". 列下需要注意的点:

  1. 避免主观内容, 比如吃苦耐劳, 善于学习这些; 招聘面试很重要的一点是筛选出符合有相关专业/潜力的同学, 这些都是通过客观条件体现的, 比如你的项目, 竞赛, 论文等, 尝试通过能力和项目来证明, 而不是自己主观评价. 程序开发是技术活, 对于应届生而言, 讲究的是 Talk is cheap, Show me your work.
  2. 尝试提供事实支撑; 如"熟悉Spring框架"的表述, 肯定不如"了解Spring框架, 读过部分代码, 包括容器依赖注入, 控制反转, 总结相关的设计模式"等.
  3. 不要写一些和技术无关的技能, 如"会PS, 有驾照"这类. 四六级, 雅思/托福, 日语N1/N2这些语言技能可以加上

顶级期刊论文/Acm竞赛

这些都是重要加分项, 如果有的话, 就把期刊论文和Acm竞赛的获奖经历, 列出来, 提高面试官的期望值, 按奖项/论文的含金量降序排列, 如果没有的话, 就跳过.

其他亮点

大部分的同学可能都没有Github 1w+的star, 没有为Linux Kernel/Netty/Redis/Mysql这些项目贡献过代码 ,没发过顶级期刊的论文, 就觉得自惭形愧, 一无是处. 我觉得并非如此, 我觉得折腾过Vim/Emacs, 熟悉使用Zsh+Tmux+Git, 熟悉Linux(关于熟悉的标准, 参见下文), 也是亮点; 并非要做到最好, 才叫有亮点; 也并非产出对应的结果才讲亮点, 对于学生而言, 探索/折腾的过程同样重要; 此外, 没有哪个专家不是从菜鸟开始起步的; 接下来我会列举下我认为亮点的地方:

  1. 参与开源项目, 有一定的star/follower, 比如我到现在都在维护Rust的一个开源库, 也写过700+star的爬虫.
  2. 有自己的blog, 很多新的技术就可以在blog实践, 也有地方可以沉淀自己的思考, 包括遇到的问题及其排查思路与过程, 记录有趣的事情等等, 但如果都是搬运的文章就算了.
  3. 研究过开源技术, 如我自己折腾过常用的Linux发行版本, 个人开发日常使用Linux, 使用Emacs超过5年, 自己编写Shell脚本管理电脑, 在17年开始学习Rust等等.
  4. 阅读相关项目源码, 有相应的总结/思考. 如Jdk/JUC源码, Spring源码, Tomcat源码, Netty源码, 记录在自己blog上.
  5. 了解/使用多种语言, Java/C++/C/Python/Go/Rust/Sql/Shell, 这个就不一一列举了.

总而言之, 自己的思考/动手折腾/新鲜事物的探索, 都可以像亮点.

个人评价/兴趣爱好

公司招聘是选择有能力, 并且合适的同学, 并不是相亲, 所以老板并不关心你的兴趣爱好和个人评价; 在面试中, 你应该是由面试官评价, 自我评价并没有什么用处, 写上去还占空间.

细节

需要明确的一点, 在面试官面试你之前, 你的简历就是你最大的推销手段, 你的简历代表着你在和其他上百名的竞争者做着竞争, 因此你的简历每多打磨一分, 你的在众多简历中脱颖而出的机会就多了一分, 所以简历需要精心打磨, 那么很多细节就应该注意, 说下我看到的细节点:

  1. 文档格式: 简历的文件类型最好用pdf, 很多技术开发用的是Mac, 如果用的是word, 可能遇到各种问题, 排版也可能会乱掉, pdf不存在这样的问题, 速度也行.
  2. 简历模板: 可以的话, 请不要用 word 套模板, 要套模板就用latex, 不用调格式, 例如: https://github.com/billryan/resume
  3. 简历篇幅: 应届生的简历最好一页写完, 如果一页没写完, 第二页只多了一点内容, 就会显得很难受.
  4. 简历命名: 发送简历给面试官, 或者简历收集同学的时候, 请不要用"个人简历/我的简历"这类的名字, 谁知道"个人/我"指的是谁, 推荐命名: 学校_学历_姓名_求职意愿.pdf 如: xx大学_硕士_宫xx_后端开发.pdf
  5. 技术熟悉程度: 精通, 熟悉, 了解; 这些用词请注意, 按我的理解, "了解"要起码用这个技术自己做过一点东西, 平时关心相关的新闻和前沿进展; "熟悉"则是平时经常用到这个技术, 或者曾经在很长一段时间内以它为主做过开发;"精通"则起码要能把它从头到尾理解得非常透彻才能算是. 如果你是了解, 然后简历说是精通, 面试官对你的期望会拔高, 然后发现你是了解, 那心理就会有落差. 举例 ,我精通git, 然而只会git add/git commit/git push, 连git bisect都没听过, 那就...
  6. 参与程度; 参与, 负责; 请注意用词, 参与系统开发表现对某个功能模块清楚, 负责表示所有设计考虑, 技术实现都清楚.
  7. 和你面试工作相关的东西不要写; 如我是学生会干部, 这个没啥用, 我们要的不是干部, 而是有相关专业技能的人才.

总结

总而言之, 写好简历可以做到扬长避短, 最大限度突出亮点的作用, 如果你觉得实在绞尽脑汁都没有什么可以写的话, 或者你应该重新去做些个人项目, 积累经验再来投递. 说了这么多, 因为拿份示例出来了, 因为我已经工作2年, 已经找不到找实习当时的简历了, 所以拿了基友的简历过来, 基友拿到了AWS的offer, 他的实习/学术项目已经足够丰富, 其他内容就做了取舍(已获得基友授权, 基于本人要求, 去掉个人信息):

8ZxIzt.jpg