代码之外:写作是倒逼成长的最佳方式

8,174 阅读7分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 29 天,点击查看活动详情

还在埋头写代码?快别了吧

作为一名初入职场的程序员,很长一段时间都是在重复这样一个过程:

组长分配一个任务 --> 你埋头写代码 --> 收到 Bug 反馈 --> 你埋头改代码 ...

快别这样了,写代码真的只是唯一能做的吗?

  • 需求背后的逻辑你懂了吗?

  • 为啥要这样做呢,还有其他方法可以做吗?

  • 这一条需求背后是关于哪些业务的?可以分别向上和向下追问吗?

真实的是,成为程序员与写代码其实没有必然的联系。正所谓技多不压身,除了基本的编程开发能力,做程序员还需要一些其他技能:

  • 技术学习能力

  • 业务分析能力

  • 问题排查能力

  • 项目管理能力

  • 协调沟通能力

何谓技术学习能力?如果你的技术学习能力好,不论新技术如何层出不穷,你都能第一时间掌握,做到对症下药。

何谓业务分析能力?业务是活的,如果能知道什么业务能赚钱,简直就是大杀器。

何谓问题排查能力?对,改 Bug...

何谓项目管理能力?推进项目,管理人,这个能力也很重要,领导能力不可欠缺。

何谓协调沟通能力?与上级沟通,与同事沟通,对还有今天要说的,书面沟通能力。

那些锻炼写作的方式

写作并一定是作者的专职,其实日常中有太多的方式可以锻炼,对于程序员来说,可以有哪些方式呢?

写博客

51CTO、CSDN、博客园、掘金、InfoQ 都是很好的博客平台,或者你可以自己搭建自己的博客平台,更加可控。麻烦一点可能是需要自己搭建服务器和图床。

写书

“合抱之木,生于毫末;九层之台,起于累土,千里之行,始于足下。”

一篇篇博客可能就是一本书的其中一点内容。就算不出版,也可以有写书的目标,写书更能锻炼写作的能力,很多博客写得好的,反而出书效果没那么好了。

写技术文档、技术白皮书

程序员最痛苦的工作写技术文档,但最需要的可能也是技术文档。自己写不太想写,自己想看的又是技术文档。

如何把文档写的准确易懂也是可以需要学习的。

回复问题

回复 Stack Overflow 、沸点、知乎、51CTO、CSDN 、思否上他人提出的问题

写电子邮件

与人沟通,回复邮件,反馈问题,汇报工作

写注释

甚至小到写一段注释

写作是倒逼成长的最佳方式

写博客也是一种向内求索的过程,自己是否真的掌握了?自己能解释的更好吗?

高质量的输出倒逼输入和思考,写作是倒逼成长的最佳方式。

通过写作能带来更多的输入和思考。只有学习不同的技术,看不同的书,引发思考,形成自己的观点,然后输出检验自己是否真的掌握。

然后形成这种双向循环:

  • 输入 --> 输出;

  • 输出 --> 输入。

保持良好的态度:写代码=写作

程序员的工作大多以代码为主,经常专注于如何实现复杂的运算。而写作,首先需要将想要表达的核心内容下定义,并用修饰性的语言对其进行解释。

程序员和作家有什么区别,作家是写作时脑袋呈现一个个人物和故事,而程序员写代码脑子里更多的逻辑和数据。

以前在学习写作和文章赏析的时候,学过很多写作手法:托物言志(托物喻人)、欲扬先抑、倒叙法、穿针引线法、插叙法等等。但程序员写作并不需要,如何描述问题,解决问题,怎么简单怎么来。

写文章良好的表达能力确实能对编程架构设计有非常大的帮助。但实际情况是,大部分程序员都没有时间熟练掌握写作。

大部分人强调开发能力,但很少有人愿意写文档。

但残酷的事实是:无论从事什么行业,写作都是最基本的技能。

先梳理再动笔

和写代码一样,编程高手往往不会直接敲代码,而是先画好设计图再写代码。

所以,写作也是如此。一旦有了自己的想法,先不用急着马上记录,而要在脑海里梳理好流程,再用笔记记下最简单的结构,之后再整理成文字。

写文章时,要把自己的惯用表达或专业术语换成大家耳熟能详的词语,文章要通俗易懂,表达准确。

像我对简单的技术类博客,首先让自己的代码跑通,然后根据项目结构依次解释这样写代码的原因,依次形成一篇文章或教程。代码实现的过程即是梳理的过程。

那么如何培养写作习惯呢?

如果不擅长面对面沟通,那么书面沟通呢。书面沟通能力就是写作,如何培养这一种能力呢?

有时候需要花一生的时间去学习如何有效地写作,这件事没有捷径,你也买不来,因此如何写作正是我们需要提高的原因。

杰出的程序员跟勉强过得去的程序员之间的差别,不在于他们掌握了多少种编程语言,也不在于他们谁更擅长 Python 或 Java。真正的关键是,他们能不能把他们的想法表达清楚,杰出的程序员通过说服别人来达成协作。通过清晰的注释和技术文档,他们让其他程序员能够读懂他们的代码,这也意味着其他程序员能够重用他们的代码,而不必重新去写。要不然,他们所写的代码的价值就大打折扣了。 -- Joel·Spolsky

从小到大,如果学习知识是从看课本,听老师讲开始的,那么当我们看完听完,是否有一种与他人分享的想法?

仍记得小时候学完一个知识,迫不及待跟小伙伴、爸妈分享今天学习了什么。

其实,现在我们也可以一样。

当我们看完一本书的一个章节,就可以写出来,一开始也不一样会写的很好,开始写就对了;

当我们听完一个视频,也可以总结视频的重点和自己的盲点,毕竟等哪一天忘记了,重头再来看视频就很复杂,看一下自己的博客还是很轻易高效的;

当我们解决了一个真实问题,也可以把如何解决的这个问题也可以记录下来,帮助其他人,说不定别人搜到这个问题的时候也会感谢你的解决方案。

等等,方式很多。

把写博客这个过程每周练习几次,博客不用太长,坚持每周写几个,一定能越写越好。

所以,总结起来,培养写作的习惯需要:保持分享的习惯。

总结

熟悉编程是一个需要长期坚持的过程,写作也是如此。说出想说的话很容易,但让对方理解并理解对方的想法则不那么简单。

多写代码可以提高编程能力,同样,经常练习写作也可以提升文字表达能力。

如果你还没开始写作,请立刻开始; 如果你觉得自己的写作水平欠佳,那么请坚持练习。