我在洱海边住下来的第三个月,又失业了一次。
严格说不算"又",因为上海那份工作丢了以后我就再没正经上过班。这次是一个远程的活儿——给一家做智能硬件的小公司写固件,隔着屏幕,隔着两千公里。合同到期,对方没续。邮件来的那天下午,我正坐在才村码头一家客栈的院子里,膝盖搭在另一条凳子上——那条在罗霄山里废过一次、后来陪我走完全程的右膝,阴天还会隐隐提醒我它的存在。
我读完邮件,把手机扣在桌上,等着那个熟悉的东西上来。
那个东西没上来
一年半以前,在上海,收到裁员通知的那个下午,我脑子里第一反应是打开一个心理上的排障流程。哪里出了故障?是我技术栈老了,还是我情商不够,还是我押错了赛道?我把自己当成一个待优化系统——一台跑得不够好、需要找出瓶颈然后调参的机器。我熬夜复盘,像看一份线上事故报告,非要定位出那个单点故障(整个系统里那一个坏了就全崩的关键零件)不可。仿佛只要找到它、修好它,人生就能重新编译通过。
那种笃定其实是一种过拟合——模型把训练数据里的噪声也当成规律死记下来,结果换一批新数据就全错。我拿过去十几年"努力就有回报"的样本,拟合出一条平滑的曲线,坚信只要沿着它走就不会掉下去。裁员是第一个不在曲线上的点。它没让我怀疑曲线,反而让我更用力地想把它掰回曲线上。
而这次,在洱海边,同样一封"我们不需要你了"的邮件,我心里没有启动排障。我甚至有点想笑——不是苦笑,是那种发现自己居然没在慌的、轻轻的意外。
不是我修好了什么。是我不再把这件事当成一个"故障"了。故障的意思是:本该正常,现在坏了,得修回去。可失业、迷惘、不知道下一步——这些根本不是系统坏了,这就是系统运行时的常态。是我从前给自己设的那个"本该",太干净、太理想,才把一切偏离都误报成了红色告警。
我没解决问题,我换了和它的关系
这句话我在心里转了很久才敢说出口,因为它听着太像那种朋友圈的鸡汤——"接纳不完美的自己"之类。我最烦这个。所以我得说清楚它到底指什么,不然就是一句正确的废话。
从上海到大理,一千八百多公里,我一路都在求一个东西。太湖边我算着怎么走最省力气,掉进贪心算法的坑——每一步都挑眼前最优的,结果被引到一条局部最舒服、整体绕远的路上。富春江边我非要给沿途的美打分、量化今天的收获,好像不可度量的就不算数。徽州古道上我为已经走废的选择懊悔,明明那些力气早已沉没、追不回来,我还揪着不放。这些都是同一个动作的变体:我把人生当成一道有唯一正解的题,认定答案就藏在某处,我只要够聪明、够努力,就能把它解出来。
转折不是某一个顿悟的瞬间。梵净山的云翻上来又散掉,我盯着它看了一下午,才慢慢懂了混沌系统是什么意思——它不是随机,它有铁一样的规律,但对起点的一丁点差别敏感到你根本没法长期预测。天气是这样,一个人往后十年的命也是这样。你算不出来。不是你太笨,是这类系统原理上就算不出来。想通这一点,不让人绝望,反而松了一口气:既然算不出来,那我一直以来那种"必须先想清楚再走"的执念,本身就是个伪命题。
黔东南的梯田教了我另一半。那些田不是一次规划好的,是几百年里一代代人顺着山势一点点添出来的,歪歪扭扭,却比任何工整的设计都稳。我一辈子信奉的"先设计好架构再动工",在那片山坡上是行不通的,行得通的是鲁棒性——不追求某个理想条件下的最高效率,而是让系统在各种烂条件下都还能凑合活着。我从前活得太"高效",效率高到经不起一点意外。
工程思维没丢,只是掉了个头
我想澄清一件事,免得这本书读到最后像是在劝人放弃理性。我没有变成一个盘腿打坐、说"随缘"的人。我还是那个会画时序图、会算复杂度、看见一团乱麻就手痒想重构的工程师。这些没变,也不该变。
变的是我拿这套思维去干什么。
从前我用工程思维去控制世界:找出变量、建好模型、施加输入、逼它输出我要的结果。现在我用同一套思维去理解世界:搞清楚它大概怎么运作,然后接受"运作"里有很大一块我按不动。前者是把手伸进去拧螺丝,后者是站远一点看清整台机器的脾气——包括它不听你的那部分脾气。
这个区别看起来小,落到日子上却是天壤之别。理解不要求你消除不确定,它只要求你别把不确定当敌人。混沌算不出来,那我就不算了,走一步看一步,走错了再反馈回来调——只是这次我认了反馈有延迟,认了有些错要走出去几百公里才看得见,不再苛求即时正确。熵(系统自发从有序滑向无序的那个倾向)不可逆,那我就不再跟"变乱"较劲,而是问:在这摊注定会乱的东西里,我此刻能安放的一点秩序是什么。
洱海这边入夜快。太阳一落到苍山背后,风就从水面上翻过来,凉得很实在。那天读完那封失业邮件,我没回客栈开电脑改简历,也没上招聘网站。我起身去码头边走了走。白族老板娘在收摊,问我吃了没,我说还没,她盛了碗饵丝给我,不肯收钱,说看我一个人怪冷清的。
换在两年前,我会本能地盘算她图什么——毕竟在我那套零和博弈的默认设定里,别人的好意背后总该有笔账。湘西火塘边那一夜起,这套设定开始松动,到今天已经基本卸载了。她不图什么。有些善意就是不进任何账本的。我端着那碗热饵丝,坐在越来越暗的水边,膝盖有点酸,心里空空的,但不是难受的那种空。
没有通关提示音
我知道读到这里,有人等着我给一句总结,像代码最后那行 return,把整趟旅程的意义打包成一个干净的返回值交出去。
我给不了,也不想给。给了就是骗人。
我还是会失业,往后大概还会失业好几次。我还是会在半夜醒来,盯着天花板不知道自己在云南待着到底算不算逃避,算不算把一个中年男人的溃败美化成了一场行走。这些疑问一个都没被解决,它们还在,以后也会在。
唯一不一样的是:它们在那儿,我也在这儿,我们之间不再是抢修与被抢修的关系了。它们不是我人生这套系统里的报错日志,它们就是这套系统本身跑起来的声音。一台机器运转,本来就会有嗡嗡的底噪,有发热,有你说不清来路的震动。我从前拼命想把这些声音降到零,以为零才叫正常。现在我知道,会响,才叫活着。
平静不是我终于把不确定消灭干净了。平静是我终于不再把不确定当成一个等着被消灭的东西。
饵丝吃完,天全黑了。身后的苍山沉进夜色里,看不见了,面前只剩洱海的水声。我坐着,没等到任何顿悟,也没有一个声音在耳边宣布通关。我就那么坐着,让不知道下一步怎么办这件事,安安静静地陪我坐着。
挺好的。这一次,我没打算修它。