程序员:写作能收获什么?

简介: 很多程序员已经通过自己的个人博客或者公众号来进行技术沉淀,记录自己的成长。越来越多的程序员们也开始意识到了写作的重要性。程序员为什么需要写作?写作能带来什么收获?又有哪些额外的惊喜?本文介绍三位长期坚持写作的程序员,分享他们在写作道路上的心得和收获,希望对同学们有所启发。

image.png
你有写作的习惯吗?很多程序员的回答是:我为什么要写作呢?很多人觉得写作是一件有难度的事情,其实写作的动机就藏在日常工作中,那些在酝酿中的奇思妙想,那些稍纵即逝的编程思路,那些金光闪闪的 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:走上开源研究道路

我个人可能是程序员中不太常见的比较喜欢社科类记录的同学,要说惊喜,不如说是潜移默化的改变。

通过写作记录,逐渐加深对于社会科学的理解,对于人类写作历史的理解,是我最终走上开源研究道路很重要的原因。回头来看,每一个微小的习惯在长年累月中都会重新塑造自己,使你的人生走向一个完全不同的方向。而写作,或者说写作背后所代表的一种终身学习的态度,会给所有人都带来无限的可能。

每一个程序员都应该尝试技术写作,一旦开始,你就会发现自己成长的速度在增快,你看待文字背后的世界会变得不同。每一个程序员也不应该仅仅局限于技术写作,对于世界、历史、人文的理解同样需要记录和分享,希望写作让你面向屏幕时,不止面向代码,更是面向星辰大海。

原文链接
本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云~Redis6.2.6 伪集群 哨兵模式_搭建

文章目录一、redis准备3节点1. 创建目录2. 节点1~配置3. 节点2~配置4. 节点3~配置5. 启动redis二、新增sentinel配置1. sentinel_01.conf2. sentinel_02.conf3. sentinel_03.conf4. sentinel 启动5. sentinel 监控6. 哨兵验证一、redis准备3节点 1. 创建目录 mkdir /usr/loca…

教你 4 步搭建弹性可扩展的 WebAPI

简介: 本文整理自《Serverless 技术公开课》,关注“Serverless”公众号,回复“入门”,即可获取 Serverless 系列文章 PPT。 作者 | 萧起 阿里云云原生团队 本文整理自《Serverless 技术公开课》,关注“Serverless”公…

从 0 到 1,高德 Serverless 平台建设及实践

来源 | Serverless作者 | 邓学祥头图 | 下载于东方IC导读:高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级,平台从 0 到 1,qps 从零到十万,成为阿里集团…

看动画学算法之:排序-快速排序

简介: 快速排序也采用的是分而制之的思想。那么快速排序和归并排序的区别在什么地方呢? 归并排序是将所有的元素拆分成一个个排好序的数组,然后将这些数组再进行合并。 而快速排序虽然也是拆分,但是拆分之后的操作是从数组中选出一…

思考、创新、坚持——阿里做了七年前端,我的成长经验分享

在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长…

存储进阶:怎么才能保证 IO 数据的安全?

来源 | 奇伢云存储头图 | 下载于视觉中国写成功了数据就安全了吗?思考一个问题:写数据做到什么程度才叫安全了?就是:用户发过来一个写 IO 请求,只要你给他回复了 “写成功了”,那么无论机器发生掉电&#x…

设计稿生成代码与 Serverless 的前世今生与未来!

简介: 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证书! 一场脑洞实验 云栖大会云上 Hello World 活动火热进行中!每位参与者都可收获一份阿里云出品的全球唯一序列号纪念证…

ARMS在APM工具选型中的实践

简介: 当前的系统在数字化转型需求以及互联网架构实施的影响下,越来越普遍地使用了微服务架构,我们在享受微服务带来的好处(开发效率高, 独立部署, 水平扩展, 故障与资源隔离等等)外…

无人机、IoT 设备都有漏洞?专访以色列老牌安全公司 Check Point|拟合

从无序中寻找踪迹,从眼前事探索未来。 2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

从零入门 Serverless | 函数计算的可观测性

简介: 本文主要分为三个部分:概述中介绍可观测性的基本概念,主要包括 Logging、Metrics、Tracing 三个方面;然后详细介绍函数计算上的 Logging、Metrics、Tracing;最后以几个常见场景为例,介绍在函数计算中…

宜家:打造新零售时代的智能客户身份管理系统

简介: 宜家选择了阿里云应用身份服务(IDaaS)来为其提供一个包括统一认证、统一账户管理的CIAM解决方案,为所有前端提供统一的安全、可扩展和可靠的身份认证服务,包括灵活的认证配置、单点登录、多因素认证、社交平台登…

生意参谋牵手Quick BI 让数据再次驱动店铺经营

刚刚过去的一周,超两百家店铺体验了阿里巴巴官方全渠道、全链路、一站式数据平台生意参谋推出的全新功能,自助分析。 作为生意参谋联合Quick BI的初次尝试, “自助分析”面向店铺提供自助分析解决方案,支持店铺个性化数据报表制作…

到底是谁发明了物联网?

来源 | 鲜枣课堂作者 | 小枣君头图 | 下载于视觉中国1965年的越南战场,美军正深陷战争泥潭。突然有一天,北越士兵在胡志明小道发现了一些奇怪的东西。这些东西看上去像树枝,但实际上由金属构成,里面包含一些神秘的电子元件。这些士…

八种经典排序算法总结

前言 算法和数据结构是一个程序员的内功,所以经常在一些笔试中都会要求手写一些简单的排序算法,以此考验面试者的编程水平。下面我就简单介绍八种常见的排序算法,一起学习一下。 一、冒泡排序 思路: 比较相邻的元素。如果第一…

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_部署01

文章目录1. 创建onlyoffice容器2. 启动在线案例3. 开放防火墙4. 浏览器验证5. 上传文件测试6. 在线编辑7. 测试主页面1. 创建onlyoffice容器 下面命令作用:拉取镜像、映射宿主机端口和docker内部端口、创建宿主机和docker容器挂载目录、拉取指定版本的onlyoffice/d…

漫画 | 程 序 员 脱 单 指 南

本文纯属娱乐,切勿模仿,模仿后果难以评估,务必小心再小心,谢谢!

基于JindoFS+OSS构建高效数据湖

为什么要构建数据湖 大数据时代早期,Apache HDFS 是构建具有海量存储能力数据仓库的首选方案。随着云计算、大数据、AI 等技术的发展,所有云厂商都在不断完善自家的对象存储,来更好地适配 Apache Hadoop/Spark 大数据以及各种 AI 生态。由于…

docker onlyoffice7.1.1 word excel ppt在线编辑、在线预览_添加中文字体和中文字号_02

文章目录一、 onlyoffice添加中文字体1. 下载字体2. 上传字体3. 删除原版自带字体4. 字体复制5. 安装字体6. 重启容器7. 清除缓存8. 效果验证二、 onlyoffice添加中文中文字号2.1. 拷贝配置文件2.2. 编辑配置2.3. 上传配置2.4. 配置覆盖2.5. 重启容器2.6. 效果验证一、 onlyoff…

重磅报告 | 《中国企业2020:人工智能应用实践与趋势》

文章导读 AI设计师“鹿班”每秒可设计海报8000张,赋能30万商家备战“双十一”;光伏电池生产商天合光能运用人工智能算法将A品率提升7%,创造利润数千万;AI帮助优酷分析舆情选出爆款影视剧IP,打造了10天播放量超过60亿的…

OnlyOffice 修改文件大小限制

文章目录1. 拷贝配置到宿主机2. 配置调整3. 配置覆盖4. 容器重启5. 启动案例测试6. 查看日志1. 拷贝配置到宿主机 docker cp 58f75f6ca6f7:/etc/onlyoffice/documentserver/default.json ./2. 配置调整 vim default.json默认下载大小"maxDownloadBytes": 104857600,…