1
面试快结束的时候,我会有个习惯,问问这位同学是否有主持或者参与开源项目,如果有就告诉我项目地址。我会认真看这个项目的质量,只要不是临时抱佛脚给自己贴金或者文末列出的例外情况,我都会在之前谈好的待遇基础上酌情再增加一些。
有些朋友可能会有相反的意见,觉得这个人做开源项目会耽误正常的工作。恰恰相反,于公于私,都是好事。这不是情怀,这是出于最现实的考虑。
首先,参与开源项目代表了技术能力。
在当前中国互联网公司激烈的竞争环境下,普遍加班严重。但他竟然在这种情况下还能有时间参与开源项目,说明能力的确强。把代码结构化、模块化做得好,把产品经理频繁修改需求造成的时间浪费降到最低,而且自己会用单元测试,把时间都省下来了。“懒”,是工程师的美德。
不是谁都敢把自己的代码放到Github这个“全球最大的同性交友社区”的。
烂项目没人关注,烂代码会一堆人骂,只会Ctrl+C/Ctrl+V的码农不敢贴。贴到这里的项目,所有人都会看到,会经受全球工程师的“考核”。自己写的代码会被拿来和各种同类项目比较,他就会被催着逐步优化,越做越好。Github已经成了技术能力的某种过滤器。
其次,主导开源项目代表了产品能力。
实际工作中,由于屁股坐的位置不同,产品和研发互掐是太正常不过的事情了。如果研发能从产品视角考虑一下某个功能,真正了解这个功能的目的并且一起讨论出更好的实现方法,那绝对能让产品小哥(或小妹)感动得痛哭流涕。功能更完善,而且还大大加快了项目进度。
这种产品能力从哪来呢?主导开源项目是其中之一。他自己做开源的时候,会分析大家可能需求什么,然后评估这个需求到底有多少人真正需要,然后动手开发,并与关注该项目的人互动持续优化功能排除bug。这不就是产品方法三段论么。他要是天然就有这能力,公司真的能节省大量沟通成本。
再次,参与开源项目代表了生活态度。
可能会有一种情况,工作实在是太清闲,无事可做才做了开源项目,就像“当年明月”写《明朝那些事儿》。工作清闲的人那么多,为什么只出了一个“当年明月”?你在工作之余除了打游戏刷微博微信调侃网上闲逛之外,有主动提升自己能力的意愿么?
这个“主动”其实就是生活的态度。或对未知事物充满好奇,或对将来生活水平有自己的期许,他无需外部压力,自我驱动提升自己,参与开源项目就是为了提高自己的能力。这样的人,技术不会太差,而且愿意分享,对任何公司而言都是块宝,他能够带动整个小团队的氛围。俗点说就是“正能量”。
很遗憾,我自己都没能100%做到。这个期许有点儿高了。
例外情况
凡事都有例外情况,尤其是这两种:
在未征得领导同意的情况下,私自把公司的保密代码拿出来贴到开源项目里的;
把别人的开源代码删除copyright信息据为己有的。
这是个人品行问题,一旦发现就走好不送了。
最后
我写这篇小文儿分享观点和经验的目的很明确,希望更多有想法有能力的攻城狮们加入暴风TV产品团队。我的邮箱是houguangmin圈baofeng.com,谢谢!
雷峰网原创文章,未经授权禁止转载。详情见转载须知。