为什么要写技术文章-我对写作收获的理解

简介: 为了迎接更好的自己。 过去的止步不前 程序员最反感别人没写文档,最不喜欢自己写文档。 我一直很认同技术人员应该持续写技术文章,可以总结经验,打造个人品牌,等等。但加上公司内部分享,实际也没写多少篇,这可能也是很多技术人员的通病吧。

为了迎接更好的自己。


过去的止步不前

程序员最反感别人没写文档,最不喜欢自己写文档。

我一直很认同技术人员应该持续写技术文章,可以总结经验,打造个人品牌,等等。但加上公司内部分享,实际也没写多少篇,这可能也是很多技术人员的通病吧。

对我个人来说,没有坚持写首先是时间因素。并不是真的没有一点时间,而是时间管理任务规划的问题。对自身认知不足,制定了太多没想清楚的计划。经常键盘一敲,这个月要写三篇技术分享,洋洋洒洒做了一堆计划很有满足感,好像已经成功了一半。但做计划时没规划好落地细节,比如什么时候写,写什么方向的内容。总有更紧急的事情要做,于是转眼就一个月过去了,没写的等以后再写吧。很快,一年也过去了。

其次,有时想真正沉下心写点东西,又没有什么特别想写的内容。个人也看了很多别人的技术文章,像复杂系统的介绍,各种开源产品的使用心得、架构、源码分析,等等。到自己写,不知道写什么了。写自己做的系统吧,好像没什么好写的,除了必须写的内部设计文档,并没提炼出多牛想分享的内容。写使用心得吧,都是照着官方文档做,遇到问题谷歌,感觉没什么有深度的东西可说。写开源架构、源码分析吧,都是看别人总结的文章学习的,总不能直接抄吧。

虽然没能坚持写文章,但至少做到了持续阅读技术文章,好的文章收藏有链接。自己也做工作记录,各类问题有记录,需要的时候也能说出个123来,似乎一切还好。


想清楚了写作对自己的意义

写作对我来说,最大的意义,就是强迫自己克服惰性,深入思考研究,总结提炼,提升段位。

较长时间里,工作主要在解决具体问题。做新功能是在解决问题,改bug是在解决问题,帮助用户是在解决问题,自己解决了很多问题,也帮忙别人解决了很多问题。在此期间了解了新的业务,拓展了技术体系边界,但感觉自己的段位并没有显著提高。为什么?

因为对工作内容的总结提炼不够,无法站在更高层面“悟”,段位提升不明显。

虽然我开发了很多具体的功能,解决了很多具体问题,但大多数问题是碎片化的,单纯碎片化救火并不能有效提升自己的段位。只有持续有深度的总结提炼,将碎片化问题抽象提炼,更高层面考虑问题域的方法论和通用解决方法,高屋建瓴,才能有效提升段位。

而要强迫自己深入思考研究,并不容易。因为深入思考不像解决具体问题那样有即刻的收获感、工作紧迫性必要性。要主动,要克服自己天然的惰性。而写作是一个非常好的强迫自己深入思考研究、提升段位方法。

不同于给自己看的工作记录,随便写写,即使像密电文也能理解。给别人分享,必须要让不了解你的人感同身受,了解到所分享内容背景是什么,是否找到问题的本质,如何解决,有什么方法论做理论支持,做了哪方面取舍,还有哪些可以提高的地方。写作过程就像自己对自己的面试,深挖下去,发现之前没去想,没觉得是问题的问题,甚至会发现即使想到了问题也想不清楚答案的问题。另外一些紧急凑付事的临时解决方法,也不好意思拿去分享。只能思考,再思考,去想所有问题的答案。联想自己做过的其他事情,读过的资料,继续去搜索,去尝试,给出至少让自己信服的答案。如此写完,虽然感觉很疲惫,但有感悟,自己得到了提高,很有收获。


写作可以消化所读的技术文章,将被动记忆的知识,通过写作,变成自己真正掌握的知识。

为了提升段位,自己看了一些书,很多技术文章。不能在工作中立即用到的技术知识,也坚持做了不少积累。像系统架构,源码分析,算法实践,有意思的分析都看了不少、努力理解这些文章讲了什么,收藏了很多有用的链接。年度总结,似乎学了很多,可依然没感到段位有显著提高。这是为什么?

这是因为之前的学习,实际是在用应试方式去理解,记录要点。虽然一段时间内能像复习考试般清楚自己学过什么,但没有结合自己经历深入的“悟”,没有变成真正掌握的知识,日常工作用不上,慢慢就淡忘了。

解决方法依然还是靠写作,来强迫自己深入思考。写阅读的收获,自然不能把原文抄一遍,要有自己的理解感悟,要结合自己做过的事情写点新东西出来,需要把知识体系打散了重新提炼。一旦有了深入思考,写出自己认可的阅读分享,自然就真正掌握了所学的内容。


写作可以提高拆解问题,分层细化的能力。

以前迷信敏捷快速迭代,认为不能过度设计。去解决一个问题时,才会思考这个问题的解。遇到新问题,case by case解决新问题。规划不够清晰,缺少对需求,业务流程,业务建模,数据建模,架构建模,接口建模的有效拆解,没有从上到下,一层层将问题域拆分的足够清楚。规模不大的问题可以轻松解决,一旦要处理涉及面广,流程复杂的多业务域问题,就会因为考虑不足经常要修改原来的设计和实现。

而写作要让别人容易读,就不能像头脑风暴那般想到哪写到哪。要提前确定好分享的主题,按照主题整理写作提纲,层层细化,分解章节目录,各级要点,控制写作范围,避免写的文不对题。这就很好锻炼了拆解问题,分层细化的能力。

我在这方面做得还不够好,包括本文在内,即使提前规划好了要点,在写作过程过程中依然有几次超出规划调整了结构。需要继续提高自己的写作能力。


写作可以获得反馈,走出思维盲区。

再多的自我思考,实践验证,依然可能存在思维盲区,有常识性错误而不自知。分享可以让更多人了解,更多获得反馈修改错误的机会,帮助自己进一步提高。


写作可以提高自我认知,认识更真实的自己。

技术人员往往会高估自己。我的错觉之一是总觉得存在某条提升能力的捷径,研究各种方式方法而忽视了脚踏实地的前行。错觉之二是做了一堆计划就很有满足感,好像已经成功了大半。最后计划往往没完成,安慰自己是太忙的原因而不是能力问题。

实际上,时间管理是技术人员最需要的能力之一。做了计划完不成,首先是对自己认知不足,过于高估自己能力。写自己认可的文章,会认识到自己知识的不足,思考的不足,写作能力的不足,直面更真实的自己。认识到到写一篇自己认可的文章,原来需要这么多时间精力。认识到要想提升段位,必须投入更多时间精力,一步步前行,没有捷径可走。


写作方向

因为写作的目的是提高自己的技术段位,让读者和自己都有收获,所以我写作的方向是自己在开源大数据领域的经验总结,心得提炼,分析解决一类问题的方法论,尽量避免写没有多少个人思考的操作流程帮助文档。

相关实践学习
数据湖构建DLF快速入门
本教程通过使⽤数据湖构建DLF产品对于淘宝用户行为样例数据的分析,介绍数据湖构建DLF产品的数据发现和数据探索功能。
快速掌握阿里云 E-MapReduce
E-MapReduce 是构建于阿里云 ECS 弹性虚拟机之上,利用开源大数据生态系统,包括 Hadoop、Spark、HBase,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。 本课程主要介绍阿里云 E-MapReduce 的使用方法。
目录
相关文章
|
8月前
|
监控 架构师 安全
速读《技术人修炼之道》-看到最后定有收获
最近一段时间读完了《技术人修炼之道》,书中内容涵盖了作者多年实践和思想的结晶,整体读来有许多观点深有同感,也学习到了一些新的理念,在这里感谢黄哲铿老师。本文主要结合我自身十几年的IT行业经验,以及创业多年的感受,从书中提炼了一些个人觉得非常有价值并且好落地的点进行分享。
|
运维 Cloud Native 前端开发
【写作能力提升】写作小白需要避免的五个写作误区和灵魂五问
【写作能力提升】写作小白需要避免的五个写作误区和灵魂五问
198 0
【写作能力提升】写作小白需要避免的五个写作误区和灵魂五问
|
监控 数据挖掘 测试技术
【写作能力提升】手把手教你快速搞定4个职场写作场景
【写作能力提升】手把手教你快速搞定4个职场写作场景
195 0
【写作能力提升】手把手教你快速搞定4个职场写作场景
|
前端开发 JavaScript 关系型数据库
阿里云感悟
就这一点我感觉阿里云服务器给我的体验感极佳。 在这里我由衷地感谢阿里云官方为我们这些初级开发者所提供的免费服务器体验,让我们体会到了作为一名开发者在拥有服务器后的满足感。并且让满足了我对于服务器使用的好奇心,同时也让我积累和学习到了很多的服务器使用经验。在后边的开发者生涯当中,我会一直使用阿里云服务器,一直做阿里云的忠实的粉丝,在往后的开发学习过程中,我会更加努力的学习技术和支持,我坚信,终有一天,我也可以为阿里云的发展贡献出自己的一份力量!
|
存储 弹性计算 云计算
我的学习收获
在经过一小段的时间的学习,我学会了运用云服务器ECS搭建一个简单的简历网站
我的学习收获
|
弹性计算
阿里云的学习收获
利用老师给的网站进行阿里云的学习,领用到云服务器ECS后,使用云服务器进行一系列的学习。
|
弹性计算 物联网
阿里云使用感悟
飞天加速计划·高校学生在家实践使用感悟
145 1
|
数据可视化 Ubuntu Linux
使用阿里云的感悟
大家对 windows 都相对熟悉,可视化界面确实方便——但是相对于指令而言,在管理服务器方面太弱了。 尽管windows服务器是一个可选项,但是仍然强烈推荐初学者学习一下linux 指令,使用指令管理服务器更加方便而且 “看起来厉害”。inux 下的绝大多数指令是差不多的,但是也有一些差异,需要根据个人习惯选择。但是不能使用可视化界面,服务器是用来用的,不是用来看的。当学会几行指令后,服务器就非常听话了。如果最近在看一个相关的视频教程,了解老师使用的是什么操作系统,最好和老师保持一致。以避免更多的麻烦。 特别值得强调的是,最新的不一定是最好的;朋友喜欢的不一定是自己习惯的。 个人推荐使用 C
|
弹性计算 安全