GitHub 吸星大法 - 一年收获 2000+ Star 的心得

2019-11-10 admin

1. 前言

笔者做前端开发这些年,几乎每天都会刷 GitHub,也时不时在上面分享博客和做一些开源项目,也算是 GitHub 的重度使用者了,其中也掌握了一定的技巧,并在一年内收获了 2000+ Star。

因为有读者问过我,想知道我在 GitHub 上做开源项目并获得 2000+ Star 的心得,所以笔者在此分享一下这过程的一些经验与心得,算是给那些关注了我的读者的福利。

2. 为什么要经营好你的 GitHub ?

GitHub 可以说是你的技术名片,你在 GitHub 的贡献可以作为简历的加分项。

据我所知,对于技术岗位,猎头在找候选人的诸多方法中,有一条就是通过 GitHub 来找技术比较好的候选人的,如果你的 GitHub 经营得很好,开源项目收获的 Star 比较多,一般都会为你提供一些好的机会。

为什么笔者知道 ?因为 ta 们找过笔者,所以我知道,哈哈哈。

而且如果某个公司的团队负责人看到你的 GitHub,觉得你的技术不错,也会给你抛来招揽的橄榄枝。这种情况,笔者也遇到过,哈哈哈。

笔者也是最近裸辞并换了工作,最近在找工作过程中,笔者知道了:想通过社招获得好工作或者进大厂,一般都要有如下 4 点中的 1 - 2 个亮点才行。

  • 高学历,名校毕业
  • 工作年限足,经验丰富(但不是 1 年经验当 5 年用那种)
  • 有开源与影响力,GitHub 的贡献或者经常写优质博客
  • 本身就有大厂的工作经历

大多数人都是普通人,平时所做工作几乎都是写业务而已,那么只有你具备 1 - 2 个亮点,HR 或者面试官 在筛选简历时,才会选中你,或者好机会才会自动找上你。

找工作时,我简历中的亮点就是 GitHub 的贡献,在开源与影响力的一栏中,我是这样写的:

开源与影响力

  • GitHub: https://github.com/biaochenxuying
  • 本人有 写技术博客和做开源项目 的习惯,乐于分享,坚持写博客和做开源项目的时间长达 一年半
  • 利用业余时间开源和维护了 10 个个人项目,有 博客文章、Vue 源码的思维导图、Vue 版的博客网站前台、React 管理后台、Express 后台、还有一些 js 轮子。
  • GitHub 上总共收获 2000+ Star,500+ Fork ,570+ Followers;超过 100 star 的项目有 6 个,超过 500 star 的项目有 1 个。

如果没有这个亮点,估计在这互联网寒冬期间,笔者也很难有好公司的面试机会或者找到工作啊。

3. 如何经营好你的 GitHub ?

你能为他人提供什么样的价值。

想收获到很多小星星,那你首先要想的是:你能为他人提供什么样的价值

就笔者来说,笔者在 GitHub 上为他人提供的价值有:

  • 写的博客文章,他人可以从中吸取到 经验、知识点,或者思维得到提升;
  • 把相关知识总结成思维导图,分享出来,他人可以直接学习;
  • 把根据自己的兴趣,做了个博客网站,并把源码分享出来,并做了开源,别人可以直接用;
  • 自己工作中造的一些轮子,也分享出来,他人可以直接用。

总之,原则就是:你能提供的价值越大越多,收获到的小星星就会越多

3.1 写博客文章

至于为什么要写博客,我就不说了,很多大神已经写过了,可以参考一下几个大佬们写的 我为什么要写博客 ?

笔者只想说,只要你开始了写博客之路,那基本就是一条一去不回头的路了。因为笔者就是这样,而且我看到很多写博客的人也是这样。

还有就是最好用 markdown 语法来写作,也可以参考阮一峰写的 中文技术文档的写作规范,这样可以更加关注内容本身,而不是样式,多个平台也可以发布。

而且写作这是非常重要的一环,因为后面介绍的方法,多多少少都依赖于写作。

笔者专门在 GitHub 上创建了一个 blog 仓库来写文章的,也是目前笔者收获最多 Star 的开源项目,而且布局和风格什么的,都是比较正规的。如果你也想创建个仓库专门来写文章的,可以参考我这个 blog 项目。

3.2 做开源项目

可能你觉得自己的代码写的不好,没有什么流弊的功能,不敢开源代码之类的,这想法也没错,但你要知道,大神都是从小白过来的,每个人都有是小白的时候

而且后来者从来都不缺,很多时候,你的分享主要是对那些后来者有用而已;更何况,比你厉害的人可能会指出你分享中的错误或者改进的地方,也是能促进你的进步的。

这个开源项目类型可以是很多种的,有造轮子的、写插件的、高仿某个 app 或者网站的、用某些技术写个通用模版的、总结知识做成思维导图的、提供某个功能的 等等。

虽然类型那么多,最主要的是:要根据自身的兴趣和平时日常工作来选择要做哪种类型的开源项目

笔者因为平时有写博客,所以想做个自己的个人网站,专门来展示自己的文章的,而且当时想学习 react 和 node ,所以做了个网站的项目并开源了,包含 前台展示管理后台后台

还有一些开源项目是笔者在工作中造的轮子或者插件(ps:如果是公司的机密项目的轮子、插件之类,又或者公司声明了不能把代码外传的,不要随意开源哦)。

我是这样想的:既然自己有这样的需求(比如:做个自己的个人网站需求),那么同理,其他人可能也有这个需求的,所以我做好功能并开源,对他人就可能有帮助。

我开源了之后,也的确给不少人提供了经验或者帮助,因为这个项目,笔者收获了很多的小星星。而且很多人是伸手党来的,你做好了,别人可以直接用,多方便啊。

还有一个项目就是 vue + typescript 版的博客前台展示,当时我已经写了一版 react 版的前台展示了,为什么还写一版 vue 版的呢 ?因为我想学习 typescirpt,所以想在结合 vue 来实践一下,而工作中还没用得上,所以又把我的网站前台展示用 vue + typescript 用了一版。

而且当时 typescript 加 vue 的开源项目还很少的,连相关的博客都少,我想参考一下别人的项目,但是没有啊,所以当时也踩了很多坑。所以我想:我如果开源了的话,肯定很多人会参考我这个项目的,也会带来一定的流量,所以能收获不少的 star 。也的确是这样,这个项目也是我目前的完整项目中最多 star 的一个。

有一点要注意的是:一个人的精力与业余时间是非常有限的。如果是一个人的话,做的开源项目不要太多吧,维护好一个开源项目是很需要时间的,维护多个项目所需要的时间就更多了

你以为开源了就行了吗 ?太天真了。

那要写 README.md 来介绍你开源的项目的,比如一般要有如下内容:

  • 简介:简单说明一下这个项目是干嘛的
  • 结果:这个项目的代码达到了什么效果
  • 步骤:怎么运行你这个项目,或者怎么使用你写的插件。
  • 文章:详细讲解这个项目(可无,最好有)

有了这个 README.md 之后,别人一看到你的项目的 github 就知道这个项目的情况了。

3.3 硬核为王

以做好一个伟大的产品的心态来做开源项目。

做开源项目说白了就是做一个产品,我们要以做好一个产品的心态来做开源项目,这样你的产品质量才会更优,才会够硬核,也就是有料。

我做这个博客网站的时候是有这个意识的,做完第一版之后,也在不断的迭代和完善。

就我做成的成果来看,其实还不够硬核,因为还有一些优化的点和实用的功能的,只是我还没做。

目前,笔者比较遗憾的是:还没有一个达到 1000+ Star、甚至 10000+ Star 的硬核开源项目。以后技术更精进了,或者有好想法了,再开源一个好的开源项目吧。

我知道的一个比较硬核的开源项目是这个:支持自定义样式的 Markdown 编辑器,这个项目就是以一个产品的理念来做的,作者也在不断的迭代和完善。而且更新的速度很快,也很规范。

当然你也可以参考那些做得很出名的开源项目,毕竟做得那么成功,肯定有其原因。

3.4 时间与坚持

做开源项目是很需要时间的。

比如笔者做的博客网站项目就用了 2 个多月的业余时间来做,还好公司的正常的上班时间是 965 的,平时上班只需要 7 个钟,加班的情况比较少,所以业余时间比较多。

但利用业余时间做开源项目时,我的每天真实工作时间可以说是 9117 或者 907,因为晚上下班了,我都会用 2 - 3 个钟来做开源项目,周末的两天也是这样,而且周一到周五的中午吃完饭时,我也会挤出大概 30 - 40 分钟的时候来学习相关的技术,或者做开源项目。

这样习惯了大概两个月之后,终于把网站的第一版撸了出来。

所以时间很重要,没有时间你就做不出好的开源项目。

而且这是一直坚持的结果,如果中途觉得累了,可能就放弃了。

如果你问我难道不觉得累吗,其实我很少觉得累,因为是做自己喜欢的事,兴致比较高,再加上平时有锻炼身体,所以不累。

当然,如果你的工作时间是 996 的,可能没那么多时间了,最好是开源一些工作中开发好的插件或者特定功能的轮子之类的。

3.5 推广自己的项目

有才华很重要,让别人知道你的才华更重要。

酒好也怕巷子深。

当你做好你的开源项目之后,你以为就会有人给你小星星了,那你就太天真了。

想收获小星星,还要自己去技术社区推广的,不然没人知道你的项目,现在这个时代,流量为王,这一点对于开源项目也是一样的,人来了,了解到你的项目,才有可能给你小星星。

而且要推广就要脸皮厚,这叫做自我营销。

所以要写文章介绍你的开源项目,文章的要点主要是突出 效果与功能

然后就是 宣传 了,到各大技术社区(比如:思否、掘金 等)去发布你的文章,达到引流的目的。

如果想知道怎么写推广的文章,可以参考我写的这两篇文章: react + node + express + ant + mongodb 的简洁兼时尚的博客网站Vue + TypeScript + Element 项目实践(简洁时尚博客网站)及踩坑记

4. 总结

笔者觉得想做好开源项目,最重要因素是兴趣,不然你可能中途就放弃了,很难坚持到把项目做完和做好。

有时候,有很强的功利心(比如 为了钱、为了名)也是好事,这可是你的一大助力,是可以推动你做完你想做的事的。

最后,要掌握 GitHub 吸星大法,先从写作开始,从现在开始。

推荐阅读

GitHub 上能挖矿的神仙技巧 - 如何发现优秀开源项目,估计很多人都不知道的技巧,甚至很多高级工程师都不知道。

你说你爱学习,且连一台属于自己的服务器都没有:全栈君觉得每个开发者都应该拥有自己的网站和服务器,这可是很酷的事情,学习 Linux、跑跑脚本、建站、搭博客啥的都行,现在阿里云的服务器只需要 86元 一年,优惠只剩下最后一天了。

[转载]原文链接:https://segmentfault.com/a/1190000020959635

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处。

转载请注明:文章转载自 JavaScript中文网 [https://www.javascriptcn.com]

本文地址:https://www.javascriptcn.com/read-78942.html

文章标题:GitHub 吸星大法 - 一年收获 2000+ Star 的心得

相关文章
10个强大的纯CSS3动画案例分享
我们的网页外观主要由CSS控制,编写CSS代码可以任意改变我们的网页布局以及网页内容的样式。CSS3的出现,更是可以让网页增添了不少动画元素,让我们的网页变得更加生动有趣,并且更易于交互。本文分享了10个非常炫酷的CSS3动画案例,希望大家...
2015-11-16
v-charts | 饿了么团队开源的基于 Vue 和 ECharts 的图表工具
在使用echarts生成图表时,经常需要做繁琐的数据类型转化、修改复杂的配置项,v-charts的出现正是为了解决这个 痛点。基于Vue2.0和echarts封装的v-charts图表组件,只需要统一提供一种对前后端都友好的数据格式 设置简...
2018-05-24
Node.js 2014这一年发生了什么
Node.js 的 2014 年充满了不幸和争议. 这一年 Noder 们经历了太多的伤心事, 经历了漫长的等待, 经历了沉重的分裂之痛. 也许 Noder 们不想回忆14年 Node.js land 发生的事情, 但正因为痛才更有铭记的价...
2015-11-12
从2014年的发展来展望JS的未来将会如何
<font face="寰�杞�闆呴粦, Arial, sans-serif ">2014骞达紝杞�浠惰�屼笟鍙戝睍杩呴€燂紝鍚勭�嶈��瑷€灞傚嚭涓嶇┓锛屼互婊¤冻鐢ㄦ埛涓嶆柇鍙樺寲鐨勯渶姹傘€傝繖浜涜��...
2015-11-12
12个你未必知道的CSS小知识
虽然CSS并不是一种很复杂的技术,但就算你是一个使用CSS多年的高手,仍然会有很多CSS用法/属性/属性值你从来没使用过,甚至从来没听说过。 1.CSS的color属性并非只能用于文本显示 对于CSS的color属性,相信所有Web开发人员...
2015-11-12
ajax为什么令人惊异?ajax的优缺点
使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变的信息。 Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHT...
2015-11-12
HTML5的5个不错的开发工具推荐
HTML5规范终于在今年正式定稿,对于从事多年HTML5开发的人员来说绝对是一个重大新闻。数字天堂董事长,DCloud CEO王安也发表了文章,从开发者和用户两个角度分析了HTML对两个人群的优势。其实,关于HTML5的开发工具,我们以往的...
2015-11-12
JS中的语音合成——Speech Synthesis API
JS中的语音合成——Speech Synthesis API 简介 HTML5中和Web Speech相关的API实际上有两类,一类是“语音识别(Speech Recognition)”,另外一个就是“语音合成(Speech Synthes...
2018-05-17
JavaScript教程:JS中的原型
Keith Peters 几年前发表的一篇博文,关于学习没有“new”的世界,其中解释了使用原型继承代替构造函数。两者都是纯粹的原型编码。 标准方法(The Standard Way) 一直以来,我们学习的在 JavaScript 里创建对...
2015-11-12
layui表格checkbox选择全选样式及功能的实
在之前的版本,默认复选框是要有值得,默认为“勾选”两个字,在表格里用来做选择不适合,很难改,还好layui升级后,可以支持不写name值,来适应表格中的选择操作。 1、layui版本号为 v1.0.9 rls版本(当前最新版本) <s...
2018-03-08
回到顶部