很多程序员已经通过自己的个人博客或者公众号来进行技术沉淀,记录自己的成长。越来越多的程序员们也开始意识到了写作的重要性。程序员为什么需要写作?写作能带来什么收获?又有哪些额外的惊喜?本文介绍三位长期坚持写作的程序员,分享他们在写作道路上的心得和收获,希望对同学们有所启发。
你有写作的习惯吗?很多程序员的回答是:我为什么要写作呢?很多人觉得写作是一件有难度的事情,其实写作的动机就藏在日常工作中,那些在酝酿中的奇思妙想,那些稍纵即逝的编程思路,那些金光闪闪的 debug 瞬间……都是写作的素材。
输出是最好的输入,养成写作的习惯,对技术提升和个人成长都有很大的帮助。改变世界的程序员,同样需要写作记录世界。如果你还没有开始写作,那你可能需要重新思考“写东西”这件事的意义。
今天,我们采访了 3 位坚持写作的程序员,看看写作给他们带来了什么。
- 寒雁:阿里巴巴前端技术专家,连续 5 年更新博客
- Hollis:阿里巴巴技术专家,20 万粉丝公众号号主
- Frank: Wuhan2020 开源项目发起人,个人博主
我为什么要开始写作?
Hollis: 写作让我思考,与志同道合的朋友讨论技术
2015 年毕业后,我加入了阿里巴巴从事后台开发工作,也是这一年,我写了第一篇文章,内容是我参加阿里校招之后总结的“面经”。因为在找工作之前复习的阶段,我看了很多其他人的面试总结,给了我很大的帮助。写这篇文章一方面想要对自己的校招做一个总结,另一方面也希望帮助到其他人。
从这篇文章以后,我收到了很多评论,还有很多人私下找到我讨论技术,我发现写作给我带来了很多的乐趣。通过写作我可以进行自我思考、自我总结,也可以和志同道合的朋友们一起讨论技术,所以我开始坚持写作。
最开始写的内容都比较简单,只是记录一些工作中遇到的问题的总结,渐渐的我开始主动去学习一些东西,然后文章内容逐渐演变成原理分析、最佳实践等。
一开始文章只是发表在自己的博客中(hollischuang.com),后来一次偶然的机会,我发现公众号上面的读者可以有更多的互动,于是就把自己的文章同步到公众号(Hollis)中,现在公众号已经积累了将近 20 万的读者。
去年还把自己写过的一些内容整理出来,和朋友一起出本了一本书《程序员的三门课》,在书中写了很多自己的经验和思考。
寒雁:写作是我的工作日志,可以帮助产品带来用户
作为程序员,我们每天都会遇到各种各样的技术问题,而我在遇到棘手一点的问题时,并不会急着去解决问题,而是会把问题记录清楚,包括代码、报错日志、截图,甚至解决问题的过程和一些参考链接。这些内容再加上一些原理层面的知识点,一篇记录问题的工作日志其实也就是一篇博客。所以,我刚开始写的博客,也就是这种类似于工作日志的内容,还是挺简单的。
后来,研究生毕业后,我选择了和朋友一起创业。前期不太懂运营,用户增长不知道怎么做。后来发现自己写博客还是挺擅长的,能给产品带来不少用户,于是就养成了写作的习惯。
翻译过不少博客,也原创了不少,写过一些挺受欢迎的博客,也写过一些很幼稚、类似于标题党的内容。不过整理来看,写作水平一直有在提高。来阿里之后,我写了一篇《写作的意义》,也在团队做了一次关于写作的分享《关于写作的那些事:寒雁聊聊 10 万+背后的思考》。我是真的挺喜欢写作的,也觉得写作收获蛮大的。
Frank: 我用写作记录开发“黑科技”,分享我的想法
时间回退到四年前,毕业后成为了一名游戏开发工程师,进入了一个全新的领域,每天都在接触新的东西,而且游戏开发中有大量互联网常规开发中难以见到的“黑科技”,令人目不暇接。从那时起,其实就一直有写作的习惯,由于很多技术细节并不适合对外,所以当时是使用很多笔记类软件进行记录的,例如印象笔记。
后来开始在开源圈中进行一些开发工作,依然保持着印象笔记来记录自己工作内容的习惯,但由于开源的开放性,很多时候也非常希望可以把这些想法和内容分享出来,于是博客就成了一个更好的选择,也是为什么现在选用博客 (blog.frankzhao.cn) 来做写作记录的原因。
程序员写作有什么好处?
寒雁:写作是对自己的长期投资,也是最佳个人品牌
写作是一件具有长期价值的事情,这一点类似于健身与读书。我想大多数人都认同,不管工作再忙,也应该坚持健身,坚持读书,因为这是对自己的长期投资,不少人也是这么做的。在我看来,写作其实也一样,只是很少有人会意识到这一点,更少人可以做到这一点。
提升工作效率
写作最重要的职业技能。我挺喜欢写工作日志的,从另一个角度理解,我每天的工作并不只是在写代码,而是在写工作日志,比如技术问题、技术方案、沟通备忘录、会议纪要等一切与工作相关的内容我都会记下来。在与同事沟通或者寻求帮助之前,我都会写一个完整的文档,这样沟通会高效很多。
写作即是学习
写作是最有效的学习方式。这里原理是费曼学习法,通过输出倒逼输入。因为我们在写作过程中会发现自己的一些知识盲点以及思维盲区,如果可以静下心研究清楚,然后用最通俗易懂的语言表达出来,这其实是很好的学习和提升自己的机会。写作其实挺锻炼思考能力的,因为表达一个观点相对简单,如何将观点论述地清晰、完整、深刻,结构化地表达出来,取决于我们是否真的想清楚了。
创建个人品牌
写作是最佳的个人品牌。互联网已经 30 岁了,但是它的游戏规则其实没变:通过流量变现。文章写得好,有读者就有流量,有流量就可以变现。自媒体时代很多“草根”作者崛起,也是这个道理。现在是视频时代,表达内容的媒介变了,但是本质没变,因为视频内容的含金量取决于文案。作为程序员,没有必要去靠写作赚钱,但是通过写作打造个人品牌还是挺重要的,这对于求职、招聘、同行交流以及未来创业都很有帮助。
Frank:写作让你换一个角度发现问题的全貌
就我本人而言,工作的前几年都以记录技术为主,但后来,尤其是近一年读博的期间,可能更多的写作发生的社科类学科上。坚持写作有诸多的好处:
记录技术成长
写作可以让自己更好的记录技术成长的历程,时常回顾会有更多的成长。虽然我本人现在已经不再做游戏相关的开发工作,但我很庆幸自己当初有大量的笔记可以让我回顾一些技术细节和设计理念,这些理念事实上在很多场景下都是通用的,可以很好的指导之后其他领域的开发工作。
换一个角度发现问题的全貌
很多时候你以为你明白了一个技术要点,但当你用文字去表达的时候你会发现有很多的盲点你可能都忽略了。例如你解决的是工作中的一个具体问题,当你解决了这个问题时,你以为你明白了。但当你用文字记录时,尤其是你把自己放在一个读者的角度去阅读时,才会发现你忽略的东西,例如具体的环境、版本,出现问题的情景、依赖等,当用文字去记录时,就会刻意补足这些内容,而这些才构成了解决这个问题的全景。而且就我个人感觉,记录过程中的成长可能要比单纯解决问题中的成长大得多。
提升写作能力和逻辑编排能力
写作能力绝不仅仅是一个文字工作者需要,尤其在这个愈加开放的时代,写作是通过的基础。练习写作能力,不仅可以帮助你更好的与他人沟通,而且也是一种梳理逻辑的过程。好的技术文章同样需要有优秀的逻辑编排,由浅入深,层层递进。而且相信我,这是任何工作,也包括一般的程序员工作中非常重要的一种能力。
分享让你的文章“升值”
如果你写的文章与他人分享,则这个文章的“价格”会比个人获得的更多,帮到其他的人的感觉会更好。在研究生之前,我曾有机会修改 JavaMail 的源码,使其支持需要基本认证的 HTTP 代理服务器进行邮件操作,而当时的 JavaMail 还仅支持 Socks 代理服务器。直到现在,我还是会偶尔收到有人邮件询问我实现细节,我能感受到我在真正的帮助他人。但可惜当时不了解开源,否则应该可以帮助到更多的人。
Hollis:写作提升技术能力,可以帮助更多人
技术提升
写文章的过程中,自己会想办法保证写出来的内容都是正确的,所以就会查阅很多资料,这个过程中,自己就会学习到很多知识,可以很好的提升自己的技术能力。尤其是写系列文章的时候,可以很好的完善自己的知识体系。正所谓“教是最好的学”。
不断纠错
没有人写出来的东西都是完全对的,所以有的时候写完的文章会收到一些不同的观点,这时候就可以帮助自己纠错,不断的提升自己。
帮助自己更好地记忆
很多人都会发现有一种现象,就是一个知识自己学过之后过段时间就忘了。有了博客之后就可以解决这个问题,可以把知识以自己的理解写到博客中,一方面可以加强自己的理解与记忆,另外也方便日后回头翻看与复习。
提升个人影响力
因为自己写作,可以大大提升自己在行业内的影响力,因为自己写了很多文章,有很多程序员都看过我的文章,我曾经大致统计过,我的技术文章,在全网的阅读量有数千万。最近几年,经常有公司的同事过来问我:你是不是Hollis?原来你就是Hollis?我看过你的文章等等。
帮助他人成就自己
在自己刚刚接触 Java 不久的时候,一直想找到一份学习路径,但是一直都没有找到,于是自己就利用业务时间总结了一份 Java 工程师的学习路径——《Java工程师成神之路》。这篇文章现在上百万人读过,我也接到很多留言,都说对他们帮助很大。最近两年,经常有读者在我的公众号和博客后台留言,说自己因为看了我的文章找到了某大厂的工作等等的好消息。看到自己的一点点努力,可以帮助到很多人,开始很有成就感的。
写作给你带来了什么额外惊喜?
寒雁:更好的职业发展以及对世界的认知
我之所以来阿里,也是因为我的文章,因为是主管看了我的博客,了解了我做的产品,然后邀请我来面试的。其实我自己去招人也是这样,如果你的博客写得足够好,我也会特别留意。
写作让我的阅读能力也明显提高了,在信息爆炸的时代,如何甄别真正值得阅读的内容还挺重要的,我可以在极短时间内判断一篇文章的层次,然后决定是否认真阅读。另外,因为我自己熟悉写作的套路,因此知道哪些话是真正有价值的,哪些话只是作者的话术,哪些要点是作者漏掉了。
Hollis:交友、招聘以及出书
因为写作,我认识了很多志同道合的朋友,他们很多人都是做程序员的,同时也是专业书籍的作者、知名博客的博主等。还有很多读者来自于各个互联网公司,有着不同的背景,有些都是工作经验比较丰富的大牛,和他们交流的过程中,自己也能学到很多东西。
因为我有自己有博客和公众号,又积累了很多读者,每次发布招聘信息都能收到很多简历,最近帮助团队招聘到了几个新的同事。因为我在一些招聘文章上面的昵称也是 Hollis,所以我遇到过几次,我在招聘网站上面“勾搭”候选人,都被人问:你是不是有个公众号?
因为自己写博客有很多读者,所以经常有出版社的编辑找到我询问出版书籍的事情。之前也有朋友找到我想要一起出书的等。2019 年和朋友共同出版了一本《程序员的三门课》。在那之后,自己还出了多本免费的电子书:《Java 开发手册灵魂 13 问》、《Java 开发手册灵魂 15 问》、《Java工程师成神之路——基础篇》等。
Frank:走上开源研究道路
我个人可能是程序员中不太常见的比较喜欢社科类记录的同学,要说惊喜,不如说是潜移默化的改变。
通过写作记录,逐渐加深对于社会科学的理解,对于人类写作历史的理解,是我最终走上开源研究道路很重要的原因。回头来看,每一个微小的习惯在长年累月中都会重新塑造自己,使你的人生走向一个完全不同的方向。而写作,或者说写作背后所代表的一种终身学习的态度,会给所有人都带来无限的可能。
每一个程序员都应该尝试技术写作,一旦开始,你就会发现自己成长的速度在增快,你看待文字背后的世界会变得不同。每一个程序员也不应该仅仅局限于技术写作,对于世界、历史、人文的理解同样需要记录和分享,希望写作让你面向屏幕时,不止面向代码,更是面向星辰大海。
【本文为51CTO专栏作者“阿里巴巴官方技术”原创稿件,转载请联系原作者】