《黑客与画家》曾指出,程序员其实和画家本质上无异,都是艺术创作者,只是表现形式和价值体现不同而已。
画作传递的是一种精神力量,源远流长;代码是能够让整个社会高速运转的小齿轮,时效性很大,不过更新迭代非常快。
此篇文章针对于热爱写代码,并在感觉写代码是一件非常快乐的事情的人。
一定要成为一个Sharer
面对新时代的发展,程序员的创作如何发挥最大价值,非分享莫属。Github的成功也证明了分享(开源)在程序员这个领域中的重要性,贡献自己的微弱力量,众人拾柴火焰高,有来自全世界各地的优秀开发者贡献自己的issue和pr,这对于一个开源项目来说是极大的动力和发展,从而推动软件行业和社会的发展,无论是对于个人还是社会,意义非凡。
可是,从我的经历看来,国内大部分程序员的表达欲望是非常低迷的,鲜有活跃于开源社区,持续不断的做贡献的人。反观国外,分享已经成为流行趋势,思想之间的碰撞更能够促进个人以及社区的发展。
开放原子开源基金会主席堵俊平在访谈中也谈及到这个观点,介绍图片链接在最底部,感兴趣的人可以扫码听。
所以我觉得,分享必将成为个人职业规划中的一个非常重要的环节。
这一点Coder很重要,为什么程序员一定要分享?我想大家都有所涉猎,我就不再详述,简单的罗列一下:
- 建立知识体系
- 提升社区影响力
- 提升发展可能性
- 提升发展上限
- 为心中曾经的那一个梦
分享能够通过他人来验证自己的理解,无论正确与否,这都是自己的见解,从不同角度出发给出的属于自己对于整个世界的认知。不要担心是否会被diss,因为之后这样你才能够认识到自己还是有提升的方面。
分享能够给整个社会贡献自己的一份力量,只要有人从你的工作当中得到启发,提升工作效率,这就是有价值的。
作为一个技术人员,需要将自己的技术观点和积累分享出去,共建知识社区,从长远来看,这是一条可持续发展的道路。
分享到底是什么
作为一个程序员,分享就是针对于一个知识点、问题、一个新技术来表达你对其的理解,然后通过一些媒体渠道散播出去,与大家一起讨论相关内容。
-
你可以分享属于自己知识领域的东西,比如阮一峰就经常在自己的博客上面分享工作和学习过程中的所见所闻,起初是一直在分享领域内的知识点,最近(截止2021.08.20)一直在组织科技爱好者周刊,推广并介绍科技领域内的高质量新闻。
-
你可以分享新技术,新框架。比如说你可以写一篇关于聊天机器人框架的博文,然后分享在知乎、掘金等技术社交媒体上,与大家共同讨论相关的不同层面的内容。
-
你可以分享你对某个知识的感悟,此时并不是站在技术的角度,而是自己长期以来的经历后的理解。这些也是非常有价值的分享,可以与他人进行更深入的讨论上层建筑,这是一件非常有挑战性的事情,可以锻炼整体观的归纳能力,也可以结交更过志同道合的朋友,何乐而不为呢?
-
你也可以将自己工作和学习过程中的代码解决方案整理成一个开源项目分享出来,让全世界的人帮助你一起维护该项目,这是一件非常酷的事情。
可以说,阮一峰是很多程序员所向往的那种状态,工作之余写一些优秀的博文,和大家一起讨论技术和热点技术新闻,顺带给自己增加一些额外收入(大部分都是广告),即做了自己喜欢的事情,也有了一定的收入,反向激励着自己继续坚持爱好,我想这就是最理想中的分享的样子吧。
而这一切都是最初对于分享这件事情的坚持。逐渐积攒了领域内的技术,有利于面试和工作当中的硬实力;此外也会慢慢积攒社区影响力,然后额外收入就自然而然找上门,未来可选择的机会就多了;我相信,在坚持分享的这条路上人,会逐渐清晰自己未来想要什么,而坚持所带来的反馈也让他越来越相信坚持的重要性和必要性。
如何开始分享
前几个月我的一个朋友曾告诉我,对于一个初学者而言,如何开始写作?那就是无论质量如何,先以你当下最好的水平开始写,写多了,你就会开始总结,寻找方法,如何针对于当先作最切实际的改进。
所以,从现实反推理论,我很认同我朋友给我的建议,先了解写作的常规Best Practice,此时并不是要你完全照搬,而是选择适合自己的整体方向开始上手,时间一长,基本上就轻车熟路,然后再对照着Best Practice来看看是否需要做出一定的调整,多次迭代调整之后,我相信会形成属于自己的风格与写作框架。
任何能力的提升,都是一种螺旋式上升的过程。
我在这里推荐两篇比较优秀的文章,有干货有见解,希望对大家有所帮助:
写博客可遵循的步骤
找一个感兴趣的主题
如果你想开始写博客,需要找一个自己感兴趣的方向,无论这个方向是不是当下最热都无所谓。
如果是当下最新技术发布或研究进展,我想此时你的一篇介绍文章会给你快速带来阅读量和讨论数量;如果是已经出现过一段时间,或者针对于经典问题你也可以发表自己的观点,结合其他人的看法最终给出自己的观点,博客一经发布,我相信在相当长一段时间内会不断有人来讨论相关内容,其中不乏一些具备创新性的观点,而这些观点也是自我成长和推进技术进步的关键因素。
其实,写博客是一种轻量版的论文编写,对于个人和他人其实都是有益处的。
可是,如果没有一个感兴趣的话题该怎么办?甚至你觉得这东西没有什么写的价值。
感不感兴趣是很主观的,你不感兴趣不代表别人不感兴趣,比如大学教授十年如一只讲一门课程,其实对于绝大多数的教授而言是很无聊的,可是下面的学生有很多就会听得津津有味,因为这对于他们而言是新鲜的,是可以从中学到知识的;如果你觉得没有写的价值,或许是因为你已经对此烂熟于心,对此已经习以为常,觉得其他人应该了解这个知识点,或者懂得如何运用。
不要你觉得,只要大家觉得。而这个途径就只能是通过博客的形式来和其他开发者建立一个良好沟通的桥梁。
定位好目标读者和博客类型
其实这个也是做好博客内容的定位:初级开发者、高级开发者。此类博客可随着自己在学习某种技术的变化而变化:前期博客、后期博客。这样博客也是随着自身在成长和发展,这是一件很有意思的事情。
另外技术博客也是分为好几种类型:
- 干货型:扔一堆资料并稍作总结,你自己去看吧
- 技术细节型:针对于某一个技术点做深入讲解
- 思考型:针对于一个问题表达自己的观点
以上不同类型博客的撰写也是随着自己的学习、心情和掌握程度而发生变化。
总结
如果没有兴趣爱好,分享这件事情是坚持不下来的
我想有很多人都尝试过分享,有自己的博客,只不过上面的文章寥寥无几,是因为三分钟热度之后就没有后续。
有的人是因为最开始就没有给自己正向反馈,于是就慢慢放弃了,我想这还是因为没有兴趣,如果有,每一次的post都将会是一个激励。网上有很多干货,可是这些干货归根结底还是需要自己用某种方式坚持,所以说坚持才是这件事情的核心。既然事情的输出都是一样的,选择好属于自己的方式,规划好时间,努力坚持就行了,从现在开始。如果没坚持下去也没关系,因为毕竟你已经失败过很多次了,多一次也没关系,你也还在这个死循环里面,什么时候打破这个死循环,就看你什么时候能够把坚持这件事情贯彻到底。