层楼

Write codes that work and speak

0%

【译】软件工程师为什么要重视写作?

译自:Why engineers should focus on writing

软件工程师都是写作的好手,不过仅限于代码…我认为,为了成为更好的工程师,你应该提高你的写作水平。

从古至今,人们一直在写作,在古埃及时代我们用象形文字写作,在文艺复兴时期我们用字母写作。在座的各位,在上学时至少都完成过一件写作任务,也没有质疑过为什么。在当下,写作已经被严重的低估,以至于大多数人都想逃避它。但是事实是,你必须写作,从代码注释、文档到技术方案、演示文稿,不管你喜不喜欢。那么为什么不提高写作的水平呢?

为了什么而写?

写作是一种整理大脑的方式

出于一些原因,我们总是觉得读过就是学会了。我看过Rust的入门指南,所以我了解Rust了;我读过一本关于TCP/IP原理的书,所以我已经懂了其中的知识。但事实并非如此,如果有这么简单,我们早就都是天才了。

帮我们巩固知识的方式是写作。这就是为什么我一直坚持写代码,而不是复制、粘贴。因为当你亲手敲出代码时,你就巩固了一遍相关的知识。

写作是一种学习方式

如果你想学习一个新的领域,那就写一篇关于它的文章。当我想学一门新的编程语言时,我会用它写一些简短的程序。当我想弄清楚某件事情的工作原理时,我会写一篇博客来分析它。

真正的写作,是挖掘真相、追求事实的写作,这要求你去动手实践、亲自尝试。通过写博客,我学到的东西要比读书多得多。

写作帮助你发现错误

你是不是记得,有多少次你被要求写一个设计文档,心里想的是:“为什么要写这破文档啊?设计个这有啥难度吗?我随随便便就能记住”。大错特错,而且很多人都有这种想法。如果你真的写了设计文档,你就会发现“简单”的设计里面,有许多细枝末节的问题,比如不一致性、丢失细节,或者是大脑偷懒做出的一些简单的、无意义的思考。

如何让自己写更多

希望你能明白:阅读是一种习惯,而写作是一种技能。为了提升你的技能,你需要多加练习。一个简单的办法,就是用不同的心态和方式来对待设计文档。不要总觉得不厌其烦,也不要把它们当成老师布置的家庭作业,试着胸怀热情去对待它们。每次编写设计文稿时,你可以试着改进一些点,比如让它更简短而又不失核心思想,让它更长来提供丰富的用例等。

在你的工作中,撰写设计、技术文档等是锻炼的好机会。因为你必须完成这些工作,那么为什么不边写边锻炼呢?当然,如果你想更进一步,在工作以外的领域提高写作水平,我建议你考虑写博客。如果写博客对你来说太麻烦,那你可以尝试在Stack Overflow上解答别人的问题,但是记住不要简单地复制、粘贴,而是尝试去解释。

最后一条建议:停止复制粘贴。我曾经带过不少新手工程师,他们单纯地复制、粘贴一切内容,包括代码片段、函数声明等。我知道如何初始化一个git仓库,是因为每次我都是亲手敲命令,但大部分人只是从GitHub、Google上复制下来。如果你害怕这样做回降低效率,请记住,衡量软件工程师水平的不是他的代码量,也不是他的完工速度。

写作是无法避免的,不管你是不是喜欢,如果你想成为一个10x工程师,你必须写作,写文档、写设计方案、写演示文稿。你越早提高写作水平,就能越早成为一名优秀的工程师。