你会把你的 GitHub 贴在简历上么?
本文转载自「果汁简历」,果汁简历 公众号是最近我发现的一个还不错的刚刚成立的号,专注于简历以及内推,感兴趣的大家可以通过原文链接到达他的公号。
很多招聘描述上面都会备注 github加分项
,那么为什么它是加分项呢?
停,如果看到这里你还不知道 Github
是什么,可以看一下 Phodal
的手记
https://github.com/phodal/github (手动粘贴或者阅读原文)
社区光环,众所众知,Github 是开发者的“同性交友社区”。Google, FB, Alibaba 都在通过它来贡献自己的开源项目。如果你留心关注,公司越大
Github
的贡献度越高,那么如果你想进入大的互联网公司,是不是也提前融入一下这个氛围?同时对于求知的小伙伴儿想阅读源码没有什么比它来的更直接了。代码工具,基本上
90%
以上的公司都使用Git
系工具(Gitlab,Gitee,Github)做项目源码管理,你的提交记录是最好的证明你的Git
基本功,要比在简历上写熟练使用Git
更有说服力。那么一个题外话,如果你也热衷于维护StackOverflow
账号,写上也是一种加分。编程习惯,
Talkischeap,show me the code.
, 这句话想必大家都知道吧。Github
上面的代码能够最直观的看到你的编程风格和能力,面试官在背调的时候可以通过你的代码结构,更深入的了解你,好的编程规范会在面试前就留下一个很好的印象。大多数面试官希望看到这种能够真正展示你能力的东西,而不是只是在简历上写会什么什么。作为面试官,大多数是来看人们的编码习惯,不管人家写这个东西是为了什么的。技术热情,如果你钟情于购物你第一想到的可能是小红书,如果你钟情于阅读第一想到的可能“蜗牛读书”(笔者在用很不错的读书 App),如果你钟情于看新闻第一想到的可能是腾讯新闻。然而如果你钟情于技术第一想到的可能是
Github
。只有一个钟情技术的人,才会想像朋友圈一样每天关注 Github,维护 Github。所以你“绿油油”的 Github 是你的技术热情的最好体现。你看到下图会动心吗?
PS: 曾经一个技术很不错的小伙伴终面的时候挂了,面试系统中的备注是:“看不到他对技术的热情”。所以这也会作为面试的一个考量。
英文水平,常用
Github
的朋友可能不觉得,但是对于普遍互联网公司的朋友们,英语都是致命的伤痛。虽然Github
简单的操作英文并不是那么难,但是想把它玩透,还是需要一些功底的。如果你没用那么好的英语底子也能玩透,无论是你的英文熟悉能力还是适应能力都是可以肯定的。对了,还有你的repository
的命名。这不比写上四六级证书来的实际?
PS: 我们其实也都知道,当年的四六级是怎么就过了。[坏笑]
涉猎领域,你的圈子决定了你的水平,一样的道理。你的
Github
的follow
,star
,followers
,repository
,pull request
还有你获得star
,都是在展示你的涉猎,关注和掌握程度。你的一个ElasticSearch
的PullRequest
被Merge
远比你的一句“精通 ElasticSearch”要更有说服力。情投意合,村子里面的阿姨每天就聊聊哪个市场的白菜最新鲜,那么你如果有好的 star 或者好的开源贡献,这会让面试官在面试你的时候有东西可聊。如果他喜欢上你的
repository
而侃侃而谈,那么结果会怎么样呢?开源贡献,开源贡献不一定非要有一个几K的star,而是你对于开源的那份热忱。可以是好的资源整理,也可以是自己找到了痛点做的一个很小的工具,或者是使用别人的工具提的
pull request
。都是你对开源的那一份热忱。你从开源一直索取,适当的给予更能体现一个人的心智。与众不同,虽然上面说了
Github
的好处多多,但是国内的技术圈子能持续坚持Github
的人还是太少了,所以变成了如果你有一个不错的Github
写到简历上面也算是一道风景线了。
PS: 笔者每天阅读近百份简历,能有不错
Github
的人寥寥无几。
为什么没有亮点反而减分
僵尸粉,一进来 Github 主页只有几个空项目,名字很奇怪也没有 star,点击进去杂乱的项目目录,提交记录和中文提交备注。那么这样的 Github 不仅没有提分的亮点,而且还会大大折扣面试官的印象。
零参与,别人都是“绿油油”的草地,你这是撒哈拉沙漠,那么一点也体现不出来你对技术的热情,持续的学习。
短而小,如果都是
HelloWorld
一样的demo
是完全没有说服力的。乱投机,自己没有贡献代码,只是因为提交了
issue
可以把别人的repository
固定到自己的GithubProfile
首页。这样不但不能加分反而减分。这样就好比随意粘贴来别人辛苦写的公众号文章作为自己的原创一样。乱命名,这几天在收到的简历里面发现了好多github命名方式千奇百怪,比如 X00000000X,LZ00000000,ZUOYE20170909。这可是你的用户名,一来方便别人访问和记住,二来你这个命名都这么不规范,何况是项目,类,方法呢?
不专业,切记,想提高自己也好,想开源小东西也好,切记不能再上班时间整理自己的代码,如果面试官一看你的所有提交记录都是周一到周五的上班时间,那么你想他还会聘请你吗?我的意思不是说让你工作日写完,周末去提交,而是 Github 是体现你业余时间的一个贡献度。
怎么样让自己的 Github 加分
习惯,良好的使用习惯,就像是每天来看朋友圈一样,不一定每天都有东西要提交,但是一定要一直有一个
repository
在维护,持续的提交代码。同时也要注意自己的repository
的命名,提交代码保证一次的功能完备,提交备注要清晰明了。持久,可以试着翻译外文,写博客,或者是自己做一个有意思的小程序,每天坚持编写代码,提交代码。但是一定要注意每次提交的功能完整性和备注。
贡献,很多方式可以贡献开源社区,有一个话说的非常好,我们做程序不是总知道提出问题,而是提出问题并有解决方案。那么你可以提交
issue
给你觉得有问题的软件,如果没有理睬自己修改,然后提交pull request
。或者自己做一些脚手架,多少有一些实际的功能,当然我们不希望重复制造轮子,你在创造的时候还是提前去检索一番。不过这个时候你需要了解一下开源协议,合理的使用别人的源码和开源自己的源码。
PS: 阮一峰老师的文章写得深入浅出(手动粘贴或者阅读原文) http://www.ruanyifeng.com/blog/2011/05/howtochoosefreesoftware_licenses.html
文档,开发人员处理编码,更重要的是能写出完备的文档,所以如果你开源了项目,一定要详细的写出说明问题。这不仅体现出你的编写文档能力,还能体现你的逻辑能力。
关注,原来你可能使用 Google 来解决问题,告诉你一个新方法,遇到问题可以按照自己提炼的关键字来 Github 搜索,没准能找到意想不到的结果。而后呢 Fork 或者 Star 这个你得到的结果,慢慢的你就真正的把 Github 用起来了。
英文,试着不要给
repository
起拼音名字,试着用英文写readme
,试着每一个提交都是英文,并每次都要斟酌。博客,一个
GithubPages
的博客对于有技术热忱的极客来说,比每天在 CSDN 写博客要专业很多。可以没有自己的域名,自带的域名也可以带飞。不过这里需要补充一点,不是一拥有了一个博客就加分,而是你是不是在持续的维护这个博客。 PS: juice-resume.github.io 看起来是不是有点极客感?简历,写一份
Markdown
的简历也是一个不错的选择,极客一般都喜欢使用Markdown
写文章,写文档,有的时候就连周报也用。那么你写一个Markdown
的简历也是一个亮点诶。比如按照如下格式写一个简历放在自己的Github
。
模板
写简历首先要有一个好的模板,我们做技术的不同于 UX,UED,我们不需要那么花哨,但是也需要整洁干净。好的模板能让你的简历给面试官一个好的印象,有一句话说得好,简单而不简单。
回到技术上面,既然我们每天都用 Markdown
写文档,那么为什么直接用它编写我们的简历呢?清楚,简介,一目了然,方便存档和编辑。
在线 Markdown 简历生成工具,可以导出 PDF。http://cvbox.sinaapp.com
有道云笔记,支持 Markdown 语法,并且可以存储,同时支持导出 PDF
技巧
目前写简历的方式有两种普遍被认可,一种是 STAR, 一种是 FAB。
STAR法则,即为Situation Task Action Result的缩写,具体含义是:
Situation: 事情是在什么情况下发生
Task: 你是如何明确你的任务的
Action: 针对这样的情况分析,你采用了什么行动方式
Result: 结果怎样,在这样的情况下你学习到了什么
FAB 法则,即Feature Advantage Benefit 的缩写,具体含义如下:
Feature:是什么
Advantage:比别人好在哪些地方
Benefit:如果雇佣你,招聘方会得到什么好处
综上所述,无论是那种方式都是在用最简单明了的方式告诉别人你的工作,能力同时也体现了你的表达和总结能力。所以这个地方自己一定要反复推敲。
规避
技术点,技术点描述不需要多而繁杂,不能乱入座,什么开发工具,写 Tomcat,你怎么不说 Java 是操作系统呢。
PS:大公司大多考虑的是领域深度,而不是很关心你是否为全栈。项目经历,时间倒序,项目不在于多,在于有亮点。
反复检查和校验,切记马虎,切记马虎。切记错别字,切记错别字,切记错别字,笔者写简历的经历,检查几次以后还会有错别字。对于筛选简历的人是看到错别字,拼写错误是非常致命的,第一印象就是马虎。
简单说明厉害即可,切勿长篇大论,没重点。你要考虑到每天筛查简历的人可能选择100多份。
格式,不用花花绿绿,直接markdown即可,简洁并且有极客精神,如果喜欢其他格式尽量简洁明了。
不需要把内容压缩到一页,干净整洁,让阅读者继续看就可以了。
PS: 网上的谬论说必须只能一页。尽量与众不同,面试者每天看很多简历,不要把自己简历写的自己觉得都什么亮点。如果特别没有亮点可以写一些自己遇到的问题,解决的问题,或者讲述一下自己理解的别人做的最好的设计方案。
打个样,下面是一篇 JAVA 开发工程师的简历样例。
JAVA开发工程师
联系方式
手机:186-xxxx-1153 (中间有分割线,便于拨打电话,如果比较忙可以写上建议沟通时间,这样让自己和招聘者都可以合理安排时间)
Email:xxx@gmail.com
微信号:XXXX (如果遇到中意的没准加你微信呢,交易不成情谊在)
个人信息
姓名/男/1989
本科/XX大学/软件工程 2010-2014 (明确写出年份,查阅简历的人很看重)
工作年限:3年
技术博客:http://juice-resume.github.io (如果有不错的东西可以放)
Github:http://github.com/juice-resume (什么东西都没有就别放了,画蛇添足)
期望职位:Java工程师,后端工程师(可以写多个)
期望城市:北京,杭州,上海 (经过自己深思熟虑过的)
工作经历
XXX远科技有限公司(2016.2 ~ 今)
XXX App(2016.02 ~ 今)
项目描述:
该项目主要是XXXX。
实现技术:
SpringMVC + RabbitMQ + MyBatis + Dubbo + Redis + MySQL + ElasticSearch
职责描述:
作为三位核心开发之一,不仅负责开发工作,同时负责项目管理,需求整理和项目推进。(体现你的作用)
牵头构建Docker系统并完成整个项目的微服务架构。(能力的开拓精神)
重构缓存模块,加入XX功能,使得
QPS
提高近1倍。(能力)独立负责XX系统和XX系统的调研和开发工作,使得XX部门业绩上升10个点。(能力)
负责安排和指导实习生工作,使其高效地产出和自我成长。(培养新人和带团队)
其他项目
xxxx项目
:该项目是XXXX,使用XXX技术,完成XXX功能。(项目分主次)
XXX科技有限公司(2014.10 ~ 2016.02)
某项目(2015.06 ~ 2016.02)(如果公司保密项目,写某,更显专业)
项目描述:
该项目主要是XXX,该项目为40+人的团队,该项目时已经运行6年。 (体现规模,同时也提现自己大环境的经历)
实现技术:
JAVA + AngularJS + MQ + Redis
职责描述:
略
开源贡献
(如果有写上,不一定很牛逼,但是可以提现你的那一份热情)
果汁简历
个人整理求职方面资料和心得XX技术文档翻译
,业余时间翻译XX源码补丁
,项目中使用到,遇到问题便修复。XX开源项目
,业余时间自己编写的开源项目。(没有什么比Show me the code能有说服力了)
技术文章
(如果有写上,让面试官更多的了解你,也能体现出你的技术深度和表达能力)
深入理解 JAVA hashcode
技能清单(朴实的罗列即可,找重点写)
编程语言:Java/Scala
Web框架:Spring/SpringMVC/MyBatis/Dubbo
前端框架:Bootstrap/AngularJS/HTML5
数据库相关:MySQL/Redis/MongoDB/ElasticSearch
版本管理、文档和自动化部署工具:Git/apidoc/Jenkins/GoCD
服务器相关:Linux/Vagrant/Shell
自我评价(朴素介绍自己)
有事业心与责任心,工作积极认真,新项目上手很快。
对新事物有很强的好奇心,喜欢做有挑战的事情。
为人踏实,善于沟通,具有很强的团队意识和协作能力。
致谢
感谢您花时间阅读我的简历,期待能有机会和您共事。
—————END—————
我是南尘,只做比心的公众号,欢迎关注我。
推荐阅读:
欢迎关注南尘的公众号:nanchen
做不完的开源,写不完的矫情,只做比心的公众号,如果你喜欢,你可以选择分享给大家。如果你有好的文章,欢迎投稿,让我们一起来分享。