听说

最开始听到这句话是某知名互联网公司大牛告诉我的,我很不以为然,不过迫于他是“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的更多相关文章

  1. 程序员收藏必看系列:深度解析MySQL优化(二)

    程序员收藏必看系列:深度解析MySQL优化(一) 性能优化建议 下面会从3个不同方面给出一些优化建议.但请等等,还有一句忠告要先送给你:不要听信你看到的关于优化的“绝对真理”,包括本文所讨论的内容,而 ...

  2. 2017年秋招美团Java程序员开发,看我如何拿到offer

    本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了HR面,但是感觉希望不大,希望能走运拿到offer吧.记性不是太好,有一些问题没能记住 ...

  3. 这本最适合夯实基础的经典 Java 书籍,可能80% 的 Java 程序员没有认真看过!

    公众号[程序员书单]出品,转载请注明出处 作者:黄小斜 今天要给大家带来的一本书,是大名鼎鼎的head first系列丛书的一本<head first Java>相信很多学习Java的朋友 ...

  4. 转载:从程序员的角度看ASCII, GB2312, UNICODE, UTF-8

    以下内容转自博客:http://blog.chinaunix.net/uid-22670933-id-1771613.html. 一.字符编码是怎么回事 0. 概念 字节是计算机的最基本存储单位,一个 ...

  5. C# 中重载自增自减操作符的具体运算原理 ----从C++程序员的角度看C#自增操作符重载的实质

    看了看C#的运算符重载,发现与C++打不相同.刚刚被C#的自增操作符坑了,现在来分享一下. 先定义一个类 class A { public int i; public A(int I) { i = I ...

  6. 程序员收藏必看系列:深度解析MySOL优化(一)

    说起MySQL的查询优化,相信大家收藏了一堆奇技淫巧:不能使用SELECT *.不使用NULL字段.合理创建索引.为字段选择合适的数据类型….. 你是否真的理解这些优化技巧?是否理解其背后的工作原理? ...

  7. 从程序员之死看 IT 人士如何摆脱低情商诅咒

    (1) IT公司的创业者苏享茂忽然跳楼自杀了,自杀前,他留下几万字的文字记录.遗书,并且在自己开发的软件界面上,设置了弹出页面,控诉是恶毒前妻逼死了自己. 生命戛然而止,留给亲人痛苦,留给世人震惊. ...

  8. 为什么说程序员都应该玩一玩GitHub

    既熟悉又陌生的GitHub 关于GitHub,相信每一个程序员都再熟悉不过了.它为开发者提供Git仓库的托管服务,是全世界最大的代码集中地,被戏称为“全球最大同性交友网站”. 但是对于很大一部分程序员 ...

  9. [No000023]为何没有更多人从事程序员的工作?程序员常有,优秀程序员不常有!

    成为优秀的程序员是极其困难的,并且这个过程不可能一蹴而就. 我们不可能期待去种一些树,然后一夜间收获有着2000年树龄的红杉树,无论其需求有多大. 人格特点 一个人首先得是自学者来学习编程.仅仅是超过 ...

随机推荐

  1. 分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:

    (1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构造方法要实现对其成员变量x, y的初始化. (2)Point2D有一个void型成员方法offs ...

  2. (转)WebSocket的原理

    前言:无聊逛知乎,就逛到H5的栏目去了,正好看到了关于Websocket的东西.个人是比较喜欢看这类风格的,转到博客分享,以便自己以后理解. ---------------------分割线----- ...

  3. ZOJ 2017 Quoit Design 经典分治!!! 最近点对问题

    Quoit Design Time Limit: 5 Seconds      Memory Limit: 32768 KB Have you ever played quoit in a playg ...

  4. 02_Docker在CentOS 6和CentOS 7下的安装

    CentOS 7 环境下安装docker 安装Docker 检查系统内核是否高于Linux3.10版本 uname -r 使用root权限操作,确保yum包是最新版本 sudo yum update ...

  5. jquery animate() Alternate 语法

    前段时间在使用jQuery的animate() 函数时候用到Alternate方式.主要是要让数字自增到指定大小,且能看见数字增加过程. 一般使用如下方式: function autoPlusAnim ...

  6. [转]使用CallerMemberName简化InotifyPropertyChanged的实现

    原文:https://www.cnblogs.com/TianFang/p/3381484.html 在WPF中,当我们要使用MVVM的方式绑定一个普通对象的属性时,界面上往往需要获取到属性变更的通知 ...

  7. Echarts插件

    <%@ page contentType="text/html;charset=UTF-8" language="java" %><% Str ...

  8. mfc 带参数的构造函数

    知识点 默认的构造函数 带参数的构造函数 重载构造函数 一.默认的构造函数 二.带参数的构造函数 三.重载构造函数 class Tdate { public: int year;//年 int mon ...

  9. BZOJ 2395 [Balkan 2011]Time is money

    题面 题解 将\(\sum_i c_i\)和\(\sum_i t_i\)分别看做分别看做\(x\)和\(y\),投射到平面直角坐标系中,于是就是找\(xy\)最小的点 于是可以先找出\(x\)最小的点 ...

  10. 5 行 Python 代码调用电脑摄像头

    前提: 确保 python 中安装了 opencv-python 模块.如果没有安装,可以参考:https://pypi.org/project/opencv-python/ 进行安装.话不多少,直接 ...