十一点半了。屏幕那点冷光,真往眼球里钻。终端里那行红得刺眼的报错,我盯了半天,手指头悬在键盘上,就是敲不下去。白天工作群里@我的几十条消息?早沉底了。屋里静得吓人,就剩机箱风扇吭哧吭哧地喘。光标一闪,一闪的。行吧,就剩我一个人在这儿死磕了。
手边摊着本《Java Web开发入行真功夫》。这书脾气挺实在,不跟你整那些虚头巴脑的微服务、海量并发。上来就一句:给个需求,抄代码。一行一行敲。敲完还贴心地补一句“注意这儿容易空指针”。说真的,刚入门的时候,这种“抄作业”的套路是真香。你只管往下输,程序还真就乖乖按着书里的逻辑跑。页面“唰”地亮了,数据严丝合缝地进库。那感觉,踏实。就像小时候死磕半小时,咔哒一下,乐高最后一块终于拼上了。
以前吧,我就吃这一套。甚至一度以为,人生也就这么回事儿。
后来在现实里摔疼了,才咂摸出点不对劲:日子,压根不配给你发示例代码。咱们普通人,谁不是在背别人写好的“标准教程”?读书,考学,找个稳当单位,到岁数结婚,咬牙上车买房。教程编得再厚,半路也总得卡壳。今天还在工位上敲键盘,明天HR可能就把你叫进去谈话;处着处着,两个人连句废话都懒得说;或者某个周一早上睁眼,盯着天花板发愣,脑子里就一个念头:这几年,到底在瞎忙活啥呢?这时候,生活给你的早不是几行能查文档解决的代码了。是一股子没着没落的失重感。教程彻底失效。你只能自己硬扛那些,连个错误码都不给的“未捕获异常”。
书里没少念叨,报错不等于系统崩盘。它纯粹是在指路:要么路子走野了,要么参数填岔了。可落到咱自己身上呢?太容易把锅全往自己身上揽。一卡壳,第一反应是什么?关掉网页,或者疯狂搜“三分钟学会”“一键解决”。这毛病,谁没有?怕调试,说白了就是怕认怂。承认“我现在确实搞不定”,就得退回那团乱麻的起点。一行行对,推翻,重来。谁不想认这个怂?重头来过,多折腾人。
可要是换个角度掂量掂量呢?凌晨两点还睡不着的焦虑,说断就断的副业计划,怎么凑都对不齐的收支预期。说白了,都是生活甩过来的调试日志。它没准儿压根没想整你,纯粹是提个醒:这儿的参数得微调,那块的逻辑得重排。你没必要逼着自己一口气把整个项目跑通。盯紧当前这一行,哪儿冒泡了,修哪儿就行。是KPI定得太死?还是自己节奏乱了,自己打自己?是太盯着别人的“运行环境”眼红?还是压根没给自己留点喘气的缓冲内存?我觉得吧,未必全是你的锅。真不一定。
以前总觉得,长大就是尽量别出错。现在才咂摸出点别的味儿:长大,其实是学会看日志。报错弹窗跳出来的时候,别抡椅子砸屏幕。起身,泡杯茶,把烂摊子摊开,慢慢捋。允许自己有一段跑不通的日子。让某些“功能”,强制歇会儿。实在找不到能抄的作业,就自己硬写一段。糙点没关系,能跑就行。
电梯门“叮”一声合拢。手机屏幕跟着暗下去。明天还得接着敲,接着试,接着改。
人这一辈子,本来也拿不到一份永远跑不崩的说明书。能在某个冷清的晚上,把自己扒开看个明白,拍拍灰,接着走。就算没白来这一趟。这事儿也就这么回事儿。能扛过去,比什么都强。