凌晨两点十七分,手机在床头柜上震得发麻。
我摸黑抓过来,屏幕上跳着三十七个未接来电。
机房监控大屏全红,云仓系统全线瘫痪。
三天前,研发部裁十二人,运营部每人加薪六万。
吕景明把裁员通知拍在桌上,研发部集体停工。
萧辉在庆功宴上吼着让我们立刻恢复。
杨广发抢过电话,说离了谁都能转。
我挂断电话,看着监控里跳红的节点。
系统每天凌晨的动态签名校验,三把密钥分别在我、苏敏儿、肖心悦手里。
她们被裁,权限注销。
运营部强行让捷科用补丁绕过校验,触发数据锁死。
这一回,不是我们离不开公司。
![]()
01
季度总结会定在周三下午两点。
我提前十分钟到会议室,角落里已经坐了七八个人。
运营部的人端着咖啡,有说有笑,声音压得很低,但那股子得意劲儿压不住。
研发部这边没人说话,吕景明坐在我旁边,手指头一直在桌上敲,哒哒哒,像啄木鸟。
萧辉踩着点进来,身后跟着周冬生。
周冬生手里捏着几张纸,我瞟了一眼,是打印的名单,A4纸,宋体字,密密麻麻。
萧辉坐下来,先讲了一通行业形势,什么降本增效、优化结构、聚焦核心赛道,这些词我听了三年,耳朵起茧子。
他讲话有个习惯,每说完一段就端起杯子喝口水,杯子是透明的玻璃杯,里面泡着枸杞,红彤彤的,跟他的脸色差不多。
“研发部人员冗余,公司决定裁减十二人。”萧辉放下杯子,声音不大,像在念一份通知,“运营部承担业绩压力,全员加薪六万。”
会议室安静了两秒。
运营部那边有人低声笑了,笑声不大,但在安静的会议室里格外刺耳。
吕景明腾地站起来,椅子腿在地上刮出刺耳的响,像指甲划过黑板。
“萧总,研发部去年上线云仓系统,今年故障率不到百分之零点五。运营部签单子,系统崩了谁修?”
周冬生把名单推过来,吕景明扫了一眼,脸色铁青。
我凑过去看,苏敏儿、肖心悦,还有刚转正半年的小陈,都在上面。
我的名字不在,但名单末尾有行小字:架构组暂留一人,配合交接。
那行字像根针,扎在眼睛里。
“交接给谁?”吕景明声音压得很低,低到像是从嗓子眼里挤出来的。
“捷科科技。”周冬生说,“外包公司,性价比更高。”
杨广发这时候开口了。
他坐在萧辉左手边,穿着笔挺的衬衫,头发梳得锃亮,手腕上那块表我认得,欧米茄,少说五六万。
他笑了一下,露出两排白牙。
“研发部的工作,外面公司也能做。人家报价比咱们全年工资还低三成。”
吕景明还想说什么,我在桌子底下踢了他一脚。
萧辉已经低头看手机了,周冬生开始收拾桌上的文件,运营部的人交头接耳,讨论晚上去哪吃饭。
我攥着笔没说话。
苏敏儿坐在我斜对面,低着头,手指抠着笔记本的边,一下一下,纸都快抠破了。
她离婚不到一年,孩子刚上幼儿园。
散会后,吕景明拦住周冬生要说法。周冬生甩开他的手,说这是萧总定的,有意见找萧总。吕景明转头看我,眼睛发红。
“老刘,你就这么忍了?”
我没接话。
四十二岁,房贷还剩十一年,女儿明年高考。
我本想着,只要留我,先干着。
可下午我去茶水间,听见杨广发跟萧辉说,下一批优化名单,架构组不留人。
茶水间的饮水机咕噜咕噜响,我端着空杯子站了很久,杯子是公司十周年发的,上面印着“云仓科技,共创未来”。
回到工位,我打开系统后台,看了眼今天的运行数据。
正常,平稳,各项指标都在绿色区间。
这套系统从无到有,我写了七年。
七年里加了多少班,熬了多少夜,记不清了。
只记得女儿小学毕业那天,我在机房处理数据库死锁,王娟打来电话,说女儿等你切蛋糕,等到睡着了。
我点开人事系统,看了眼自己的年假余额。十七天,一天没休过。
02
苏敏儿被裁的消息传开后,她工位上的东西没动。每天照常来,照常干活。我问她怎么打算,她说先把手头模块的文档写完,后面人接手容易些。
那天晚上加班,我路过她工位,看见她对着屏幕抹眼睛。
走近一看,她在改注释,把每一行关键逻辑都标得清清楚楚。
她把鼠标移到某一行代码上,指着说,刘哥,这段是核心校验的入口,我加了三个注释,万一他们看不懂,打过来还得耽误事。
“你都这样了,还管他们看不看得懂?”
她没回答,继续敲键盘。屏幕上光标一闪一闪,映着她的脸。她桌上摆着孩子的照片,三岁多的小男孩,笑得露出两颗门牙。
我回工位打开系统日志,准备导出备份。
日志界面跳出一串异常访问记录,IP段指向捷科科技的测试环境。
访问时间是上个月,核心库的读写操作,一共十七次。
时间集中在凌晨一点到三点,每次操作不超过五分钟,像是试探。
捷科还没进场,怎么会有核心库权限?
我调出权限变更记录,发现彭伟的运维账号在两周前被开通了临时授权。
授权人签名是杨广发,审批时间是凌晨两点零三分。
那个点,杨广发应该在家睡觉才对。
我截图存下来,又查了外包合同草案。
萧辉已经签字,合同金额比研发部全年人力成本高出一截,服务条款里写着“关键模块维护由乙方全权负责”。
草案附件有张报价单,捷科的技术人员单价,比市场价高出百分之四十。
合同里还有一条补充协议,说捷科在项目启动前可进行“必要的环境熟悉”,费用另算。
我给赵玥发了条消息,问她知不知道捷科的合同。
她隔了半小时才回,说合同是杨广发一手经办的,财务没参与。
她让我别往外说,萧辉打过招呼,这个项目走特殊通道。
凌晨一点,吕景明发来消息:明天下午,研发部会议室。就四个字,连标点都没有。
第二天到齐了九个人。
吕景明把门关上,拉上百叶窗。
他站在白板前,开门见山说,停工。
不闹事,不砸东西,就是请假。
所有人把手头工作暂停,密钥不交,权限不转。
“公司要裁人,可以。赔偿到位,我们配合交接。现在想逼我们签自愿离职,一分钱不赔,还要把系统白送外包。”吕景明一巴掌拍在桌上,白板笔震得滚到地上。
苏敏儿抬起头,声音很轻:“我孩子下个月托费还没交。”
肖心悦接了一句:“我妈住院,我请了三天假,周冬生说我再请假就算旷工。”
我听着她们说话,想起萧辉签字的那份合同,想起杨广发开通的临时权限。
这件事,运营部不知道,捷科不知道,萧辉也不知道。
他们以为系统就是一个密码就能进的后台,改改配置就能跑。
“密钥不交。”我说。
九个人,一个没少。那天下午,我们把会议室的门反锁,谁也没出去。周冬生来敲过两次门,没人应。
![]()
03
妻子王娟在超市当主管,晚上十点才到家。我坐在客厅等她,茶几上摊着房贷账单和女儿辅导班的缴费单。客厅灯管有点闪,滋滋响,一直没换。
“辅导班三千八,老师说再不交名额就没了。”王娟把包扔在沙发上,手撑着腰喘气。她每天站十个小时,腰肌劳损,贴了膏药,一股子中药味。
我跟她说公司的事,说裁员,说停工。她听完没吭声,去厨房倒了杯水,喝了两口。杯子放在茶几上,杯底磕着玻璃,当的一声。
“你停工,工资还发吗?”
“发基本工资。”
“房贷呢?下个月八千二。”
我张了张嘴。
她接着说,女儿模拟考成绩出来了,想报个一对一冲刺班,一节课四百。
我说等两天再说,她突然把杯子往桌上一顿,水溅出来几滴,落在缴费单上。
“等两天?你公司那点破事,等得起吗?女儿高考等得起吗?”
我没跟她吵,进了女儿房间。
刘雨薇趴在桌上写卷子,台灯照着她后脑勺,头发扎了个马尾,松松垮垮的。
她抬头看我一眼,说爸,我这次数学没考好。
“没事,下次努力。”
“爸,我们班王梦她爸也被裁了,她下学期可能要转学。”
我给她把台灯调亮了些,说别管别人家的事。她低头继续写,笔尖沙沙响。我站在门口看了一会儿,轻轻把门带上。
出了房间,王娟已经回卧室了,门关着。
我坐在沙发上翻手机,吕景明建了个群,九个人都在。
苏敏儿发了张截图,是银行的催款短信,欠款一万二。
肖心悦说她妈明天出院,医药费还差八千。
我在群里打字:都早点睡,明天准时到。
凌晨两点,吕景明在群里发:明天上午,所有人正常打卡,进工位,但不干活。运营部要权限,不给。要文档,不给。
苏敏儿回了个“好”。肖心悦回了个“好”。小陈回了个“好”。我看着屏幕,打了两个字:收到。
放下手机,客厅灯管又闪了两下。
我盯着天花板,想起七年前系统上线那晚,萧辉请全公司吃宵夜,拍着我的肩膀说,老刘,你是云仓的定海神针。
定海神针,我笑了一下,电视柜上摆着女儿的奖状,三好学生,字迹工工整整。
04
第二天上午九点,研发部九个人准时坐在工位上。
电脑开着,屏幕亮着,手放在键盘上,没人敲代码。
键盘膜上落了一层灰,平时没注意,今天看得格外清楚。
运营部的人来问进度,吕景明说,等公司通知。来人站了一会儿,想说什么,又咽回去了。
十点半,周冬生来了,拿着一沓自愿离职协议。
他挨个工位发,发到吕景明面前,吕景明没接,纸掉在地上。
周冬生弯腰捡起来,放在他桌上,用手掌压了压。
“签了,赔偿按N加一。不签,调岗降薪,自己选。”周冬生的声音不大,像在宣布一条规章制度。
“不签。”吕景明说。
周冬生看向我:“老刘,你是架构师,公司待你不薄。”
我说:“合同里写了,裁员赔偿按劳动法。N加一,是你们定的,不是劳动法定的。”
周冬生脸色变了,把协议往我桌上一扔,说下午两点前交,不交按旷工处理。
他走后,彭伟从运维那边溜过来,压低声音说,杨广发让他今天必须把运维权限交出来。
“你交不交?”吕景明问。
彭伟搓着手,说萧总亲自打的电话。他老婆刚怀二胎,不敢硬顶。他说话的时候眼睛一直看地面,鞋尖在地板上蹭来蹭去。
“那你就交。”我说。
彭伟愣了一下,眼圈红了,说刘哥,我不是那个意思。
我说我知道,你先保住自己。
他回工位去了,半小时后,运维权限全部转移给杨广发指定的人员。
系统弹出一封通知邮件,收件人是全体研发部,内容很简短:运维权限已变更,即刻生效。
下午一点半,苏敏儿和肖心悦的账号被强制注销。
系统发了邮件通知,措辞客气,感谢她们多年的贡献。
苏敏儿看着屏幕,没动。
肖心悦把工牌摘下来,放在桌上,工牌上的照片是刚入职时拍的,脸圆圆的,笑得挺好看。
两点整,研发部九个人站起来,打卡,下班。
电梯里遇到运营部的人,对方笑了一下,说你们今天下班挺早啊。
吕景明没理他,电梯门开了,我们走出去,谁也没回头。
当天夜里,运营部让捷科进场。
杨广发在群里发消息说,研发部不干,有人干。
捷科的人穿着蓝色工装,提着电脑包进了机房。
彭伟后来跟我说,那天晚上他失眠了,翻来覆去睡不着,总觉得要出事。
![]()
05
凌晨两点十七分,我被电话震醒。值班的小陈声音发抖,说刘哥,系统全红了。
我赶到公司,机房大屏上密密麻麻全是红色报警,像一面烧红的铁板。
数据库主备同步中断,核心服务全部不可用。
捷科的人围在服务器前,有人蹲在地上插拔网线,有人对着屏幕骂脏话。
一个戴眼镜的年轻人拿着一份操作手册翻来翻去,手册掉在地上,他捡起来继续翻,手在抖。
杨广发站在机房门口,衬衫扣子歪了一颗,手机举在耳边,对着那头吼:“我不管你们用什么办法,天亮之前必须恢复!”他嗓子哑了,领口湿了一片。
我凑近看日志。
凌晨一点五十八分,捷科用补丁绕过动态签名校验。
补丁强行写入数据,触发了底层保护机制。
保护机制启动后,主库锁死。
更糟的是,捷科的人在慌乱中删除了回滚日志,主备同步彻底崩溃。
操作记录显示,删除命令是手动输入的,连输了三遍。
这套系统每天凌晨两点整执行一次动态签名校验,三把密钥同时授权才能通过。
校验的作用是确认数据一致性,校验失败,系统会自动锁死保护数据。
钥匙在我、苏敏儿、肖心悦手里。
她们两个的账号,下午已经被注销了。
萧辉凌晨三点赶到,西服外套搭在胳膊上,领带歪着,头发乱得像刚睡醒。
他问捷科的人多久能恢复,对方说,至少四十八小时。
萧辉转头看见我,快步走过来,皮鞋踩在地上噔噔响。
“刘德明,你赶紧把系统恢复。”
“密钥在苏敏儿和肖心悦手里,她们今天被裁了。”
“那就叫她们回来!”
“账号注销了,权限清空了,叫回来也进不去。密钥是硬件绑定,不是密码,改不了。”
杨广发在旁边插嘴:“你少在这拿捏,捷科说能修。”
我看了他一眼,没说话。
大屏上红色报警又跳了十几条,滴滴滴的报警声响个不停。
客户电话已经打进来了,客服那边乱成一锅粥,小姑娘接起电话就哭。
彭伟缩在角落里,脸煞白,嘴唇发青。
我知道他在想什么,运维权限是他交出去的。
萧辉的手机响了,他接起来听了几秒,脸色越来越难看。
那头是最大的客户,合同里写着,系统中断超过十二小时,索赔金额七位数。
挂了电话,萧辉靠在墙上,闭着眼,胸口起伏。
小陈凑过来问我,刘哥,系统能修好吗?我说能修,但要时间。他问多久,我说不知道。他哦了一声,回工位坐着,打开手机看招聘软件。
06
早上六点,天还没亮透。
萧辉和周冬生堵在研发部门口。
研发部九个人到齐了,坐在工位上,没人开电脑。
窗外的天从深蓝变成灰白,楼道里的声控灯灭了又亮。
“老吕,有什么条件,你提。”萧辉嗓子哑了,声音像砂纸磨铁。
吕景明靠着椅背,说三条。第一,撤销裁员决定,十二个人全部恢复。第二,补发裁员赔偿,按N加三算。第三,调查杨广发和捷科的合同。
萧辉皱着眉说第一条和第二条可以谈,第三条回头再说。他顿了顿,又说:“先把密钥交出来,系统恢复要紧。”
“先签书面协议,再交密钥。”吕景明把一张打印好的纸推过去。
萧辉拿起来看了一眼,放在桌上,说公司有公司的流程,不能你说什么就是什么。
他转头看我:“老刘,你是老员工了,系统瘫痪对谁都没好处。客户跑了,公司倒了,大家都没饭吃。”
我说:“萧总,系统为什么瘫痪,您心里清楚。”
萧辉脸色一沉,刚要说话,手机响了。
他走到走廊接电话,回来的时候整个人像老了五岁。
客户发了律师函,索赔金额一千两百万,要求四十八小时内恢复,否则终止合作。
杨广发这时候从机房跑过来,拉着萧辉到一边嘀咕。
我隐约听见几句,意思是把责任推给研发部,说是他们停工导致交接不畅,捷科来不及熟悉系统。
萧辉没吭声,手指头在裤缝上蹭。
十点,捷科的技术负责人找到萧辉,说恢复不了。
补丁破坏了底层数据结构,需要原始密钥和完整日志才能重建。
萧辉问要多久,对方说,没有密钥,永远恢复不了。
那个戴眼镜的年轻人站在后面,低着头,不敢看人。
彭伟在走廊里来回走,嘴里念叨着完了完了。
中午十二点,他接了个电话,是他老婆打来的,问他吃饭没有。
他嗯了两声,挂了电话,蹲在地上抱着头,肩膀一耸一耸的。
吕景明过去拉他,他甩开手,站起来往楼梯间走。我追过去,看见他站在窗台边上,半个身子探在外面。风从窗口灌进来,把他衬衫吹得鼓起来。
“彭伟!”
吕景明冲过去把他拽下来。
彭伟瘫在地上,哭得浑身发抖。
他说杨广发跟他说,出了事他顶,顶完给他升职。
现在杨广发不接他电话了,打了几十个,一个没接。