周日下午三点,我盯着窗外发了十分钟呆。
这在平时是不可能发生的事。平时的我,要么在敲代码,要么在想着该敲什么代码,要么在后悔刚才那段代码为什么没想清楚就敲了。但今天是周末,我决定什么都不做。
结果发现,”什么都不做”这件事,对程序员来说,难度堪比手写一个操作系统内核。
我们忘了怎么休息
有个朋友跟我说,他每次放假第一天都会莫名焦虑,总觉得自己应该在做什么。后来他意识到,这种焦虑不是因为懒,而是因为他已经习惯了”有任务”的状态——有 ticket 要关,有 PR 要 review,有 bug 要修。一旦任务清空,大脑反而不知道该怎么运转了。
这不是个例。很多程序员的休息方式,其实是”换一种形式的工作”:刷技术博客、看开源项目、研究新框架。我们美其名曰”保持学习”,但说白了,就是不会放松。
我曾经以为,周末刷完一个新技术的文档,就算是”充电”了。直到有一次,我妈问我:”你上班和休息有什么区别?”我愣了很久,没答上来。
真正的断联是什么感觉
去年夏天,我去了一趟山里,手机没信号,笔记本没带,就带了一本纸质书和一双烂球鞋。
第一天,我坐在溪边,脑子里还在转:这个瀑布的水流量怎么计算?如果用代码模拟水流……然后我意识到自己在干什么,笑了出来。
第二天好一些了。我开始注意到石头上的苔藓,注意到对岸有只鸟在梳羽毛,注意到风吹过树梢的声音其实有层次感。
第三天,我睡到自然醒,吃了顿很慢的早饭,下午什么都没干,就坐着晒太阳。那是我近几年来,第一次感觉到时间是”慢”的。
回来之后,我写了一段代码,解决了一个困扰我两周的架构问题。不是因为我在山里想通了,而是因为我的大脑终于有机会在后台安静地跑了一次 GC。
程序员需要的不是”充电”,是”清空”
我们总说要给自己”充电”,但其实更需要的是”清空缓存”。
大脑不是电池,不是充满了就能高效运转。它更像内存——长时间不释放,再多的资源也会被占满,最终导致性能下降,甚至崩溃。
真正的休息,不是换一个屏幕看,而是让眼睛看看没有像素的东西;不是换一个话题思考,而是让思维暂时停止”解题模式”;不是找一个更轻松的任务,而是彻底没有任务。
这听起来很简单,但对于习惯了高密度信息输入的程序员来说,这需要刻意练习。
我的周末实验
从今年开始,我给自己定了一个规则:每个月至少有一个完整的周日,不碰代码,不看技术文章,不刷 GitHub。
我把这一天叫做”模拟断网日”。
我会做一些平时没时间做的事:去菜市场买菜,自己做一顿饭;找一本很久没翻的小说,读上几十页;骑车去附近的公园,没有目的地转一圈;或者就是坐在阳台上,看楼下的人来人往。
刚开始很不适应,总想拿手机。后来慢慢发现,这些”无聊”的时刻,其实是一种奢侈。
有一次,我在公园的长椅上坐了一个小时,什么都没想,就看着一群老人打太极。回家的路上,脑子里突然冒出一个很好的产品思路,清晰得像是有人帮我整理好了一样。
大脑在你不用它的时候,其实一直在工作。
写在最后
今天是周日。如果你正在看这篇文章,我希望你看完之后,能把手机放下,去做一件和代码完全无关的事。
不用很宏大,不用很有意义。
泡一杯茶,发一会儿呆,也挺好的。
我们写代码,是为了让生活更好。别让代码,把生活给写没了。
