年轻人的第一次github
最近把半年来的各种积累的提问都回答了一下,有一种暑假开学前补作业的感觉。。。
有一些过于细节的技术我私聊了提问的同学,这类问题比较适合在开放社区提问,比如SegmentFault或者Stack Overflow。我希望尽量回答对更多读者有阅读价值的内容。
其中提问比较多的,就是“如何做项目”或者“如何有实践经验”。
很多人应该是看星球的项目来的,跟着教程去复刻一个项目是入门练习的好的方式,当完成这个阶段以后,下一步可能就会有些迷茫。想自己做项目,不知道做什么好。有了想法,但是要从头做一个项目,能力又觉得不够。遇到问题,因为是自己原创的项目,可能还不好在互联网上找到解决办法,想找人问,也不知道找谁。
(是不是觉得我在你家装摄像头了)
如果我和你讲,有一种方式,可以很好的做技术实践,又会有人给你帮助,帮你看代码,解决问题,然后一不小心可能还能获得实习机会,想不想了解一下?
那就是参与开源项目。
这件事可以分几步走:
- 技术上如何给项目提PR
- 如何找到合适的项目
- 如何参与开源
先说第一步。
可能有些同学之前没接触过github和git,git是一种分布式的版本管理系统,而github是一个基于git建立的网站,git也被托管在github上,这个是项目地址
可以说,如果想要成为一个程序员,使用git是必要的技能。如果不习惯命令行的话,可以用sourceTree客户端,非常简单好用。
有了工具以后,如何使用这个工具呢?这时候我就要推荐一个神项目:Dress
作者建立这个项目的初衷就是为了帮助新人学习如何给开源项目提交代码,十分建议有相关特长的同学可以尝试一下。
对了,原项目已经被关闭了,你们可以看这个项目
当你掌握了如何提交代码,下一步就如何选择项目了。
你完全可以找一些耳熟能详的项目,比如ant-design,大家应该都很熟悉。打开issue列表,选择“good first issue”或者“help wanted”标签
很多项目都有这两个标签,前者是专门提供给首次使用github的同学,这些需求往往非常简单,简单到你可能领过一次就不好意思再领 了。后者会是正常难度,但是项目方因为种种原因,希望社区的同学能参与贡献。一般会是一些比较独立,描述清晰的需求。
比如这个issue,就是一些翻译工作,甚至不需要写代码。
我司的数据库项目也有good first issue,感觉只要改一行代码就可以呢。
这些good first issue就是开源项目提供给新人的很好的入门机会,而且在这个issue下面还可以和一线工程师沟通,当你提交代码以后,还会帮你做code review,这个是一定会有的步骤,他可能会指出你的代码中的问题,这时候需要你要配合完善代码。
一般来说,如果你可以解决两个help wanted,大概就意味着,你有做实习生的能力了,可以适时表达一下想要实习的机会。公司对于全职都会比较谨慎,但是实习相对好很多,大厂可能常年都有很多实习岗。像我们这个小公司,目前也有Go/Rust的实习岗位开放,欢迎勾搭。
目前前端没有HC,不过我们的Dashboard也欢迎大家参与,我这两天挂一些比较简单的需求可以给大家玩一下。星球的同学提PR被合并的话,可以寄个点周边啥的,明天我去找市场的小姐姐申请一下,应该是稳的。
这个网站有列出来一些good first issue,不过分类做的不是很好。如果感兴趣的同学比较多,周末我整理一些国内项目的good first issue给大家。
