为什么找程序员一定要看他的 GitHub
听说
最开始听到这句话是某知名互联网公司大牛告诉我的,我很不以为然,不过迫于他是“leader”我也注册了一个 highsea (广告 0.0);当然我可懒得 push 更别提 contributed 了,尽管在其淫威下还是 Create 了一个小库……
时间过得很快 离职 再就职,见过不少高等级p的大牛,除了 技能上的差距让我拜服,更多的就是大牛们高效的工具让我忧心…… 我毕业才开始学的 web前端开发,他们说 web前端开发工程师 是这样子的:

经过当时半年的努力 我只完成了右上角小部分…… 后来发现除了每种语言必备的 技能标准+脚手架+社区 外总是有这么一项: GitHub
重视
我表示很遗憾,到 2014 年中旬才发现它的重要功能,以下是个人粗浅的看法:
版本管理: 如果你觉得他是高级版 Subversion 那你可以关掉这个页面了,继续摸摸你的小龟龟
项目分支: 他也不单是 SourceForge 或 Google Code ;他把项目分支的操作发挥到了极致(分支能尝试新想法,又不会影响主分支的产品代码。)
程序员交流: 如果你还没 fork 还没 pull request ,只是 git clone 和 git add 再 push ,那你根本就不算玩过 Github ,没有交流总觉得自己“精通”了某个语言
重视开源: Preston-Werne 曾说过:“开源(几乎)是一切”
说明文档: 以 markdown 为例,有人说 “文档编写风格决定了我们能不能愉快的玩耍!” 好的文档能让别人省事,让团队高效…… 当然也会有人认为“这都不是事儿”他的 code 水平最高才是最重要的
传送门 Git 参考手册
这里从“招聘君MM”的角度看下,知乎的回答(有木有英雄所见略同的感觉?)
GitHub
GitHub诞生于08年春天,第一年便产生了4万6千个公共项目,大约一年半之后用户就已经达到10万用户之巨。
而到2012年九月份,GitHub已经迎来了百万级用户。Host超过两百万个项目。
增长的太快了!就像Twitter一样。
这样疯了一般的增长只能说明一个事实——人们等待这个产品太久了。
Social Coding。
真实的项目,真实的流程,真实的人名,一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。
有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察,去揣测,去花费大量的时间的同时还只能采样到几个极为有限的点。
不像象牙塔里面大作业,这里有源代码管理系统,自动化build,有check-in,有review,有分工,有合作,最重要的是——这是一个集市,一个超出象牙塔的集市,牛人相互吸引,你可以在互联网上找到和自己拥有共同兴趣的一帮人,真正做起一点事情,而不是交差,不需要受限于几十个人的一个小班级。Here Comes Everybody。
传送门: 如何在twitter或者github上找靠谱程序员?
记录: GitHub 第一次 Commit 的记录 by Chris Wanstrath :

对招聘君说:
张三的简历上写着:精通 javascript、 Css3、 php5、 Nginx、 Mysql、 Mongodb、Python、 Nodejs……
参与了 AA产品的开发,BB系统的架构,担任过 CC公司的 如 CTO、产品经理、架构师……
却没有贴出个人技术博客,没有 Github 账号,没有混迹开源社区,没有对任何框架做贡献……
你却问我: 我觉得他很NB要不要约出来聊聊?
200天连续提交的目标
当然 拥有 github 账号还算不上是一个优秀的程序员,现在招聘大都会附上这一句(意思):
github 可以加分
于是就变成了这样子:

我想,肯定不少人躺枪,包括1年前的我…… 看 Github 大都是看如下这些:
有什么项目(自己的、fork的、contributed的),类型、数目
有没有编码风格, 当然也有人提倡“编写 不可 维护的代码”的“精英”逻辑
commit -m 详细程度
版本工程管理习惯如何
连续提交数目
following 、 followers 、 Starred
……
分享一篇 177 Days of GitHub : 推荐每个人都可以尝试一下,用这个方法去打破一个旧习惯或者建立一个新习惯,但它可能过于强大以至于会让人不能自拔,所以小心点!
为什么找程序员一定要看他的 GitHub的更多相关文章
- 程序员收藏必看系列:深度解析MySQL优化(二)
程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ...
- 2017年秋招美团Java程序员开发,看我如何拿到offer
本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧.记性不是太好,有一些问题没能记住 ...
- 这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!
公众号[程序员书单]出品,转载请注明出处 作者:黄小斜 今天要给大家带来的一本书,是大名鼎鼎的head first系列丛书的一本<head first Java>相信很多学习Java的朋友 ...
- 转载:从程序员的角度看ASCII, GB2312, UNICODE, UTF-8
以下内容转自博客:http://blog.chinaunix.net/uid-22670933-id-1771613.html. 一.字符编码是怎么回事 0. 概念 字节是计算机的最基本存储单位,一个 ...
- C# 中重载自增自减操作符的具体运算原理 ----从C++程序员的角度看C#自增操作符重载的实质
看了看C#的运算符重载,发现与C++打不相同.刚刚被C#的自增操作符坑了,现在来分享一下. 先定义一个类 class A { public int i; public A(int I) { i = I ...
- 程序员收藏必看系列:深度解析MySOL优化(一)
说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理? ...
- 从程序员之死看 IT 人士如何摆脱低情商诅咒
(1) IT公司的创业者苏享茂忽然跳楼自杀了,自杀前,他留下几万字的文字记录.遗书,并且在自己开发的软件界面上,设置了弹出页面,控诉是恶毒前妻逼死了自己. 生命戛然而止,留给亲人痛苦,留给世人震惊. ...
- 为什么说程序员都应该玩一玩GitHub
既熟悉又陌生的GitHub 关于GitHub,相信每一个程序员都再熟悉不过了.它为开发者提供Git仓库的托管服务,是全世界最大的代码集中地,被戏称为“全球最大同性交友网站”. 但是对于很大一部分程序员 ...
- [No000023]为何没有更多人从事程序员的工作?程序员常有,优秀程序员不常有!
成为优秀的程序员是极其困难的,并且这个过程不可能一蹴而就. 我们不可能期待去种一些树,然后一夜间收获有着2000年树龄的红杉树,无论其需求有多大. 人格特点 一个人首先得是自学者来学习编程.仅仅是超过 ...
随机推荐
- HDU 6318 Swaps and Inversions 思路很巧妙!!!(转换为树状数组或者归并求解逆序数)
Swaps and Inversions Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Angular动态表单生成(八)
动态表单生成之拖拽生成表单(下) 我们的动态表单,最终要实现的效果与Form.io的在线生成表单的效果类似,可以参考它的demo地址:https://codepen.io/travist/full/x ...
- Oracle 的存储过程以及用jdbc调用存储过程
存储过程 就是一组用于完成特定功能的PL/SQL 具名语句块,该SQL语句集经过编译后存储在数据库系统中.在使用时候,我们只需要通过指定已经定义的存储过程名字并给出对应的参数来执行 存储过程的定义语 ...
- vue watch关于对象内的属性监听
vue可以通过watch监听data内数据的变化.通常写法是: data: { a: 100 }, watch: { a(newval, oldVal) { // 做点什么... console.lo ...
- python抠图与pip install PIL报错
窗口命令pip install PIL(python3.6+selenium——2.53.1+pycharm) from PIL import Image from selenium import w ...
- Asp调用存储过程,command.CreateParameter 参数值的类型说明
Asp调用存储过程,command.CreateParameter 参数值的类型说明 Asp调用各种存储过程,包括带参数,无参数,输入输出参数,带返回值等. 1,调用没有参数的存储过程 <% s ...
- Windows和Linux下通用的线程接口
对于多线程开发,Linux下有pthread线程库,使用起来比较方便,而Windows没有,对于涉及到多线程的跨平台代码开发,会带来不便.这里参考网络上的一些文章,整理了在Windows和Linux下 ...
- 第一章:什么是Linux
Linux可以分为四部分: Linux 内核:系统内存管理,软件程序管理,硬件设备管理和文件系统管理 GNU 工具:除了内核控制硬件系统,操作系统还需要一些工具执行标准功能,比如控制文件和程序.包括核 ...
- 一行 Python 代码能干嘛?
Python 有很多优雅有趣的代码写法,同时还很简短,以至于当我刚开始接触这个编程语言的时候,就爱不释手.而前几天的编程语言榜单中 Python 也超越了 Java 成为了第一,挺替 Python 开 ...
- [PLC]ST语言一:LD_LDI_AND_ANI_OR_ORI
一:LD_LDI_AND_ANI_OR_ORI基本指令 说明:简单的顺控指令不做其他说明. 控制要求:无 编程梯形图: 结构化编程ST语言: M400:=(M0 OR M1) AND M2; M401 ...