我现在正在做的一件事是一个项目,该项目将开发者GitHubprofile中的数据汇总起来。由于将GitHub配置文件用作这样的数据源有几个问题,我想首先列出一些我在尝试通过只查看GitHub贡献来评估开发人员时遇到的问题。
GitHub个人资料数据的一个常见误用是试图筛选出应聘者。人们似乎仍然认为,仅仅通过查看他们的开源贡献,就可以知道开发人员有多有才华。举个例子,在最新一期“黑客新闻”(Hacker News';Who)中,有很多不同的招聘广告要求将Github的个人资料作为求职申请的一部分。
已经有很多很棒的帖子反对将gihub贡献作为招聘过程的一部分。我特别推荐“无偿劳动道德和开放源码软件社区”,以及为什么GitHub不是你的简历。虽然这两篇帖子都给出了在招聘时重新考虑要求开源贡献的绝佳理由,但我在这里的观点并不是关于为什么要求开源贡献在道德上是可疑的,或者为什么GitHub不适合展示你的项目。
相反,这篇文章是关于为什么GitHub的个人资料在招聘开发人员时没有那么有用。
如果您查看了我工作过的最好的软件工程师的GitHub公开资料,您可能会发现:
虽然他在去年的工作中编写了大量代码,但他还没有发布任何可以公开查看的内容:他没有公开承诺,他没有创建自己的任何存储库,而且他的追随者数量微不足道。尽管如此,他仍然是我有幸与之共事过的最好的开发人员。
他的GitHub档案相对不活跃也并不少见:绝大多数GitHub用户没有很强的档案。为了量化这一点,我从GitHub档案中汇总了每个用户的公开提交,发现:
这种分布大体上是幂律的(或者至少是类似于幂律的)。这意味着大多数用户可以显示的活动相对较少,但一小部分账户在去年将有数十万次提交。
即使对于在GitHub个人资料上有项目的一小部分开发人员来说,大多数项目的身高也是令人印象深刻的。
如今,许多编程训练营和大学都要求他们的学生创建GitHub存储库作为课程的一部分。虽然我完全支持教授新开发人员扎实的版本控制技能,但作为这一过程的一部分而创建的项目,除了看到他们完成了程序之外,并不能告诉我更多的东西。例如,GitHub上大约有19万个存储库,它们被命名为DataSciencoursera&34;。
同样,在GitHub Archive中链接的7800万多个存储库中,有110万个存储库的名称类似于hello-world,100万个存储库的名称为test。
由于GitHub上的许多项目都相当平庸,一个容易的短路可能是只认真考虑那些反复被主演的项目或拥有大量粉丝的个人资料。即使忽略了这进一步限制了现有候选人的数量,它仍然不是评估开发人员质量的有效方法-因为它只显示了人气,而不是人才。
这个个人资料有大约1,560名追随者,使她跻身Github上前0.002%的开发者之列。她还拥有多个中等人气的存储库,似乎在一家大型科技公司工作。从表面上看,这看起来像是一个相当不错的GitHub个人资料。
不过,这并不是一个真实的个人资料,而是由电视节目“硅谷”的编剧们为他们的“Tabs vs Spaces”一集创建的:
任何时候,当你认真考虑GitHub的粉丝数量是否有任何意义时,只要记住,为一个角色创建的虚假个人资料只出现在一集电视节目中,它拥有超过全球99.998%的开发者的粉丝,在全球排名在第670位左右。
同样,如果你看看GitHub上最受欢迎的星级存储库,你会发现很多都是列表或笑话。虽然写列表或笑话可能不是那么容易,但这并不能说明开发人员的才华。
许多受欢迎的项目实际上是相当令人惊叹的,我并不是想要争辩说,受欢迎程度和质量至少是弱相关的。问题是,让一个项目变得流行是一项非常不同的任务,需要的技能与仅仅编写高质量代码的技能非常不同。
GitHub的个人资料不仅对招聘开发人员没有太大帮助,而且似乎对正在找工作的开发人员也没有太大帮助。
在过去十年左右的时间里,我只参加过一次求职面试,但据我所知,没有一个面试过我的人在面试前查看过我在GitHub上的个人资料。事实上,其中一位面试官声称,他在面试前甚至没有看过我的简历,更不用说我的GitHub了--我发现这份简历非常诚实。
从我听到的一些轶事报道来看,这似乎是相当常见的。例如,丹·卢(Dan Luu)在Twitter上发布了以下内容: