我自己从最开始开源 rosedb/lotusdb,以及一些其他组件,折腾开源也有很多年了,这次想写一个关于开源项目的系列,结合我自己的实际经历,讲讲开源项目的开发、参与、维护、流程规范、收获、盈利等内容,希望这个系列对大家有所帮助。
在当今快速发展的技术领域,开源项目越来越受到开发者和企业的重视,近几年开源在国内的势头其实也发展得非常好,涌现出了非常多优秀的开源项目、开源社区,以及日益增长的开源开发者和爱好者。
开源甚至是一些公司的商业策略以及赖以生存的根本,比如国内开源各方面做的最好的 TiDB,还有很多其他优秀的开源项目。
对于我们个人来说,参与或维护开源项目不仅可以提升个人的技术水平,还能带来诸多好处,这一次来和大家简单探讨为什么你需要一个开源项目,以及它如何在个人成长和职业发展中发挥关键作用。
技术提升
开源能够带给我们非常多的好处,对于技术人来说,最直观的就是技术能力方面的提升了。
通过开发项目解决实际问题,并且在开源维护的过程当中,阅读别人的代码,能够见识到不同的人的代码,以及编码风格,可以从别人写的好的地方去学习。
我自己开源了一些关于存储引擎方面的开源项目,让我能够在这方面一直深入研究,不断提升在这方面的能力。
履历
开源项目是一种展示技术能力的最佳方式之一。
比如在简历中列出你参与的开源项目以及你的贡献,能够直观地向招聘者展示你的实际能力和项目经验,这比任何证书和成绩单都更具说服力。
深入参与一个比较知名的开源项目,或者自己运营一个有影响力的开源项目,都会使自己的个人履历增光添彩。
人脉
开源社区汇聚了全球各地的优秀开发者,通过参与开源项目,有机会结识这些志同道合的技术爱好者。
无论是项目讨论、技术交流,还是合作开发,这些互动都将极大地拓展你的人脉圈。
强大的人脉不仅对技术提升有帮助,还能在职业发展中带来更多机遇。
比如我自己就通过开源项目结识了很多志同道合的朋友,并且还和一些人维持了不错的关系。
团队协作
一个项目开源出去之后,你肯定不希望只是自己一个人玩儿,如果有后续有很多的人参与进来,你将学会如何在团队中有效协作,这包括代码规范、版本控制、任务分配、沟通协调等多方面的技能。
这些团队协作经验对于你在未来的职场中适应团队工作模式、提升工作效率具有重要意义。
表达能力
参与开源项目不仅需要写代码,还需要撰写文档、报告问题和提出建议,这些活动有助于提升你的书面表达能力。
同时,在开源社区中,你也需要通过讨论和交流来表达自己的想法,这对于口头表达能力也是一种锻炼。这些表达能力在技术分享、会议演讲和项目汇报中都非常重要。
在职场工作这么多年,我发现大多数人的表达能力其实并不算太好,能够把一件事情透彻的讲清楚,并且让别人能够理解,是一件并不容易的事情。
技术管理
如果你主导或维护一个开源项目,你将接触到项目管理的方方面面。
这包括制定项目规划、管理任务进度、协调团队工作、处理项目风险,技术选型等。
这些技术管理经验不仅对个人能力提升有帮助,还能为未来担任技术领导角色打下坚实的基础。
对求职的帮助
目前很多公司岗位在招聘的时候,都把拥有开源项目,或者参与开源项目作为了一个重要的加分项。
因为参与或维护开源项目意味着候选人至少有很多的优势,比如:
说回我自己,我上一次找工作的时候,实际上我的开源项目对我的帮助非常大,在面试的过程当中,给了我很多的信心,并且也证明了自己的能力。
所以,无论是出于技术提升、职业发展,还是个人成长的考虑,参与或者维护开源项目都是一个明智的选择。
本文分享自 roseduan写字的地方 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!