做开源项目的是什么样的人?业界

雷锋网 / wearebug / 2015-08-27 11:18
面试快结束的时候,我会有个习惯,问问这位同学是否有主持或者参与开源项目,如果有就告诉我项目地址。我会认真看这个项目的质量,只要不是临时抱佛脚给自己贴金或者文末列...

面试快结束的时候,我会有个习惯,问问这位同学是否有主持或者参与开源项目,如果有就告诉我项目地址。我会认真看这个项目的质量,只要不是临时抱佛脚给自己贴金或者文末列出的例外情况,我都会在之前谈好的待遇基础上酌情再增加一些。

有些朋友可能会有相反的意见,觉得这个人做开源项目会耽误正常的工作。恰恰相反,于公于私,都是好事。这不是情怀,这是出于最现实的考虑。

首先,参与开源项目代表了技术能力。

在当前中国互联网公司激烈的竞争环境下,普遍加班严重。但他竟然在这种情况下还能有时间参与开源项目,说明能力的确强。把代码结构化、模块化做得好,把产品经理频繁修改需求造成的时间浪费降到最低,而且自己会用单元测试,把时间都省下来了。“懒”,是工程师的美德。

不是谁都敢把自己的代码放到Github这个“全球最大的同性交友社区”的。

烂项目没人关注,烂代码会一堆人骂,只会Ctrl+C/Ctrl+V的码农不敢贴。贴到这里的项目,所有人都会看到,会经受全球工程师的“考核”。自己写的代码会被拿来和各种同类项目比较,他就会被催着逐步优化,越做越好。Github已经成了技术能力的某种过滤器。

其次,主导开源项目代表了产品能力。

实际工作中,由于屁股坐的位置不同,产品和研发互掐是太正常不过的事情了。如果研发能从产品视角考虑一下某个功能,真正了解这个功能的目的并且一起讨论出更好的实现方法,那绝对能让产品小哥(或小妹)感动得痛哭流涕。功能更完善,而且还大大加快了项目进度。

这种产品能力从哪来呢?主导开源项目是其中之一。他自己做开源的时候,会分析大家可能需求什么,然后评估这个需求到底有多少人真正需要,然后动手开发,并与关注该项目的人互动持续优化功能排除bug。这不就是产品方法三段论么。他要是天然就有这能力,公司真的能节省大量沟通成本。

再次,参与开源项目代表了生活态度。

可能会有一种情况,工作实在是太清闲,无事可做才做了开源项目,就像“当年明月”写《明朝那些事儿》。工作清闲的人那么多,为什么只出了一个“当年明月”?你在工作之余除了打游戏刷微博微信调侃网上闲逛之外,有主动提升自己能力的意愿么?

这个“主动”其实就是生活的态度。或对未知事物充满好奇,或对将来生活水平有自己的期许,他无需外部压力,自我驱动提升自己,参与开源项目就是为了提高自己的能力。这样的人,技术不会太差,而且愿意分享,对任何公司而言都是块宝,他能够带动整个小团队的氛围。俗点说就是“正能量”。

很遗憾,我自己都没能100%做到。这个期许有点儿高了。

例外情况

凡事都有例外情况,尤其是这两种:

在未征得领导同意的情况下,私自把公司的保密代码拿出来贴到开源项目里的;

把别人的开源代码删除copyright信息据为己有的。

这是个人品行问题,一旦发现就走好不送了。

最后

我写这篇小文儿分享观点和经验的目的很明确,希望更多有想法有能力的攻城狮们加入暴风TV产品团队。我的邮箱是houguangmin圈baofeng.com,谢谢!



1. 遵循行业规范,任何转载的稿件都会明确标注作者和来源;2. 的原创文章,请转载时务必注明文章作者和"来源: ",不尊重原创的行为 或将追究责任;3.作者投稿可能会经 编辑修改或补充。


阅读延展

1
3
Baidu
map