为什么软件工程师应该养成写作的习惯?
在学校里,有“文科生”和“理科生”的区分,学习内容不同,思维方式也有差异。我是一名理科生,大学里我的专业是计算机科学,毕业后我的工作是软件工程师。在这个过程中,我发现文理科之间的鸿沟始终无法弥合。我见到的很多工程师害怕写文章,而文科生看到代码就头疼。
我认为,程序员应该养成写作的习惯。因为写文章会锻炼许多对于编程十分有益的技能。
写文章和写代码最核心的共同之处在于它们都需要清晰思考的能力。顶尖的软件工程师往往也是优秀的写作者,他们的文章和代码一样富有逻辑性,行文流畅、优雅。
文章和代码有很多相似之处:二者都是从一个空白的页面开始,把一个想法最终变成完整的产品,推向特定的受众;写文章和写代码都需要你把一系列有逻辑的语句封装进一个个模块中,这些模块可以是函数也可以是文章的段落;好代码与好文章一样都需要言简意赅,不然就会浪费 CPU 资源或人的精力。
当某个产品快要完工时,软件工程师会像作品快要发表的作家一样焦虑不安。和写文章一样,软件永远不会有彻底完成的时候,工程师需要花更多时间优化代码、开发新功能或者重做某个部分,因为他们担心发布的作品没有展现出自己最好的一面。
软件工程师应该写作因为现在开发协作变得越来越重要。开源项目可以得到来自世界各地人民的参与。开发和运营一个产品常常需要大量工程师(Google Maps 有 1100 个全职员工!)。不论是 GitHub 评论、代码注释,还是技术文档都需要清晰准确的文字。良好的写作能力方便了人们之间的交流,使得项目更好地运行下去。
可能你觉得有些项目不太需要交流协作,但是写一些关于软件的内容通常对于学习和更进一步的讨论有着促进作用。现在,我们不再需要通过 RFC 文档或技术手册中学习了,因为网上有其他工程师写的教程。此外,我们还能够从 Hacker News 评论、推特和各种博客中学到很多内容。
提到博客,再来说两句。好的写作需要时间。我们一开始写出来的文字可能不怎么样,这时就需要再花点时间,多修改几遍,润色一下。如果你觉得自己太忙了没时间写博客,不知道写什么或者担心你的观点被公开记录日后留下把柄,你应该花上点时间读一读 Steve Yegge 的《你应该写博客》(You Should Write Blogs)这篇文章。即便其中的观点不能说服你,我相信在阅读之后你也会有所收获。
软件工程师需要写作,因为他们可能会享受写作的过程。很多软件工程师都期待自己开发的软件能够“产生影响”,给人们的生活带来改变。实际上,通过写文章,你也能够对人们“产生影响”,譬如说关于管理的博文可以帮助他人激励自己的团队,教授编程的内容可能会引起一个学生学习计算机科学的兴趣,关于职业规划的文章则可以帮助毕业生找到新的职业方向。
即使没人读你的文章,写作的过程也是有益无害。它帮助你理清思路,明确对于某个问题的看法,加强或削弱你的某种观点。把凌乱的想法汇聚成精简的文字非常有价值。
总之,写作有利于提高软件开发的水平,同时更方便开发过程中的协作,即使对一个理科生来说,也是一件非常值得做的事。
[本文编译自:shubhro.com]
-
微信创始人张小龙首次公开演讲(官方无删减版)
微信创始人张小龙首次公开演讲(官方无删减版) -
如何通过APP看到产品战略层面
产品经理拿到一款产品的时候,不能只能看到表面信息,而是要能看到产品背后的信息。 -
基于用户的“真需求”创新产品
产品创新是保证企业在竞争激烈的市场上长久生存的关键,今天,我们就围绕产品创新和用户研究分享一些看法。 -
有一种交互设计研究验证叫“设计走查”
如何在最短的时间内对自己的产品做出检验,确保其在定位、设计、营销计划等多个环节,在可视范围内是正确的,需要一套比较科学、完善的方法去做出检测。 -
你为什么离不开微信?
张小龙说用完即走,你却爱不释手; 到底是什么让你离不开微信? -
移动互联时代APP的发展方向
现在我们已经走上了移动互联网时代,无论是企业还是公司,都会经过网络竞争中争取有利的优势,较为传统的产品竞争逐渐向互联网竞争转型,出现了很多数据云大数据等等 -
AI 时代产品经理的机遇和挑战
AI 时代产品经理的机遇和挑战 -
前1%与前10%的产品经理差距在哪?
前1%与前10%的产品经理差距在哪? -
你有哪些策略应对不断的需求变更?
你有哪些策略应对不断的需求变更? -
如何运营天猫【十亿俱乐部】商家页面?
如何运营天猫【十亿俱乐部】商家页面?

