现在很多 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. vuex的使用步骤

    第一步: 安装vuex:npm install vuex --save 第二步:在src下创建文件夹store及文件index.js import Vue from 'vue'; import Vue ...

  2. Sql Server2008如何让外网访问自己的数据库

    1.打开 Sql Server配置管理器 2.修改Sql Server网络配置,将Tcp/IP协议修改为“已启用” 3.重启Sql Server服务即可(如果不知道怎么重启Sql Server服务,重 ...

  3. First ServiceStack Service

    博客1:ServiceStack Web Service 创建与调用简单示列 博客2:Hbuilder+vs2017 web api开发app 官方文档:servicestack docs 1.手动下 ...

  4. OracleSql语句学习(五)

    --数据库对象数据库对象包含:表,视图,索引,序列视图VIEN视图在SQL语句中体现的角色与表一样,但是视图并非真实存在的表,它只是对应一条查询语句的结果集 使用视图通常是为了重用子查询,简化SQL语 ...

  5. c语言提高篇 第一天

    一.听课标准 1.选择法排序 2.会简单封装函数 3.数组做函数参数会退化为一级指针 a.数组做函数参数时,应该吧数组元素个数也传递给函数 b.形参中的数组,编译器把它仿作指针处理,c语言特色 c.实 ...

  6. 从源码看springboot默认的资源文件和配置文件所在位置

    首先,使用的springboot版本是2.X,在这里写一点学习springboot的记录 springboot需要配置的不多,但也并不是完全不需要配置就可以顺畅使用,这里看一下它默认的配置 首先,看一 ...

  7. 查看Android系统已安装应用的列表

    可以通过adb shell pm list package 我们可以通过系统提供的工具pm来隐藏一些应用,比如:pm hide和pm disable pm disable <PACKAGE_OR ...

  8. [洛谷P4234] 最小差值生成树

    题目类型:\(LCT\)动态维护最小生成树 传送门:>Here< 题意:求一棵生成树,其最大边权减最小边权最小 解题思路 和魔法森林非常像.先对所有边进行排序,每次加边的时候删除环上的最小 ...

  9. centos6/7安装java和maven

    下载安装包并解压到相关目录即可 编辑环境变量vim /etc/profile.d/maven.sh export JAVA_HOME=/app/soft/java-1.8.0_181 export J ...

  10. Python--logging模块不同级别写入到不同文件

    将不同级别的logging 日志信息写入到不同文件 # -*- coding: utf-8 -*- import os import time import logging import inspec ...