|
|
发表于 2022-10-22 11:40:19
|
显示全部楼层
积累合作者是推进开源项目的关键
要推进开源项目,关键是积累合作者。原因显而易见,一个人的开发精力、知识技能是有限的,单就编码来说,多人合作已经优于一人单干;更不用说做测试、写文档、添加细碎功能等必要事项,当项目规模相对变大时,单人团队很快就会被这些事情耗尽精力。
做好团队成员甄别工作
但是,有自由项目团队协作的经验的读者会知道,没有明显报酬的合作活动暗藏着巨大的组织难度。我简单列举其中几个:
- 由于团队成员是基于自由、无收益预期的心理加入团队的,因此如果有人消极怠工,你除了让他出局以外没有什么有效的应对手段。
- 由于没有利益分配关系,因此团队成员之间的地位差异不甚明确。加上每个人对项目都有自己的期望,这使得团队很可能出现“路线斗争”。
- 由于没有利益分配关系,一些团队成员会对你的项目心不在焉。具体的表现如:
- 对方不会仔细阅读你写的文档,甚至根本不读,并向你询问许多令人恼火的问题。
- 对方不会花太多精力去理解你的项目构思,而是要求你给出更简练的陈述,或者要求你直接告知对方应该做什么具体事项。但是,当你尝试减少对方需要处理的信息量时,对方反而会对其工作的意义的产生疑惑,并再次询问你对项目有何构思。很显然,你永远无法给出令对方满意的答案。
- 如果项目涉及多种技术,并分别由不同的人来负责,那么团队里很可能需要一个人对团队所用的各种技术均有一定的了解,否则团队的工作无法成为有机的整体。这对个人的知识技能水平是一个不小的挑战。
基于以上叙述,你如果没有做好团队成员的甄别工作,那么很快就会付出惨痛代价。
优质开发者何似
那么,我们需要选出怎样的合作者呢?
- 你的目标人选应该具备合作性的价值感来源。这是指对方不应该只在参与项目的某个环节(通常指顶层规划)中获得价值感,或者非要取得某个成果才行,而是在参与团队项目本身中感受到自我价值。这可以避免团队陷入路线斗争。原则上不应当接纳“热情驱动”的开发者进入团队,这些人对你讲的故事失去兴趣时会毫不犹豫地消极怠工。
- 你的目标人选应该在主观上具有一定精力、客观上具有一定时间参与到项目中去。这一条不需要仔细观察对方的日常生活去判断。只需要在邀请对方加入团队时告知对方需要拿出大段时间,对方接受了就可以了。
- 你的目标人选应该善于提出建设性意见,或者至少很少提出非建设性意见。一定不要接纳喜阴阳怪气者、喜抓无关紧要表述漏洞者。
- 最后才是你的目标人选要具备一定的技术能力。
这些原则可以帮你选出具备相当合作能力的优质开发者。有的读者可能会问,设置这么多原则会不会错过一些能力很强的开发者?我的回答是,会也不会。如果你没有设立这些原则,确实可以拉到更多的人,但是你没有办法把多出来的这些人组织起来多做出什么建设性成果。不严谨地说,这些原则可以避免“高熵者”进入团队,使团队运转良好。
优质开发者何在
说完这些,现在讲一讲如何找到这样的优质开发者。首先建议你从你身边去找。这样找出来的人你比较了解,将来谈事情时也比较方便。如果你身边可选的人很少,那么你可以去你的目标开源社区去找。不论身边还是线上,方法都是一样的。
首先,你必须是一名具备相当合作能力的优质开发者。也就是说,你要做到你对你的合作者的要求。我直接贴过来了,但略有不同,请你再读一遍:
- 你应该具备合作性的价值感来源。这是指你不应该只在参与项目的某个环节(通常指顶层规划)中获得价值感,或者非要取得某个成果才行,而是在参与团队项目本身中感受到自我价值。这可以避免团队陷入路线斗争。注意,这不是说要你在每个团队中都要感受到自我价值,如果你实在感受不到,那就换一个团队。红线在于,你不能只在你自己的项目里获得价值感。你不应该是“热情驱动”的开发者。
- 你应该在主观上具有一定精力、客观上具有一定时间参与到项目中去。当你对别人表示你有时间时,你应该信守承诺。
- 你应该善于提出建设性意见,不要提出非建设性意见。你不能是喜阴阳怪气者、喜抓无关紧要表述漏洞者。
- 你要具备一定的技术能力。
然后,你要加入到由别人主导的团队项目中。在这些项目中你要体会团队氛围、观察团队成员的质量,如果你觉得不对劲要立刻离开。如果你觉得不错,可以留一下团队成员的联系方式,不用再做多余动作。
最后,你要相信,当你成为这样的优秀开发者之后,你在寻找合作者,你的合作者也同样在找你。到了这一步,你就不用担心找不到合作者了。 |
|