为什么找程序员一定要看他的 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年树龄的红杉树,无论其需求有多大. 人格特点 一个人首先得是自学者来学习编程.仅仅是超过 ...
随机推荐
- 移动端适配之sprite雪碧图背景定位
移动端适配一般我会使用rem进行适配,大致操作就是按照一定尺寸设计稿进行制作,最后将所有px值转换为rem,但是一些手机背景精灵图(cssSprite)就会出现一些误差(1px左右),如果公司要求不高 ...
- 最新Flume1.7 自定义 MongodbSink 结合TAILDIR Sources的使用
Flume MongodbSink 此mongodb支持3.0 github地址 MongodbSink flume-ng-mongodbsink An Apache Flume Sink that ...
- C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc
本文已经迁移到:http://cpp.winxgui.com/cn:a-general-gc-allocator-scopealloc C++内存管理变革(6):通用型垃圾回收器 - ScopeAll ...
- jQuery----选择器(重点是层次选择器)
基本选择器 1.id选择器 ---------------------------->根据id来获取,只有一个.---------------------------------------- ...
- C语言——常用标准输入输出函数 scanf(), printf(), gets(), puts(), getchar(), putchar(); 字符串拷贝函数 strcpy(), strncpy(), strchr(), strstr()函数用法特点
1 首先介绍几个常用到的转义符 (1) 换行符“\n”, ASCII值为10: (2) 回车符“\r”, ASCII值为13: (3) 水平制表符“\t”, ASCII值为 9 ...
- A1084
输入:只能输入A-Z(不区分大小写),0-9和下划线: 第一行输入应输入字符串,第二行输入实际输入字符串. 输出:按大写输出缺少的字符,每个字符输出一次. 注意: 1.由于不区分大小写,则需要将小写字 ...
- GoLand(二)语言结构和基础语法
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Go语言结构1.Go语言有6大部分组成,分别是:包声明.引入包.函数.变量.语句或表达式.注释2.输出一个He ...
- go 交叉编译,部署
go web 部署 交叉编译 go 语言有个强大的地方就是 交叉编译 windows --cmd 设置环境变量-mac SET CGO_ENABLED=0 SET GOOS=darwin SET GO ...
- oracle rowid 研究
SQL> create table tab01(id integer,val varchar(4)); Table created. SQL> insert into tab01 valu ...
- 谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座完整版
谷歌大脑科学家 Caffe缔造者 贾扬清 微信讲座完整版 一.讲座正文: 大家好!我是贾扬清237,目前在Google Brain83,今天有幸受雷鸣师兄邀请来和大家聊聊Caffe60.没有太多准备, ...