要招到顶尖人才?那就开源你的代码吧

本文探讨了如何通过开源项目吸引顶尖工程师加盟。文章强调了编写易读代码、完善文档及有效推广的重要性,并介绍了Artsy等公司的成功案例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

“你是否了解Facebook的开源软件过程?”

\n

Facebook开源项目前负责人James Pearce在了解工程师为什么要加入公司时,通常会问他们这个问题。Pearce在O’Reilly开源大会的演讲中透露,有三分之二的Facebook工程师在加入公司之前就已经知道Facebook的开源项目过程,有一半的工程师表示:“这对他们决定加入Facebook起到了积极的作用”。

\n

Facebook在这个方面并不孤独。无论公司规模如何,开源代码对他们来说都是招聘到顶级工程师的最佳方式之一。我们分析了AngelList上有史以来应聘最多的30家美国科技公司,发现其中一半以上有提供开源项目:

\n

\"image\"

\n

但将开源项目作为招聘手段其实是一门艺术——你需要做的不仅仅是向GitHub发布代码。要想从开源代码中获得招聘方面的好处,你需要以营销人员的心态来对待每个项目。

\n

1.编写任何工程师都读得懂的代码

\n

开源软件的目的是让外部工程师能够看到它,并可能一起参与贡献。为此,代码必须让外部工程师能够看得懂。这意味着:

\n
  • \n
  • 重构你的代码,让它们尽可能简单;\n
  • 遵循名称、空格等样式约定;\n
  • 使用环境变量替代私有信息;\n
  • 注释好你的代码。\n
\n

Atlassian的react-beautiful-dnd项目(https://github.com/atlassian/react-beautiful-dnd) 就是一个用于在React中构建拖拽界面(像Trello那样)的工具,是这方面的一个很好的例子。

\n

这个项目的结构是模块化的,代码加了很多注释,非常易于阅读:

\n

\"image\"

\n

在开源代码时,让阅读代码的人在没有看到代码库其余部分时仍然能够读懂它们——因为他们几乎肯定没有度过其余的代码。在上面的示例中,即使是一个简单的导出,Atlassian的团队也用注释来解释每个函数的作用,选择能够准确反映它们的值的属性名称,并保持一致的样式。

\n

这个代码库在GitHub上的Star数超过了10,000,并且有数十个贡献者。道理很简单:外部工程师越容易理解你的代码,他们就越有可能参与贡献。

\n

2.编写好的文档

\n

文档就是你的销售说明。工程师一看到它,就相信你的项目是值得他们做出贡献的。文档需要:

\n
  • \n
  • 阐明项目的价值主张;\n
  • 阐明你对贡献者的期望;\n
  • 列出技术规格、依赖关系和许可;\n
  • 为特殊用例提供易于访问的参考资料。\n
\n

Spotify的Annoy是一个“搜索空间中接近给定查询点的点”的库,它在这方面就做得非常好。它的README文件种提供了安装说明、项目背景、代码示例、许可证、依赖项以及深入了解底层软件逻辑的信息。

\n

它还提供了Annoy与其他库在速度方面的测试基准对比:

\n

\"image\"

\n

只需一页文档,工程师就可以获得所需的信息,以确定Annoy是否是他们想要参与贡献的项目。

\n

3.像产品发布一样推广你的项目

\n

2018年,每天有超过82,000个代码库发布到GitHub。要让你的代码库在众多其他产品中脱颖而出需要付出努力并制定好的战略,这与推出产品也有些相似的地方。为了提高知名度,请考虑在以下几个地方推广新代码库:

\n
  • \n
  • 高流量网站:Hacker News、Reddit、Tech Ladder;\n
  • 相关社区:Product Hunt、Gitter、Dev.to(注:AngelList于2016年收购了Product Hunt);\n
  • 相关频道:电子邮件、社交媒体等。\n
\n

你还可以从其他营销策略中获得灵感。例如,Hack4Impact(一个为其他非营利组织开发软件的非营利组织)的团队在当地大学开设工程研讨会,要求学生使用他们的新库,增加早期的Fork和Star数。

\n

对于需要从较小的领域招聘工程师的公司来说,推广代码库则更为重要。Wallaroo Labs是一家帮助客户启动大规模数据运营的创业公司,他们的代码库使用了一种叫作Pony的语言。当这家公司于2017年和2018年之间公开所有代码时,开始进行大量推广、撰写博文、参加访谈,并在技术大会上介绍为什么他们要采用Pony。

\n

Wallaroo工程副总裁Sean Allen表示:“与我们面谈的人中有相当一部分人是在使用Pony或对Pony感兴趣的同僚,我们的代码库是最大的公开Pony代码库。”

\n

将你的代码库视为一种产品,并把你希望参与贡献的工程师视为你的市场。

\n

为什么顶尖工程师需要开源

\n

Artsy CTO Daniel Doubrovkine说:“如果你想要招到最优秀的人才,公开性是必要的”。他解释说,原因在于“个人工程品牌对于个人贡献者来说真的非常重要。如今的工程师们不太愿意让他们的技能停留在一个地方而不能展示它们。他们希望提高可见度,而这样做可以给他们带来一些可见度。”

\n

为了实现这个目的,Doubrovkine让他的工程团队采用“默认”开源的工作方式——也就是说,除非工程师有理由不公开发布代码,否则就必须发布到公共代码库中。因此,Artsy的大部分工程资料都是免费提供的。他说:“最好的公司将业务需求与个人贡献者的愿望结合起来,以创造他们的个人品牌”。

\n

事实上,Artsy的工程师需要公开分享他们的代码,并在代码中署名。在Doubrovkine的招聘宣传中,这些被作为一个卖点,而这一点对于其他公司来说也同样有参考意义。

\n

GitHub联合创始人Tom Preston-Werner说:“聪明的开发者喜欢与聪明的代码打交道。当你开源有用的代码,就会吸引到人才。”

\n

英文原文:https://angel.co/blog/want-to-recruit-better-engineers-open-source-your-code

\n

活动推荐

\n

\"\"
\n12 月 7 日北京 ArchSummit 全球架构师峰会上,来自 Google、Netflix、BAT、滴滴、美团 等公司技术讲师齐聚一堂,共同分享“微服务、金融技术、前端黑科技、智能运维等相关经验与实践。详情点击 https://bj2018.archsummit.com/schedule

\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值