我自己从最开始开源 rosedb/lotusdb,以及一些其他组件,折腾开源也有很多年了,这次想写一个关于开源项目的系列,结合我自己的实际经历,讲讲开源项目的开发、参与、维护、流程规范、收获、盈利等内容,希望这个系列对大家有所帮助。


在当今快速发展的技术领域,开源项目越来越受到开发者和企业的重视,近几年开源在国内的势头其实也发展得非常好,涌现出了非常多优秀的开源项目、开源社区,以及日益增长的开源开发者和爱好者。

开源甚至是一些公司的商业策略以及赖以生存的根本,比如国内开源各方面做的最好的 TiDB,还有很多其他优秀的开源项目。

对于我们个人来说,参与或维护开源项目不仅可以提升个人的技术水平,还能带来诸多好处,这一次来和大家简单探讨为什么你需要一个开源项目,以及它如何在个人成长和职业发展中发挥关键作用。

技术提升

开源能够带给我们非常多的好处,对于技术人来说,最直观的就是技术能力方面的提升了。

通过开发项目解决实际问题,并且在开源维护的过程当中,阅读别人的代码,能够见识到不同的人的代码,以及编码风格,可以从别人写的好的地方去学习。

我自己开源了一些关于存储引擎方面的开源项目,让我能够在这方面一直深入研究,不断提升在这方面的能力。

履历

开源项目是一种展示技术能力的最佳方式之一。

比如在简历中列出你参与的开源项目以及你的贡献,能够直观地向招聘者展示你的实际能力和项目经验,这比任何证书和成绩单都更具说服力。

深入参与一个比较知名的开源项目,或者自己运营一个有影响力的开源项目,都会使自己的个人履历增光添彩。

人脉

开源社区汇聚了全球各地的优秀开发者,通过参与开源项目,有机会结识这些志同道合的技术爱好者。

无论是项目讨论、技术交流,还是合作开发,这些互动都将极大地拓展你的人脉圈。

强大的人脉不仅对技术提升有帮助,还能在职业发展中带来更多机遇。

比如我自己就通过开源项目结识了很多志同道合的朋友,并且还和一些人维持了不错的关系。

团队协作

一个项目开源出去之后,你肯定不希望只是自己一个人玩儿,如果有后续有很多的人参与进来,你将学会如何在团队中有效协作,这包括代码规范、版本控制、任务分配、沟通协调等多方面的技能。

这些团队协作经验对于你在未来的职场中适应团队工作模式、提升工作效率具有重要意义。

表达能力

参与开源项目不仅需要写代码,还需要撰写文档、报告问题和提出建议,这些活动有助于提升你的书面表达能力。

同时,在开源社区中,你也需要通过讨论和交流来表达自己的想法,这对于口头表达能力也是一种锻炼。这些表达能力在技术分享、会议演讲和项目汇报中都非常重要。

在职场工作这么多年,我发现大多数人的表达能力其实并不算太好,能够把一件事情透彻的讲清楚,并且让别人能够理解,是一件并不容易的事情。

技术管理

如果你主导或维护一个开源项目,你将接触到项目管理的方方面面。

这包括制定项目规划、管理任务进度、协调团队工作、处理项目风险,技术选型等。

这些技术管理经验不仅对个人能力提升有帮助,还能为未来担任技术领导角色打下坚实的基础。

对求职的帮助

目前很多公司岗位在招聘的时候,都把拥有开源项目,或者参与开源项目作为了一个重要的加分项。

因为参与或维护开源项目意味着候选人至少有很多的优势,比如:

  • 实际项目经验:开源项目中的实际开发经验可以证明候选人的技术能力和解决问题的能力。
  • 自主学习能力:参与开源项目通常需要自主学习和探索新技术,这表明候选人具有较强的自我驱动力和学习能力。
  • 团队协作能力:在开源项目中,候选人需要与来自不同背景的开发者协作,这展示了其良好的沟通和协作能力。
  • 责任感和毅力:开源项目通常需要长时间的投入和持续的维护,参与者需要具备高度的责任感和毅力。

说回我自己,我上一次找工作的时候,实际上我的开源项目对我的帮助非常大,在面试的过程当中,给了我很多的信心,并且也证明了自己的能力。

所以,无论是出于技术提升、职业发展,还是个人成长的考虑,参与或者维护开源项目都是一个明智的选择。

本文由mdnice多平台发布


roseduan
170 声望43 粉丝