王卷,人如其名,从小就是个卷王。
小学时老师布置寒假作业:练字本“挑几页写写就好”。
开学一收,别人写了半本,王卷写完整本,还顺手按偏旁部首自制了目录。
老师看了看她,又看了看作业本,默默在评语里写了一句:
“字一般,人很卷。”
她的成绩没有辜负她的努力,从小到大,她永远名列前茅,一路卷进最好的大学,毕业再卷进全国最顶级的大厂,从小到大都是亲戚朋友口中的人生赢家模板。
入职那天,她站在总部大楼前,仰着头看那一整面玻璃幕墙。阳光照在上面,反出一片刺眼的白光,隐约能看到一层层工位、一个个发光的屏幕。
她当时心里还有那么一点浪漫的念头:以后自己写出的代码,会在这栋楼里,变成某些业务指标增长的曲线。
后来她知道了,这个浪漫的名字叫 KPI。
入职六年,她从新人小白变成大家习惯性的“有问题找卷神”。她熟悉线上日志的每一处规律,背得出公司几个核心服务的大致拓扑结构,也能闭着眼睛想象出每一条请求是如何从最外层的网关一层一层穿透进来的。
她的日常大概是这样的:
白天各种会议——项目启动会、需求评审会、技术方案评审会、复盘会。会议中间夹缝里挤时间写代码。晚上同事陆续撤了,她正式开始“今天真正的工作”。
如果说白天是“社畜”,那晚上则是“真正的程序员”。
这半年,她所在的团队接了一个极其要命的项目——要把原来已经跑了好几年的老系统整体拆分,改造成云原生架构。领导拍着桌子说:“这是历史级的机遇,我们要成为行业标杆。”
翻译成程序员听得懂的话,大概就是:改!没日没夜地改!
项目开始后,王卷没有在12点前下过班。
她给自己取名叫“‘007’员工。”
此刻已经是夜里一点四十七分。
办公室里的灯还亮着,白得有些刺眼,空调出风口发出均匀的轻响。
王卷揉了揉鼻梁骨,手指在键盘上敲得飞快。她在改一个顽固的服务器崩溃问题。
她已经盯这个 BUG 四个小时了。
组长在群里发了一个大大的加油表情,配字:“这项目能成功,年底奖金翻倍!难得的机遇和福报,大家加油。”
王卷看着“福报”两个字,嘴角抽了一下。
她想起半年多前,公司开全员大会,大领导站在台上说:“公司给大家提供这么多成长机会,大家要珍惜,这都是你们的福报。”
底下响起稀稀拉拉的掌声,不知道是谁在为领导撑场面。
那天回去,她曾经对同事吐槽过:“原来加班也能包装成福报。”
同事笑道:“可别说加班,咱这只有弹性工作制。”
想到这儿,她把聊天窗口往边上一推,继续盯着屏幕上的堆栈信息。眼睛已经又干又酸,像是有人在眼眶里撒了一层细沙。
屏幕上时间跳到 01:49。
心脏在胸腔里不太安分,一下一下,有点急,有点乱,她下意识以为是喝咖啡喝多了。
光标在代码间闪烁,她突然抓到了一个细节:线程锁释放的时机有问题,会在特定条件下导致死锁。她精神一振,迅速修改了三行代码,重新开始测试。
日志疯狂滚动着。
她盯着屏幕,胸口隐隐又紧了一点。
“别出幺蛾子啊,”她默默祈祷,“干完这个项目,我就去应聘隔壁公司写文档。”
这句话她每个项目都会说一次,六年来从没实现过。
进度条终于跑完,日志窗口一片安静,没有报错,没有崩溃,没有莫名其妙的掉线。
她呼出一口气,整个人往椅背上一靠,脊柱发出轻微的“咔啦”声。
右下角弹出一条消息,是组长发的:
“卷神,搞定没?”
她手指刚放到键盘上,一阵尖锐的疼突然从胸口炸开。
不是有点闷、有些不舒服,而是一种钝到极致的剧痛,硬生生从胸骨后面炸开。
疼意先是一点,很快在一秒之内放大成一整片。就像有人粗暴地掀开她胸腔,伸手进去抓住她的心脏,用力一握,再狠狠扭了一圈。
王卷整个人愣住了,手指停在键盘上,输入行停在半截:“ssh -i ……”
“怎么……回事?”这个念头慢吞吞冒出来,甚至连这几个字在脑子里都像分了好几步才想完。
她试图调整一下姿势,想从椅背上稍微往前挪一点,换个坐姿。平时这种小动作不需要经过大脑,现在每一点移动都像有人在她心口的那块肉上又追加了一刀。
疼得她眼前一阵发白,背后的衬衫瞬间湿透。
出的风还是那个温度,可她突然觉得冷,好冷。
她下意识想抬手按住胸口,哪怕是一种心理安慰。手却像忽然重了好几斤,抬不上去,只能无力地跌回扶手上。
耳机从耳朵滑下来,一只吊在脖子旁边,线在空中晃了两下。音乐戛然而止。
世界突然安静了一截。
她这才意识到,原来刚才一直有各种细碎的声音——键盘敲击、鼠标滑动、远处打印机吐纸。这些声音仿佛被人一把扯远,远到像隔着几堵墙。
相反,她自己的心跳声变得非常近。
砰——
砰——
砰——
她想抬手敲一敲桌面,哪怕发出一点声音。
可是她的手指连握拳的力气都没有了,只能虚虚蜷起。
没有人往她这边多看一眼。
胸口又是一阵剧痛。
她的指尖开始发麻,那种麻慢慢往上爬,爬过手腕,到小臂,再往肩膀攀。她知道这些症状意味着什么,可大脑的判断落后于身体的崩溃,一切像是坏了半秒钟的延迟。
后知后觉的恐惧。
不是那种突如其来大叫一声的恐惧,而是像水漫上来,一点点淹过脚踝、膝盖、腰,再到胸口的那种,从下往上慢慢涌起。
恐惧、绝望。
她忍不住想着:
我要死了吗?
可是,我还这么年轻……
她没有惊天动地的大梦想,也没有打算当什么行业传奇人物。她最奢侈的愿望不过是:项目都顺利一点,加班少一点,家里房贷按时还上,偶尔能和朋友出去吃个饭,不被电话追着改需求。
她想起父母。她妈每次视频通话,都会念叨:“别总熬夜,钱挣不完,命只有一条。”她每次都笑着说:“知道啦,我身体好着呢。”然后一边说,一边打开公司电脑的远程连接。她爸不太会说这种关心的话,只会隔三差五在家族群里发一些“如何预防猝死”“程序员突发心梗”之类的科普文章,再假装不经意地 @ 她。
那些链接她都点开过,里面写的症状和风险,她也都看过。
她一边看,一边在心里想:我还年轻,应该没那么快轮到我。
她努力把视线对准自己熟悉的监控面板——那是她这几年最常看的东西之一。QPS 曲线依然平稳,错误率依旧在正常范围内,系统健康度一片绿色。
王卷觉得这画面有点讽刺:整个系统“健康”,唯独她这个人不太行了。
最可悲的是,没有谁会因为她的过劳死重构这个项目的计划,也不会因此重新设计加班制度。最多开个内部会:“这次事件给我们敲响了警钟,大家要注意身体”。
这就是打工人在这个庞大机器里的重量:小得可怜,却又必要到不能缺;一旦坏了,就会被迅速更换。
心跳声越来越急促。
每一次都隔得有点远,像从走廊尽头传来的脚步声。
耳朵里的背景声几乎完全消失,只剩下血液在血管里一点点推进的钝响。那些闪烁的屏幕、发光的键盘、正在运行的程序,就像她的生命一样,越来越模糊。
就在她意识消失的最后一刻——
“叮——”
机械的系统声突然在脑子里响起。
【检测到生命体征快速衰减。】
她愣了一下,脑子反应有点慢,甚至还带着一丝迟钝的讽刺:都要死了,还有人给我念系统日志?
【匹配宿主人格特征:高强度自驱、长期过劳、对加班文化极度不满。】
声音继续往下说,像在执行一个早已写好的流程。
【符合绑定条件。】
【是否启动:“打工人福报神豪系统”。】
几个词一个一个地浮现在她意识里,规规矩矩排成行。
打工人。
福报。
神豪。
系统。
这四个词放在一起,莫名有种廉价网文书名的味道。
她有一点想笑,但胸口又抽了一下,把那点笑意生生压回去。
她在心里想:我这是死前的幻觉?自己给临死的自己画个饼?
声音像是感应到了她的意识波动:
【不是幻觉。】
【鉴于宿主即将死亡,请宿主在十秒内做出选择,本次绑定为不可逆操作,选择“是”则绑定系统,选择“否”则本次生命体验终止。10、9、8...】
虽然还有点不知道状况。
但是,她不要,不要就这样死去.....
“我选择,是。”
她在心里给出了回答。
这个回答并不壮烈,也没有想象中的波澜壮阔,只是像平时接了一个新需求、开了一个新任务单。
【收到。】
黑暗深处,有什么东西轻轻一响,像某个久未使用的开关被重新合上。
那个声音最后一次在她脑海里清晰回荡:
【打工人福报神豪系统,启动中。】
她眼前最后那一点光猛地一闪。
像系统重启时,屏幕一黑,再亮。
她彻底陷入黑暗之前,脑子里最后一个念头是——
“给系统打工,要不要加班啊....”