先摆数字。第一篇是 2015 年 3 月发的,标题叫《Nginx 反向代理踩的三个坑》,全文 600 字,现在看错了两处。到今天为止 412 篇,平均 9 天一篇。十年了。
经常有人问我图什么。我干脆用自问自答的方式写这一篇,把我这些年被问过的问题一次性回答完。
问:写博客能带来什么实际收益?
诚实地说,直接收益很小。我算过一次,十年博客带来的广告收入大概够我买两台机械键盘。真正有价值的是三件事:
- 有两次跳槽,面试官在电话里说「我看过你写的那篇讲连接池的文章」。这句话直接省掉了半小时的自我介绍。
- 2019 年有个陌生人在评论区指出我一段代码在 32 位系统上会溢出。他是对的。这个 bug 我在公司项目里也写过一模一样的。
- 我自己搜自己博客的次数,比我想象的多得多。上个月我搜「时区」,翻出 2017 年自己写的那篇,直接复制了里面的转换代码。
问:不怕写错被人笑话吗?
怕过。我有一篇讲 GC 的文章,发出去第二天被人在论坛上贴出来批,说我把分代假设理解反了。当时脸真的烫。我改了三遍,最后在文末加了一段「勘误」,把原来的错误保留着,写清楚错在哪。
结果那篇文章成了我流量第三高的文章。后来我明白了一件事:公开犯错的成本,远低于私下一直错着的成本。如果我不写出来,那个理解偏差会一直留在我脑子里,直到某天在生产环境上以更贵的方式还回来。
问:没时间怎么办?
这是最常见的借口,也是我自己用得最多的借口。我 2020 年一整年只写了 11 篇,因为「太忙」。但那一年我加班时长其实是十年里第三少的。所以不是没时间,是没动力。
我后来找到的解法很土:降低单篇的心理门槛。我给自己定的规矩是,一篇文章只讲一件事,800 字左右,不追求完整性。以前我总想写「XX 完全指南」,结果开了 20 个头,一个没写完。现在我写《为什么我把日志级别从 INFO 降到了 WARN》,一个下午就发出去了。
问:AI 都能写文章了,还有必要吗?
这是最近两年被问最多的。我的看法是,能被生成的部分本来就没什么价值。
「什么是 B+ 树」这种内容,十年前就已经有一万篇了,我写第一万零一篇也没有意义。
有价值的永远是那些带具体上下文的东西:我们的服务在什么样的流量形态下、什么样的机器配置上、改了哪一个参数、指标从多少变成了多少、后来又因为什么回滚了。这些数字没有任何模型能替我编出来,因为它们只发生在我这台机器上。
问:写了十年,你自己变了什么?
最大的变化是,我现在做完一件事,会下意识地问自己「这件事我能不能讲清楚」。如果讲不清楚,通常意味着我没真懂。
去年排查一个内存缓慢增长的问题,我花了四天,最后定位到一个第三方库的缓存没设上限。当时同事说结案吧,我坚持又花了半天,把整个链路画成一张图。画到一半我发现,我们自己的代码里也有一个一模一样的隐患,只是增长慢一百倍,还没暴露。
那半天是博客习惯逼我花的。它已经不是写作习惯了,是思考习惯。
所以问我为什么坚持写——我不觉得这是坚持。这就像有人跑步十年,你问他为什么坚持跑步,他其实只是不跑难受。