为什么找程序员一定要看他的 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年树龄的红杉树,无论其需求有多大. 人格特点 一个人首先得是自学者来学习编程.仅仅是超过 ...
随机推荐
- C++编写简单的Service和Client
在上一步的基础上 编写Service节点 这里,我们将创建一个简单的service节点("add_two_ints_server"),该节点将接收到两个整形数字,并返回它们的和. ...
- IIS提示出现RPC服务器不可用的解决方法
如果你运行IIS时也遇到“RPC服务器不可用”的故障提示,不妨试试我们下面的办法 依次点击“管理工具→服务→Remote Procedure Call→属性”,其默认启动类别是“自动”,但选项是灰色的 ...
- 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv
题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...
- PAT乙级1004
1004 成绩排名 (20 分) 读入 n(>0)名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正 ...
- 使用C语言给php写扩展
1.在php源码路径的ext文件夹下,新建一个extend_test.def文件,编辑文件内容为 string my_test_function(string str,int n) 2.在当前目录执行 ...
- 一、用Delphi10.3 创建一条JSON数据
一.用Delphi10.3构造一个JSON数据,非常之容易,代码如下: uses System.JSON; procedure TForm1.Button1Click(Sender: TObject) ...
- delphi黑色背景模式
uses Vcl.Styles, vcl.Themes; procedure TForm1.FormCreate(Sender: TObject); begin TStyleManager.LoadF ...
- 改用固定IP后zabbix无法发送邮件的问题解决
虚拟机之前一直用随机IP,然后发送邮件也正常. 改成固定IP以后,发送邮件失败. 用mail命令发送邮件成功. 查看zabbix_server的log,显示 cannot connect to SMT ...
- #2007. 「SCOI2015」国旗计划
好久没更过博了.. 首先断环为链,因为线段互相不包含,所以对每个线段\(i\)可以找一个满足\(r_j\geq l_i\)的\(l_j\)最小的线段,dp的时候\(i\)就会从\(j\)转移过来 然后 ...
- Security Permissions Caching
Security Permissions Caching Security permission caching is implemented in Security Adapters - class ...