如何写出高质量的技术文章?
对于一个从小不喜欢语文、不喜欢阅读、作文很少及格的理科生来说,做梦也没想到,有一天我会写一篇文章教人如何写文章 😃
# 一 为什么要写文章
懂了,不一定能说出来,说得出来,不一定能写出来。这就是写文章最大的好处,官方术语叫“费曼教学法”。写文章是一个逼迫自己深入理解问题、把问题想清楚,整理好思路,并能清晰表达出来的过程。其本质是一种自我学习、自我提升、构建知识体系的最佳方法。
除此之外,写文章还有一个副产品——帮助我们扩大影响力。就拿我来说,我大概是在 4 年前,开始有规划地搭建自己的知识体系,包括阅读、记笔记、写文章、分享。
在这期间,我连续 3 年获得最佳年度作者,上头条的文章也不少。另外,阿里技术公众号,也发表了我 10 篇左右的文章,其中有 2 篇入选了创刊最佳文章,很多篇文章都有 3 万+阅读的不错表现。
基于这些总结沉淀,我在人民邮电出版社出版了一本书《代码精进之路:从码农到工匠》,我本人也凭借本书获得了人邮 IT 类年度最佳作者。
# 二 什么是好的技术文章
关于优质文章的标准,有一个对好文章的判断是:“文章框架完整、思考深入清晰、正文至少 80%以上为原创技术干货。”这引起了不少的争议。
有争议很正常,没有争议才奇怪呢,好的技术文章,就和好的技术绩效一样,主观性太强。..... 很难有一个客观标准。
如果硬要对文章质量进行量化的话,有些指标可能有帮助。 比如文章的浏览量、点赞数、评论数、收藏数等指标。有用,但也只是参考作用,最后还是需要人的评判。
所以抛开这些因素不看,我认为好的技术文章至少应该满足两个条件:
- 一个是要传达有价值的信息。
- 另一个是要结构和逻辑清晰,具备一定可读性和可理解性。
在此基础之上,如果能做到有文采、够风趣那就更好了。
# 三 如何写好技术文章
# 内容有用
一篇好文章,一本好书,最重要的是要让读者有获得感,要对读者有用,要言之有物。
这里的“物”可大可小,不一定非要是一个很大的命题,恰恰相反,一篇文章的篇幅有限,能把一件“小事情”说清楚就已经很不错了。
我曾经发表过一篇文章——《阿里缩写和专业术语大全》,做的事情很简单,就是把我在阿里碰到的缩写全都整理成册。就这么一篇“小文章”,却成了我最火的一篇文章,有将近 100K 的阅读,3K 的点赞。
为什么大家会如此关注这篇没有“技术含量”的文章?很简单,很多人都有好奇心,大家都希望了解缩写背后的全称和来历,这正是这篇文章的价值所在。
类似的,像云原生技术介绍、前端技术体系大全、新人入职手册、《马总演讲集》等都属于这种信息整合类的文章。
除此之外,那些有自己技术见解和思考,敢说真话的文章,也会受到大家的欢迎。
比如,我觉得很多技术团队不应该有架构师这个岗位,所以写了《人人都是架构师:架构是一种能力,不是 title!》。我觉得很多的软件复杂度来自于工程师的乱作为,比如滥用流程引擎,治理复杂度的根本是抽象思维和结构化思维,于是写了《一文教会你如何写复杂业务代码》。
这些文章之所以受到欢迎,是因为引起了很多同学的共鸣,对他们有帮助。
# 结构清晰
有了好的内容,还要注意文章的结构。就像一道菜,要讲究色香味俱全,即使有了最好的食材,但是做出来的样子一团糟,也会影响食欲,称不上是一道好菜。
关于结构,我推荐你去看一本书——《金字塔原理》,我本人也写过不少关于结构化思维的文章。金字塔原理教导我们在写作、表达的时候,要构建清晰的结构。
对于一篇文章来说,金字塔的顶点是中心论点——通常就是文章的标题。围绕着这个中心论点,我们可以用多个观点去支撑中心论点,如果表达的内容很多,观点还可以进一步往下细分。形成一个“以上统下、逻辑递进”的金字塔结构。
通过这种形式写出的文章,就会显得逻辑清晰,结构紧凑。
对于技术文章来说,我们可以考虑使用 3W2H 模型来帮助我们构建结构。比如我要写一篇关于抽象能力的文章,就可以通过以下角度去说:
- What:什么是抽象;
- Why:抽象为什么重要;
- How:如何进行抽象;
- Where:抽象可以用在什么地方;
- How much:抽象到什么程度。
同样,我现在正在写的这篇文章,我也是通过这种方式来搭建结构的:
# 刻意练习
开篇说过了,我以前没有写作的习惯,小时候语文作文也经常不及格。后面竟然出版了自己的书,说明写作作为一项技能,是可以习得的,是可以通过练习提高的。
因为写的多了,练习的多了,水平自然就会提高。然而,所谓的《刻意练习》(也是一本书),不是简单地重复,而是要给自己阶段性的设定更高的目标,这样才会持续地进步。
比如,我现在已经能比较流畅地写作,我就会去追求如何把文章写的更加引人入胜。在《风格感觉:21 世纪写作指南》里面提到一篇文章,它的开头是这样写的:“我们都会死,我们是幸运的。..”,像这种冲突感和悬念,就会很自然地吸引读者继续阅读下去。
我这篇文章也借用了同样的手法 😃
# 迭代优化
写文章和写代码有非常多相似的地方。我会经常拿写文章和写代码做类比。比如,文章和代码都需要结构清晰。又如,好的系统不是设计出来的,是迭代出来的。好的文章也是如此,需要不断的打磨、修改,我的很多文章都是经过多次修改,重新编排结构,补充删除信息,调整措词,直到我觉得满意为止。
就拿现在这篇文章来说,也是修改了好几版,第一遍的时候内容很散,结构也不清晰,有点纠结,不知道要如何写下去。后面想到一个“以身作则”的方法,即这篇文章本身应该就可以作为一个 sample 来介绍如何写文章。带着这个思路,迭代几次之后,就逐渐成了一篇像样的文章了。
所以,重要的是要敢于去“动笔”,不要担心一开始的粗枝大叶,万事开头难,写着。.. 写着。.. 你就有感觉了。
# ★总结
- 为什么要写文章?
- 写文章是一个逼迫自己深入理解问题、把问题想清楚,整理好思路,并能清晰表达出来的过程
- 其本质是一种自我学习、自我提升、构建知识体系的最佳方法
- 帮助我们扩大影响力
- 什么是好的技术文章?
- 文章框架完整、思考深入清晰、正文至少 80%以上为原创技术干货
- 一些参考指标
- 文章的浏览量、点赞数、评论数、收藏数等指标
- 至少满足两个条件
- 要传达有价值的信息
- 要结构和逻辑清晰,具备一定可读性和可理解性
- 有文采、够风趣
- 如何写好技术文章?
- 内容有用
- 让读者有获得感,要对读者有用,要言之有物
- 这里的“物”可大可小,不一定非要是一个很大的命题,恰恰相反,一篇文章的篇幅有限,能把一件“小事情”说清楚就已经很不错了
- 例子
- 信息整合类的文章,如阿里缩写和专业术语大全、云原生技术介绍、前端技术体系大全、新人入职手册、《马总演讲集》等
- 有自己技术见解和思考,敢说真话的文章,如很多技术团队不应该有架构师这个岗位,所以你可以写《人人都是架构师:架构是一种能力,不是 title!》
- 结构清晰
- 有了好的内容,还要注意文章的结构
- 就像一道菜,要讲究色香味俱全,即使有了最好的食材,但是做出来的样子一团糟,也会影响食欲,称不上是一道好菜
- 书籍推荐
- 金字塔原理:金字塔原理教导我们在写作、表达的时候,要构建清晰的结构
- 写技术文章的常用结构
- 3W2H 模型
- 要写一篇关于抽象能力的文章,就可以通过以下角度去说:
- What:什么是抽象;
- Why:抽象为什么重要;
- How:如何进行抽象;
- Where:抽象可以用在什么地方;
- How much:抽象到什么程度。
- 要写一篇关于抽象能力的文章,就可以通过以下角度去说:
- 3W2H 模型
- 刻意练习
- 写作作为一项技能,是可以习得的,是可以通过练习提高
- 写的多了,练习的多了,水平自然就会提高
- 注意,这不是简单地重复,而是要给自己阶段性的设定更高的目标,这样才会持续地进
- 例子
- 能比较流畅地写作 -> 追求如何把文章写的更加引人入胜 -> ……
- 迭代优化
- 好的系统不是设计出来的,是迭代出来的
- 好的文章也是如此,需要不断的打磨、修改,我的很多文章都是经过多次修改,重新编排结构,补充删除信息,调整措词,直到我觉得满意为止
- 总之,重要的是要敢于去“动笔”,不要担心一开始的粗枝大叶,万事开头难,写着…写着…你就有感觉了
- 内容有用
- 💡:Q&A
- 言之有物?
- 指文章或讲话内容具体而充实
- 可验证的
- 不要谈论一些放之四海而皆准的废话
- 和现实沾边的
- 如何做到言之有物? - 知乎 (opens new window)
- 分析哲学的魅力:言之有物究竟有多难? - 知乎 (opens new window)
- 侃大山
- 侃大山是一个汉语方言词汇,拼音是 kǎn dà shān。 指长时间没完没了地说一些琐碎、不恰当或无效的话。
- 言之有物,言之有序,言之有理,言之有道 - 知乎 (opens new window)
- 言之有物?