为什么软件工程师应该养成写作的习惯?

本文编译自Shubhro Saha的个人博客

在学校里,有“文科生”和“理科生”的区分,学习内容不同,思维方式也有差异。我是一名理科生,大学里我的专业是计算机科学,毕业后我的工作是软件工程师。在这个过程中,我发现文理科之间的鸿沟始终无法弥合。我见到的很多工程师害怕写文章,而文科生看到代码就头疼。

我认为,程序员应该养成写作的习惯。因为写文章会锻炼许多对于编程十分有益的技能。

写文章和写代码最核心的共同之处在于它们都需要清晰思考的能力。顶尖的软件工程师往往也是优秀的写作者,他们的文章和代码一样富有逻辑性,行文流畅、优雅。

文章和代码有很多相似之处:二者都是从一个空白的页面开始,把一个想法最终变成完整的产品,推向特定的受众;写文章和写代码都需要你把一系列有逻辑的语句封装进一个个模块中,这些模块可以是函数也可以是文章的段落;好代码与好文章一样都需要言简意赅,不然就会浪费 CPU 资源或人的精力。

当某个产品快要完工时,软件工程师会像作品快要发表的作家一样焦虑不安。和写文章一样,软件永远不会有彻底完成的时候,工程师需要花更多时间优化代码、开发新功能或者重做某个部分,因为他们担心发布的作品没有展现出自己最好的一面。

软件工程师应该写作因为现在开发协作变得越来越重要。开源项目可以得到来自世界各地人民的参与。开发和运营一个产品常常需要大量工程师(Google Maps 有 1100 个全职员工!)。不论是 GitHub 评论、代码注释,还是技术文档都需要清晰准确的文字。良好的写作能力方便了人们之间的交流,使得项目更好地运行下去。

可能你觉得有些项目不太需要交流协作,但是写一些关于软件的内容通常对于学习和更进一步的讨论有着促进作用。现在,我们不再需要通过 RFC 文档或技术手册中学习了,因为网上有其他工程师写的教程。此外,我们还能够从 Hacker News 评论、推特和各种博客中学到很多内容。

提到博客,再来说两句。好的写作需要时间。我们一开始写出来的文字可能不怎么样,这时就需要再花点时间,多修改几遍,润色一下。如果你觉得自己太忙了没时间写博客,不知道写什么或者担心你的观点被公开记录日后留下把柄,你应该花上点时间读一读 Steve Yegge 的《你应该写博客》(You Should Write Blogs)这篇文章。即便其中的观点不能说服你,我相信在阅读之后你也会有所收获。

软件工程师需要写作,因为他们可能会享受写作的过程。很多软件工程师都期待自己开发的软件能够“产生影响”,给人们的生活带来改变。实际上,通过写文章,你也能够对人们“产生影响”,譬如说关于管理的博文可以帮助他人激励自己的团队,教授编程的内容可能会引起一个学生学习计算机科学的兴趣,关于职业规划的文章则可以帮助毕业生找到新的职业方向。

即使没人读你的文章,写作的过程也是有益无害。它帮助你理清思路,明确对于某个问题的看法,加强或削弱你的某种观点。把凌乱的想法汇聚成精简的文字非常有价值。

总之,写作有利于提高软件开发的水平,同时更方便开发过程中的协作,即使对一个理科生来说,也是一件非常值得做的事。


posted @ 2015-01-20 10:34  hnrainll  阅读(1927)  评论(2编辑  收藏  举报