对于很多在校生和即将毕业的同学来说, 即使刷了很多题, 仍然因为简历上的项目经验不够丰富而不能通过简历关. 笔者曾经在工作中有幸参与过一个开源项目的源码开发, 做过开源贡献, 也因此获得了升职加薪以及个人的技术能力成长.
今天我来给大家介绍一下新手如何利用GitHub的开源项目进行学习和丰富自己的简历~
很多人都知道 GitHub 上面有非常多优秀的开源项目, 如果能够参与到一些开源项目中, 对自己的技术提升和职业发展都是非常有帮助的. 对于项目经验不足的应届生来说, 也可以丰富一下自己的简历的~

有些同学说, 我还是个技术小白, 怎么参与开源项目呢? 应该怎么找到自己适合的项目呢? 下面就来详细展开说说.
参与开源项目最有趣的地方就是可以开阔自己的眼界, 链接到世界各地的人, 让自己加入到某个圈子里.
比如你对某种小众的语言感兴趣, 你可以在这些项目中找到非常多志同道合的朋友. 有时候开源项目组的人会组织一些线下的 meetup, 你有机会接触更多的人, 甚至是一些技术大牛.
当你对某个开源项目非常熟悉, 对它的源码和整个项目的历史变动以及未来规划设计都非常清楚, 你就很可能被邀请到做类似产品的公司团队中工作. 也有非常多小初创公司在社区里面寻找合适的兼职/全职/远程程序员. 你会发现有很多获得额外收入的途径, 甚至是开拓自己的副业, 又或者成为一个自由职业者. 总之有可能收获一些意外的机会.
在开源项目中贡献代码, 可以得到来自其他人的 Code Review, 提升自己的coding能力, 文档, 沟通和组织能力等. 当你贡献的足够多, 还有可能成为项目的核心人员, 领导项目的发展等机会, 建立自己的技术影响力.
既然参与开源项目的建设有这么多的好处, 作为一个小白或者对自己不太自信的同学, 应该怎么着手开始呢? 有没有比较简单和容易上手的路线呢?

很多同学一上来很着急, 觉得自己水平还不够, 源码看不懂, 不知道怎么做开源贡献, 所以这个计划就一直搁置着, 干着急.
其实开源项目不仅仅是代码, 各种水平或者阶段的程序员都可以找到自己能够做贡献的地方. 比如:
开源项目不只是代码, 你可以想像它其实是一个来自世界各地的志愿者组成的组织, 大家的共同目标是打造一个产品(比如一款桌面游戏, 一个数据可视化的项目等), 产品提供给任何有需要的个人或者公司使用.
在组织中需要有分工合作, 比如有人负责写文档, 规范的文档提供给外界使用, 就像一个说明书. 有人负责组织一些线下的 meetup, 有人负责整理邮件列表, 有人负责规划未来的工作要点, 有人负责写更多的使用 example, 让用户能够更快的获得他们想要的东西. 有的人负责写核心的代码等等.
所以一上来不要太着急去写代码, 先让自己沉到社区里面去, 看看大家讨论什么问题, github 的 issues 板块有大家提出来的一些bug或者存在的问题. 你可以先从一些边边角角的地方开始, 整理文档也是一种贡献, 时间慢慢积累, 熟悉项目后才有可能提供核心代码的贡献.
说了这么多, 让我们来看看开源项目的一些共同特点.
每个开源项目的人员组成和项目结构都是不一样的, 但是每个开源项目都会遵循一些通用的结构. 了解这些通用的结构可以让你在不同的开源项目中切换的更加游刃有余. 一个开源项目一般都会有以下的文件:

国外的项目还会配有 Slack (即时通讯工具) 方便大家讨论, 国内的开源项目可以在 README.md 文件上找到联系人的微信进入群聊或者是钉钉.
以上的各种文档和工具都是为了让大家更快速了解项目, 更方便讨论问题, 提供更高效的交流合作.
GitHub 上面的项目琳琅满目, 怎么找到适合自己入手的项目呢?

其次可以点击项目主页的Insights这个tab查看过去一周, 过去一个月的代码合并次数以及参与的人数来看看活不活跃(社区还活着吗)
.png)
.png)
好啦艾瑞巴蒂, 讲了这么多, 小豆作为过来人, 最后还有一些小技巧可以分享给大家~
如果一直只是浮在表面的看, 不去关注, 不去行动, 就会发现自己很难钻进一个项目里. 不要对自己要求很高, 也不要追求完美, 先找到一个自己觉得还可以的项目, 未来几个月就啃这么一个项目. 如果你能够把一个啃下来, 后续切换到其他项目是非常快速的.
也许短期内不会看到什么进步, 也许很长一段时间内自己在项目中仍然是个小透明. 给自己个半年时间, 长期去做. 不要因为一时半会儿没有进步, 项目也无法写到自己的简历里就灰心丧气, 要有延迟满足的能力.
一路上你会发现很多大牛, 也许你会发现自己差的东西太多了, 没有关系, 从今天开始捡起来, 今天开始行动起来. 种一棵树最好的时间是十年前, 其次就是今天啦.
💖 如果你对以上的内容有疑问, 欢迎在评论区留言, 我都会一个个给大家回复的~
✅ 还有想要了解的内容, 也请大家一起来提出, 小豆还在准备这一系列的分享~
👀 欢迎点赞回复和关注三连哦~