现在很多 HR 在招聘程序员的需求都会提到「有 Github 项目者优先」,大部分求职者也会在简历中附上 Github 链接。

作为一个专业的 HR,即便不懂代码,也不能被一个链接唬住。今天我就手把手告诉大家如何通过Github 来判断求职者是否靠谱。

(本文中的所有 github 链接均无特指,仅用于演示说明)

1、查看个人信息

上面是某大神的 Github 个人首页,页面包含四大部分,我们先看个人信息部分。有个人主页的,可以上去看看;有邮箱的,可以看看后缀。

Github 里把项目叫做仓库(Repository),而 Github 里面本身的项目(Project)用的人很少,所以可以忽略。下面可能会混用仓库和项目,指的都是 Repository,大家知道是一回事就行。

仓库分为公开的和私有的,私有的就是只能自己和维护人员可见。Github 付费用户的私有仓库可以由超过3个贡献者共同维护,而免费用户的私有仓库最多只能有3个贡献者,这就是付费和免费的区别,别的基本都一样,一般国内开发者免费的居多。个人认为付费用户可以加分,免费用户不减分。

2、查看贡献统计

绝大部分的开源都在 Github 上面存放,作为一个程序员在 Github 上主要做的事情有:

· 查看和下载别人的开源项目

· 收藏(Star)别人的开源项目

· 关注别人(Follow)

· 给别人的开源项目提 issue(包括 BUG、建议、疑问等,类似于留言板)

· 给别人的开源项目做贡献

· 自己建立开源项目

· 给自己的开源项目提交代码(Commit)

这里最有价值的就是做贡献(Contribution),主要是提 issue 和提交代码。

Github 用户首页中对贡献做了统计,对于 HR 来说,这是识别用户活跃度的重要指标。

在贡献统计里面,最重要的就是贡献日历,也是对于活跃度的最直观判断。如果绿色的比例很多,如下图,说明这个人是一个重度开源参与者,值得加分。

如果是一片灰色,比如下图,说明这人平时不怎么在 Github 上贡献代码;我们在右边切换一下时间,如果每年都是一片灰色,那就要减分了。

接着我们可以看看注册时间。把右边的年份选到最下面一年,滚动下面的 Contribution activity 到最底,就可以看到 Joined GitHub 活动了。

如果这位程序员注册时间较早,起码说明他很早就有开源意识,值得加分,如果注册时间很短,那就说明可能是为了找工作刚注册的,减分。对我个人来说,可接受的是 Github 账号注册时间 >= 工作时间 - 1年。如果工作一年后还没有注册 Github,那在我这里就会大大减分。

3、查看仓库

每个开源项目,就是一个或者多个代码仓库,仓库里放着项目代码。程序员在 Github 上的所有贡献都是面向仓库的。

以上图为例,我们可以先大致了解一下仓库情况:

· Repositories 代表自己的仓库,这里有 151 个,已经很多了。

· Stars 代表收藏的别人的仓库数量。Star 数量衡量一个仓库或开源项目好坏的重要标准,可理解为点赞数。这里显示 Stars 为 788,说明给 788 个仓库点了赞。

· Project这项可以忽略。

· Followers 代表关注自己的人,显而易见,Followers 越多说明此人的技术影响力越大。

· Following 代表关注的其他人数量,参考价值不大,有兴趣可以看看他都关注什么样的人。

对于我来说,Repositories、Stars 和 Followers 数量多,加分;Repositories 可说明此人开源项目的多寡;Stars 可说明他的活跃度,经常会浏览并收藏一些仓库;Followers 衡量技术影响力,数量多的话,数量多的话可以大大加分。

接着看一下 Overview。里面会有这位用户的仓库里最受欢迎的仓库,一般是按照 Stars 数量来排列的。如果 Overview 里面有项目的 Stars 数量在 1万以上就是位非常优秀的程序员,大大加分,可以直接面试或预录用了。

其实 Stars 在 100 以上已经算是比较优秀了。比如下面这种,Stars 不低,分布也比较正常,我也会加分。

如果仓库很多,但 Stars 很低,说明这人虽然写了一些仓库,但没什么影响力,我会减分或者不加分;如果 Repositories 数量为 0,大大减分。注意,仓库要结合贡献统计来看才更准确。

补充一点:上面说的并不绝对,有的公司有自己的代码库,所以员工在 Github 上的贡献就少一些;有的公司代码库就在 Github 上面存放,所以可能员工水平不高也会有很多贡献,因为是工作所需。不过不论如何,优秀的程序员,大多都是 Github 的重度使用者。

有些投机取巧的候选人,甚至会利用淘宝的「刷 Star 服务」:

刷 Star 的项目,大多都是突然增长,issue很少,给 Star 的用户大多没有头像。

GitHub界面初识的更多相关文章

  1. QT+UI界面初识+界面与编辑区结合操作

    图片中时UI界面的初识,了解界面部件都是干啥的: 有了界面之后,使得QT的开发变的更加的便捷,但是在ui界面有时满足不了的功能,就需要使用代码解决,怎么利用代码呢? 首先:打开程序编辑区: #incl ...

  2. 《Github入门与实践》读书笔记 蟲咋先生的追求之旅(上)

    <Github入门与实践>作者: [日] 大塚弘记 译者:支鹏浩/刘斌   简介 本书从Git的基本知识和操作方法入手,详细介绍了GitHub的各种功能,GitHub与其他工具或服务的协作 ...

  3. ENGLISH抠脚童鞋的福利--GitHub汉化插件

    今天在某前端群看到一个插件,激动万分啊!我就把插件使用实现的步骤分享一下! 打开chrome浏览器输入地址:chrome://extensions/ : 跳转到其他页面,点击左上角--扩展程序: 将T ...

  4. 版本控制简介,git使用----使用GitHub托管代码

    关于版本控制: 很久以前,人们苦于对写过的代码进行版本的管理,经常过了一段时间想恢复原来写过的代码却又忘了不知道丢到哪儿去了,有的人用加上时间后缀来命名文件的方法,便于后期维护,但是这样做的麻烦也很大 ...

  5. github如何pull最新代码

      github现在已经经常用了,但是经常遇到下面的问题 比如:从一个项目A中fork了一个分支B,并且在分支B有了改动.过了几天后,项目A中的代码应该会有很多人提交修改了,现在想将最新的代码pull ...

  6. gitHub入门指导

    Github可以托管各种git库,并提供一个web界面,但与其它像 SourceForge或Google Code这样的服务不同,GitHub的独特卖点在于从另外一个项目进行分支的简易性.为一个项目贡 ...

  7. Git本地项目上传 & SourceTree & GitHub 简单使用

    Git(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理 ...

  8. python+selenium自动化软件测试(第11章):持续集成jenkins和GitHub的使用

    11.1 jenkins持续集成环境 相关安装包下载链接:http://pan.baidu.com/s/1qYhmlg4 密码:dcw2赠送jenkins集成selenium环境视频链接http:// ...

  9. GitHub新手使用教学(从安装到使用)

    一.安装Git for Windows(又名msysgit)  下载地址: https://git-for-windows.github.io/  在官方下载完后,安装到Windows Explore ...

随机推荐

  1. Java面试准备之JVM

    介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明 程序计数器:看做当前线程所执行的字节码行号指示器.是线程私有的内存,且唯一一块不报OutOfMemoryError异常. Java虚拟 ...

  2. hdu-1052(贪心)

    链接 [https://vjudge.net/contest/261555#problem/I] 题意 就是两个人都有n匹马,每只马都有战力 第二个人出马的顺序是战力大到小,请问第一个人采取怎样的策略 ...

  3. HTML之超链接

    图像标签 图像标签为 <img> ,它是行内元素,其主要功能是在网页里面插入图像,所插入图片由属性 scr 属性决定.主要格式为 <img scr="URL"&g ...

  4. BEX5下增加sessionStorage监听器实现页面间数据刷新

    场景: A页面修改了数据,希望B页面能进行及时的同步前端数据,但是假如当A页面修改保存后,去获得B页面的model对象,会增加开发的难度,同时A页面也不能重复利用:假如在B页面的激活事件里面写刷新代码 ...

  5. Eclipse 设置背景色

    window -> preferences ->  General -> Editors -> Test Editors -> Background color 勾掉Sy ...

  6. poj-1807(最大流)

    题意:给你n个插座,m个电器,每个电器有插头,还有k个插头转换器,可以把插座A变成插座B,转换器可以连续使用,比如A转换B,再从B转换C 解题思路:这道题就是题意麻烦,看懂了就很简单,首先建一个汇点和 ...

  7. [SimplePlayer] 7. 多线程处理

    在前面的文章中,我们分别实现了视频图像解码.播放,音频解码.播放,现在则需要把这些功能组合起来.总体上来说,整个程序的功能可以分为两条线路:视频以及音频,两条线之间除了后续的同步操作之外基本没有任何关 ...

  8. DRF初识与序列化

    一.Django的序列化方法 1.为什么要用序列化组件 做前后端分离的项目,我们前后端数据交互一般都选择JSON,JSON是一个轻量级的数据交互格式.那么我们给前端数据的时候都要转成json格式,那就 ...

  9. Hive 口袋手册

    2019-04-01 关键字:Hive 学习总结.Hive 基础 . Hive 进阶 .Hive 调优 . Hive 入门手册.Hive PDF 下载 本篇文章系本人就目前所掌握的知识对 Apache ...

  10. 5.15 pymysql 模块

    pymysql 模块 安装 pip3 install pymysql 链接,执行sql,关闭(游标) import pymysql user= input('用户名:>>').strip( ...