如何把 GitHub 帐号打造成你的社交名片?

2019年7月16日01时45分内容来源:MacTalk

前阵子我在极客时间的卖桃者说栏目中分享过一篇关于 GitHub 的文章《GitHub颠覆了编程世界吗》,当时在文末提到了一个观点,「因为 GitHub 在程序员中的巨大影响力,一个好的 GitHub 账号可以像成功的项目那样成为技术人的名片。

今天我们就来聊聊这个话题。

GitHub 是全球最大的代码托管平台,同时,它还提供了一系列协作功能,如 Star、Follow、Fork、Commit、PR 等。对于团队来讲,这些协作功能能帮助团队实现高效率高品质的代码编写。对于个人来讲,这些协作功能也具备社交属性,让 GitHub 成为一个专属于程序员的社交网站。

如果你能经营一个优秀的 GitHub 账号,那就和微博大 V、公众号 KOL 是一样的,能给你带来巨大的技术影响力,对你的个人发展和职业生涯都会有很大的帮助。现在很多公司在招聘程序员时都会表示有 GitHub 项目是一个加分项,也有不少程序员通过 GitHub 获得了很好的机会。

不过很可惜,大部分程序员都是把 GitHub 当线上的 Git 使用。要么建个仓库扔些代码上去,要么把 GitHub 当做一个资源网站,遇到不会写的代码就上去找找……这其实是个巨大的浪费,你完全忽视了 GitHub 的潜力。

如何打造一个好的 GitHub 账号呢?慢工出细活,但也需要方法和技巧。

在开始之前提醒大家一句,构建影响力不是一件短期速成的事情,它需要你先付出,给别人长期带去有价值的东西,别人才会回应你、关注你,甚至追随你。这和写作没什么两样。

整理你的GitHub账号

下面开始进入实操环节,第一步就是整理你的 GitHub 账号。ID、头像、个人简介、账号首页关联的邮箱、微博或微信等社交账号等信息都要填写完整,你可以隐去公司等敏感信息,但涉及的主要技术领域等关键信息一定要有。毕竟你的目的是打造一个好的 GitHub 账号,那就要有个明确的人设。

另外,如果你在其他平台上有账号的话,最好把你的账号ID、头像在所有平台上保持一致,形成一个统一的个人品牌形象,便于他人识别。

参与开源项目

如果你暂时对构建自己的项目没什么思路的话,可以先从参与别人的开源项目开始。在初期最好选定 1-2 个具体的技术领域深入进去,毕竟不同技术方向之间存在着很大的壁垒,很少有人能跨领域做到精通。在编程初期,技术的深度显然比技术的广度更为重要,等你转型成架构师或管理者之后,技术广度的重要性就会显露出来。

专精一两个领域,有利于聚焦技能和专长,形成自己的品牌。比如,你说自己是人工智能专家,肯定不如说自己是深度学习专家能吸引志同道合的伙伴或关注者。至于选择什么技术领域,可以和你当前的工作相关,也可以选择未来更有希望的技术方向。

找好方向,就可以选择参与你感兴趣的开源项目了。怎么参与呢?先熟悉项目的现状。你可以通过阅读项目文档、贡献者文档,查看 Issues 等方式,了解这个项目之前发生过什么,当前有哪些 Issue 是急需人贡献的,未来会有哪些新的特性可以参与等等,以此来确认自己能做些什么。

然后就可以从一些简单的 PR 开始,比如检查拼写错误、代码格式、翻译英文文档等等,别笑,虽然这些行为被很多人拿来讽刺那些夸大自己贡献的人,但在初期,这的确是很好的参与开源项目的方式。在你对项目有了更深入的了解和实践后,你就可以进行 Fix Bug、写 Test Case、实现某个 Feature、提交 New Feature 等操作了,另外,你也可以把自己的学习过程以及相应的案例写下来,分享给同样对这个项目感兴趣的伙伴。这些都是你可以做贡献的地方,同时,这些贡献信息也都会在你的 GitHub 账号里体现。

如果你能坚持下去,持续对项目做出有价值的贡献,必然能赢得社区的关注与好感。

打造自己的开源项目

每个程序员都热衷于造轮子,如果你有想法的话,可以试着打造属于你自己的开源项目,万一这个项目爆发了,你的影响力自然也就形成了。之所以说「万一」,是因为在 GitHub 上构建一个成功的开源项目的几率和创业成功的几率差不多。大部分时候,你辛辛苦苦花了几百个小时,写了几万行代码,还把代码开源给别人,结果却没几个人感兴趣,多么令人沮丧啊。

所以呢,我们要抱着一种「但行好事,莫问前程」的心态,这会有助于你更长久的走下去,同时,即便开源项目没成功,你的收获依然会很大。

目前 GitHub 比较流行的项目有总结类、教程/demo 类、工具类、产品类和框架类,难度依此由低到高,所以你可以从写写某个技术的教程/demo 开始,然后到构建工具、产品,再到打造框架、系统,不过呢,最后两种项目一般都是大公司在维护,个人开发者建议还是写写工具类或产品类项目更合适。

比如,你可以从自己平时的工作入手,看看有没有让你头疼的重复性操作、有没有让你觉得烦琐的步骤、有没有让你用得不爽的地方,能不能把这些问题用技术的手段解决,再抽象成工具或模块开源出去。

一切从解决痛点开始。

如果你希望自己的项目被更多的人使用,那你在设计之初就不能只从「我」出发,要进行通盘考虑:这是不是更多人的痛点,能不能帮助别人解决问题等。

很多时候,程序员们遇到的问题都是相通的,为了避免重复造轮子,在动手之前,最好先看看其他人是不是已经做过类似的项目。如果有,而且项目本身做得不错,也有很多人在用,那么就没必要再做了,免得浪费时间和精力,不妨以Contributor的身份参与到这个开源项目中,一起来完善它。除非你想用这样的项目练手和熟悉 GitHub 流程。

如果没有类似的项目,那你就可以进行设计和编程了。不论要解决的问题多么复杂,代码多么的精致优雅,最终呈现出来的接口或界面一定要做到简单、轻量、易懂易用,如果别人不知道怎么使用你的代码,那么他就不会使用它。

另外,项目的 Readme 同样要做到简单清晰易懂,这是其他人接触你项目的第一个入口。一般来讲,你需要在 Readme 里告诉用户这个项目是做什么的,它解决了什么问题,有什么特性,要怎么使用这个项目等等关键信息。必要的时候可以用图片、动图、示例代码等来展示你想传达的信息,大部分时候,这些丰富的素材会比啰嗦的文字更有效。

除了 Readme,其他的指南性质的文档也很重要,你可以使用 GitHub 的 Wiki 功能来编写自己的文档。你在代码上花了多少时间,在文档上就值得花同样多的时间。

好了,现在你的项目已经上传 GitHub,有了一些 Star,也有人提了一些 Issue,这时候,你就需要尽快解决这些 Issue,给用户即时的反馈,打造一个通畅的反馈回路,将最初的这批用户沉淀为项目的忠实 Follower,再以此为基点扩张。这会花费你很多时间,可能比你写代码本身的时间还多,但它是保证一个开源项目能否顺利存活下去的关键,也是开源项目的根本。

最后,仅仅依靠 GitHub 的关键词、首页 Trending 等自然流量,是很难仅凭项目本身就在 GitHub 上获得巨大反响的,你还需要为自己的项目进行宣传。GitHub 不是孤立的,它是整个社交网络中的一员,你可以通过社交媒体、写作、问答、演讲等方式传播自己的 GitHub 账号和开源项目,比如,在一个有影响力的公众号里写一篇文章介绍自己的开源项目,获得的效果可能比 GitHub 自然增长一个月还要多。

构建一个 GitHub 开源项目,和打造一款产品很类似,无论怎么宣传,最终还是取决于你的项目是否对用户有价值,用户是否愿意把你的项目推荐给其他人。

好了,以上就是今天的内容,希望对你的GitHub之路有所帮助。聊了这么多,你在GitHub上账号情况是怎么样的的?是否花了时间和精力打造自己的GitHub账号呢?欢迎在留言区分享你的心得。

最值得关注的微信公众号