雪下了一夜。

整座城市在清晨陷入一种缓慢的寂静。

贾长贵在距离公司大门三十米的地方开始奔跑。

羽绒服裹在身上,像一层笨重的壳。

深色的裤脚溅满了雪水泥点。

他喘着粗气,盯着那扇旋转玻璃门,盯着门内大厅角落那台灰色的考勤机。

指纹按上去的瞬间,屏幕红光闪烁。

时间刚好跳过去。

迟到了。

三十秒。

一个穿着崭新西装的身影,就站在考勤机旁边,手里端着杯咖啡。

那是宋宏盛,技术部新来的负责人。

他抬腕看了看表,又看了看屏幕上刺红的打卡记录。

咖啡的热气模糊了他镜片后的眼神。

他没说话。

只是那目光,像这冬天的空气,又冷又硬。

贾长贵的心,一点点沉下去。

他没想到,这三十秒,会像第一块被抽走的砖。

十八天后,他坐在这座写字楼里。

窗外依旧寒冷。

而他身后,九个耗资巨大、关乎公司命脉的项目,就在这个普通的下午。

一个接一个。

熄灭了屏幕。

陷入死寂。

打开网易新闻 查看精彩图片

01

雪是后半夜开始下的。

贾长贵凌晨四点醒来过一次,听到窗外簌簌的声响。

他想起阳台窗户好像没关严,怕雪飘进来,起身去看。

外面已是白茫茫一片,路灯的光晕染开一小团黄,雪花在里面纷乱地舞。

他关好窗,重新躺下,脑子里过了一遍今天要处理的事。

三个系统的日志需要深度分析,一个隐蔽的性能瓶颈可能要在今天定位。

还有梁晟睿那边,新接手的模块有几个历史遗留的耦合点,得找时间跟他讲清楚。

闹钟在六点半准时响起。

比平常早了十分钟。

他知道下雪天路不好走。

洗漱,热了昨晚剩下的粥,就着咸菜吃完。

出门前,他习惯性地检查了背包:笔记本电脑,电源,一个用了多年的保温杯,还有一小瓶救心丸——那是给他母亲备的,偶尔自己胸闷时也会含一粒。

七点整,他锁上门。

楼道里已经能听到邻居家孩子因为下雪兴奋的叫喊。

走到小区门口,贾长贵心里咯噔一下。

平时这个点已经排满的共享单车,今天寥寥无几,而且车座上覆着厚厚的雪。

公交站台上挤满了人,每一辆缓缓驶来的公交车都塞得像个沙丁鱼罐头,车门艰难开合,勉强吞下几个人,又留下更多焦急张望的面孔。

出租车更是踪影难觅,偶尔空车驶过,溅起一片泥水,根本不停。

贾长贵在原地站了五分钟,雪落在他的头发和肩头,融化了一些,留下深色的水渍。

他看了看表,决定往前走一个路口去坐地铁。

平日步行十分钟的路程,今天因为积雪和湿滑,走了将近二十分钟。

地铁站里同样人满为患,空气混浊。

列车延误的广播在头顶回荡。

每一站都停得很久,上车下车的人都带着一股烦躁的戾气。

贾长贵紧紧抱着自己的背包,被人群推来搡去。

他不再看表了,只是沉默地盯着车厢里不断跳动的站名指示灯。

出地铁时,已经比平时晚了近四十分钟。

公司那栋灰色的写字楼就在马路对面,不远,但需要穿过一个十字路口。

红灯漫长。

雪花被风卷着,扑打在他的脸上。

绿灯亮起,他加快脚步,皮鞋踩在积雪上,发出咯吱咯吱的声音,有些打滑。

旋转玻璃门近在眼前。

他甚至能看到大厅里那盆常绿植物,和前台后面空荡荡的座位——还没到上班时间。

也看到了考勤机旁那个端着咖啡的身影。

贾长贵跑了起来。

肺里吸进的冷空气像刀子一样。

旋转门转得有些慢,他侧身挤进去,带进一阵冷风和几片雪花。

大厅里暖气很足,瞬间扑了他一脸。

他几步冲到考勤机前,伸出右手食指。

机器发出“嘀”的一声轻响。

屏幕亮起,先是显示他的名字和工号,然后跳出了打卡时间。

比规定的上班时间,晚了三十秒。

背景色是刺目的红。

贾长贵盯着那行红色的小字,有些发愣。

呼吸还没平稳,白色雾气从他口鼻间逸出。

“贾工。”

旁边传来声音。

贾长贵转过头。

宋宏盛就站在两步远的地方,穿着合身的深灰色西装,头发梳得一丝不苟。

他刚来技术部不到两个月,是公司高薪从外面挖来的“管理人才”。

据说推崇什么“精细化”、“狼性”。

宋宏盛微微笑着,但那笑容没到眼睛里。

他举了举手中的咖啡杯。

“路上不好走吧?”

贾长贵点点头,抬手抹了一下额头上不知是雪水还是汗的水迹。

“雪太大,车不好坐。”

“理解。”

宋宏盛走近两步,目光落在考勤机屏幕上,又抬腕看了看自己那块看上去很贵的手表。

“制度就是制度。”

他声音不高,语气也算平和。

“尤其是我们技术部门,讲究的就是精准和纪律。”

“迟到三十秒,和迟到三十分钟,性质上是一样的。”

“都是打破了规则。”

贾长贵张了张嘴,想说什么。

比如他十几年来的全勤记录。

比如他无数次深夜加班处理故障,从没要过一分加班费。

比如那些只有他能搞定的、合同里根本没写的“杂事”。

但他什么也没说出来。

他只是又点了点头,喉咙里含糊地应了一声:“嗯。”

宋宏盛似乎很满意他这个反应,脸上的笑意真切了一点。

“先去忙吧。”

“后续人事那边会有正式通知。”

贾长贵没再看他,转身朝电梯间走去。

背影有些佝偻,深蓝色的旧羽绒服在明亮的大厅里显得格外黯淡。

电梯镜面映出他的脸,五十岁出头,皱纹深刻,眼神里带着一种长久伏案工作留下的疲惫。

还有一丝刚才未曾显露的茫然。

电梯上行,轻微的失重感传来。

贾长贵靠着轿厢壁,慢慢调整呼吸。

背包似乎比早上出门时重了一些。

02

办公区已经陆续来了人。

敲击键盘的声音,打电话的声音,还有同事间互相抱怨天气的闲聊。

贾长贵的工位在靠窗的角落,相对安静。

他放下背包,脱下湿了边缘的羽绒服搭在椅背上。

按下电脑开机键。

等待系统启动的间隙,他拿起保温杯,想去接点热水。

路过公共办公区时,听见几个年轻人在议论。

“……真狠啊,秒打卡,宋总就在旁边盯着。”

“新官上任嘛,总得烧几把火。”

“贾工也是倒霉,十几年老员工了,第一次吧?”

“规矩就是规矩,谁让你撞枪口上了……”

声音在他走近时低了下去,变成含糊的问候。

“贾工早。”

“早。”

贾长贵点点头,脸上没什么表情,径直走向茶水间。

热水注入杯子,腾起白雾。

他捧着温热的杯壁,站在窗前。

楼下街道上的车辆像甲虫一样缓慢蠕动,整个世界都被这场雪拖慢了节奏。

回到工位,电脑已经启动好了。

桌面很干净,除了几个必要的工作软件图标,只有一个命名为“工作记录”的文件夹。

他点开邮箱。

一封未读邮件躺在最上面,发送者是人事行政部,标题是“关于近期考勤纪律重申及处理通报”。

发送时间是十五分钟前。

他握着鼠标,光标在那个标题上停留了几秒,才点开。

邮件正文是套话,强调公司纪律,号召大家向先进学习。

后面附了一个表格附件。

下载,打开。

表格里只有一行数据。

姓名:贾长贵。

部门:技术研发中心。

事由:迟到。

处理措施:扣除本季度全额绩效奖金(人民币壹万元整),部门内通报批评。

通报批评。

贾长贵往后靠进椅背,椅子发出一声轻微的呻吟。

他端起杯子,喝了一口热水。

水有点烫,顺着食道下去,胃里暖和了一些,但心口那块地方,还是觉得有点空,有点凉。

壹万元。

对他而言不是个小数目。

房贷,孩子的学费,老家父母时不时需要的药费。

这一下,年底的计划就得重新盘算。

屏幕上,那行字方正正,黑体加粗,透着不容置疑的力度。

他移动鼠标,关掉了表格,关掉了邮件。

视线落在桌面那个“工作记录”文件夹上。

他点开。

里面是十几个子文件夹,名字起得简单,甚至有些随意。

“A系统备忘”、“B平台琐事”、“C接口那些坑”、“日志分析心得”……

只有他知道这些文件夹里装着什么。

那不是他本职工作的产出文档,也不是公司流程要求留下的记录。

那是他十几年里,像燕子衔泥一样,一点点积累起来的东西。

某个核心服务在极端并发下会出现的诡异内存泄漏,触发条件非常隐蔽,他花了三个周末才定位到,记录在案,并写了一个临时的监控脚本。

某个老旧系统与新框架兼容时,存在一个底层协议解析的偏差,平时没事,但每过大约十七个月,会在某个特定日期前后引发数据校验错误。

他推算出了下一个可能出问题的日期,做了备注。

某个第三方供应商的接口,文档写得天花乱坠,实际调用却有一堆潜规则和暗坑,他把所有踩过的雷、验证过的有效调用方式,都记了下来。

还有更多。

服务器权限的微妙平衡,某些自动任务的手动干预时机,几个关键数据库账号的密码和备用权限令牌——这些本该由部门共享或上级掌握的信息,因为历史原因和人事变动,最后只有他这个最老的“枢纽”心里清楚。

它们散落在各个角落,不成体系,却像隐藏的血管和神经,维系着整个技术生态脆弱的日常运转。

他给这些文件夹加了密。

密码是他的工号加上入职日期。

没有人知道。

以前他觉得这是责任,是一个老员工该做的。

现在他看着这些文件夹,觉得有点刺眼。

梁晟睿端着杯子走过来,在他隔板上轻轻敲了敲。

“师傅,热水器好像坏了,出的水不够热。”

贾长贵从屏幕前抬起头。

梁晟睿是他一手带出来的,小伙子踏实肯学,对他一直很尊敬。

“嗯,那个加热棒老化了,得报修。”

贾长贵说。

“你打行政电话,报我们这片工区。”

“另外,接水的时候多放一会儿,管道里的冷水排掉,出来的能热点。”

梁晟睿点点头,却没走。

他压低声音。

“师傅,那事儿……我听说了。”

“宋总这也太不近人情了。谁不知道您为公司付出多少?多少次半夜……”

“行了。”

贾长贵打断他,声音不高,但很稳。

“按规定办事,没什么好说的。”

“你去忙吧。”

梁晟睿看着他平静无波的脸,把后面的话咽了回去。

“那……我先去报修。”

梁晟睿走开了。

贾长贵重新把目光投向屏幕。

他移动鼠标,没有点开任何一个加密文件夹。

而是打开了公司的内部规章制度页面。

找到了《员工考勤管理办法》。

又找到了《劳动合同》的电子版。

他看得很慢,很仔细。

像一个第一次接触这些条文的新人。

看完,他关掉网页。

从抽屉里拿出一本新的软面抄,拧开一支黑色水笔。

在第一页,工工整整地抄下了公司规定的上下班时间。

上午九点。

下午六点。

他盯着这行字看了很久。

然后翻到下一页,开始列自己当前负责的、在岗位说明书上有明确列出的工作项目。

一笔一划。

写得极其认真。

打开网易新闻 查看精彩图片

03

下午,部门开每周例会。

宋宏盛主持。

他站在前面,投影幕布上是他做的PPT,色彩鲜明,图表专业,充斥着“赋能”、“抓手”、“迭代”、“闭环”这类词汇。

他讲了公司新的战略方向,讲了技术部门要如何“拥抱变化”、“创造价值”。

然后话锋一转,提到了纪律。

“最近我发现,我们部门有些老同志,有些功臣。”

他目光在会议室里扫了一圈,掠过贾长贵时,没有停留。

“可能觉得资历老了,就可以在细节上放松要求。”

“这种思想要不得。”

“公司能发展到今天,靠的不是某个人,而是完善的制度和高效的执行力。”

“一粒老鼠屎,能坏一锅粥。”

“一次小小的迟到,破坏的是整个团队的时间观念,是攻坚克难所需要的分秒必争的精神!”

他的声音拔高了一些,带着某种激昂的调子。

“所以,这次的处罚,不是针对某个人。”

“而是树立一个标准,一个底线。”

“希望大家引以为戒。”

会议室里很安静,只有空调出风口的嗡嗡声。

有人低头看手机,有人盯着面前的笔记本,眼神放空。

贾长贵坐在后排靠窗的位置,手里转着一支笔,看着窗外。

雪还在零星地飘,天空是铅灰色的。

会议最后,宋宏盛让各个项目组汇报进展。

轮到贾长贵时,他只是简单说了几句。

“负责的系统运行平稳。”

“本月计划内的优化点已完成。”

“没有需要跨部门协调的重大问题。”

言简意赅,符合他一贯的风格。

宋宏盛似乎想让他多说点,追问道:“老贾,你那边几个都是核心老系统,潜在风险排查得怎么样了?有没有需要提前预警的?”

贾长贵沉默了两秒。

他电脑里那些加密文件夹中,至少有三条记录,可以算作“潜在风险预警”。

其中一条关于那个十七个月周期的兼容性问题,距离可能触发的时间点,只剩下不到一个月了。

他抬起眼,目光平静地看向宋宏盛。

“按现有监控指标看,都在正常阈值内。”

“没有需要特别预警的情况。”

宋宏盛点了点头,没再追问,转向下一个汇报者。

散会后,人群涌出会议室。

梁晟睿紧走几步,跟上贾长贵,两人并肩朝工位走去。

“师傅,您刚才怎么不提那个兼容性……”

“晟睿。”

贾长贵停下脚步,看着他。

“我的岗位职责里,写的是‘保障指定系统稳定运行’。”

“监控指标正常,系统就在稳定运行。”

“至于那些还没发生、也可能永远不会发生的问题。”

“那不是我的‘职责’。”

他说得很慢,每个字都清楚。

梁晟睿愣住了,他从没听过师傅用这种语气说话。

疏离,准确,像在念一段法律条文。

“可是……”

“没有可是。”

贾长贵继续往前走。

“做好你分内的事。”

梁晟睿看着他的背影,心里涌起一股陌生的不安。

他觉得师傅好像有什么地方不一样了。

那股十几年如一日、把公司事当自己事操心的劲儿,忽然就没了。

像是一盏灯,quietly地熄灭了。

梁晟睿犹豫再三,下午还是敲响了宋宏盛办公室的门。

宋宏盛正在看一份报表,示意他坐下。

“宋总,我想跟您汇报一下……关于我师傅,贾长贵工的事。”

宋宏盛抬起头,饶有兴致地看着他。

“说。”

梁晟睿把贾长贵多年来如何默默处理那些边缘问题,如何掌握着许多系统关键但未公开的细节,如何无数次在非工作时间救急,都讲了一遍。

他讲得有些激动,脸微微发红。

“宋总,师傅他真的为公司付出太多了。这次迟到,确实是意外,这么大的雪……”

宋宏盛抬手,打断了他。

他身体向后,靠在宽大的皮质椅背上,双手交叠放在腹部。

“小梁啊,你的心情我理解。”

“你是贾工带出来的,有感情。”

“但是。”

他语气加重。

“管理一家公司,不能只讲感情,讲苦劳。”

“我们要讲制度,讲规则,讲效率。”

“贾工过去是做了不少事,公司也给予了他相应的报酬和职位,不是吗?”

“不能因为过去有贡献,就拥有了破坏制度的特权。”

“人情味,不能凌驾于制度之上。”

“这是原则问题。”

他顿了顿,看着梁晟睿有些苍白的脸。

“你是个有潜力的年轻人,技术不错。”

“但也要注意,不要把那种旧时代的、模糊的‘师徒情分’、‘主人翁意识’,带到我们现在的管理工作里来。”

“明确责任,厘清边界,这才是现代企业所需要的。”

梁晟睿张了张嘴,却发现自己无话可说。

宋宏盛的话逻辑严密,冠冕堂皇,把他所有想为师傅辩解的理由,都堵在了“人情”、“旧时代”的标签下。

“我明白了,宋总。”

他干涩地说。

“好好干。”

宋宏盛脸上露出笑容。

“多把精力放在新技术和项目本身上。”

“那些陈年老系统,还有老员工的老思路,该淘汰的,总要淘汰。”

梁晟睿不知道自己是怎么走出那间办公室的。

走廊很长,灯光惨白。

他回到工位,看见贾长贵正戴着老花镜,对照着屏幕上的文档,在本子上记录着什么。

神情专注,又透着一股彻底的平静。

仿佛上午的通报,下午的会议,以及他刚才那番徒劳的辩解,都从未发生过。

04

几天过去了。

雪早已融化,城市恢复了往常的节奏。

贾长贵的生活也恢复了一种新的节奏。

早上八点五十五分左右到达公司楼下。

不早,也不晚。

刚好够他等一趟电梯,在九点整准时出现在办公区,走到自己工位,打开电脑。

然后开始工作。

他只处理工作流系统里明确指派给他的任务。

只回复邮件正文里清楚写明的、属于他职责范围的询问。

对于同事口头或者即时通讯软件上发来的、“贾工顺便帮看一眼”、“请教个小问题”这类请求,他一律回答:“不好意思,现在有点忙,你提单走流程吧。”

语气礼貌,无可挑剔。

起初大家有些不适应。

那个总是有求必应、耐心解答的贾工,好像变了个人。

但看他每天准时上下班,交代的工作也完成得一丝不苟,似乎又挑不出什么错。

只是感觉,有什么东西不一样了。

那种技术团队里心照不宣的互助氛围,在贾长贵这里,出现了一个清晰的、冰冷的边界。

宋宏盛对此颇为满意。

他在一次小范围的管理层会议上提到:“看,制度的效果出来了。老同志也绷紧了弦,工作效率反而更清晰。”

没人接话。

有些老项目经理心里打鼓,他们隐约觉得,技术部里那股看不见的、但一直存在的“托底”的安全感,好像变薄了。

但具体少了什么,又说不上来。

贾长贵不再查看那些加密文件夹。

他甚至把桌面那个“工作记录”的快捷方式删掉了。

他的电脑桌面,如今干净得就像他的工作边界。

周五晚上,十一点多。

贾长贵已经睡了。

手机在床头柜上震动起来,嗡嗡的声音在寂静的夜里格外清晰。

他睁开眼,摸过手机。

屏幕上闪烁着公司值班室的号码。

他坐起身,靠在床头,按了接听键,但没有先开口。

“喂?贾工!不好意思这么晚打扰您!”

电话那头是值班的年轻工程师,声音急切,背景里还能听到其他人嘈杂的说话声和键盘声。

“出事了!A项目的预发布环境突然崩溃,所有服务无响应,日志里也看不出明显异常,我们搞了两个小时了,完全找不到头绪!”

“明天一早就要正式上线了,现在预发布环境瘫了,测试都没法做!”

“您看能不能远程连一下,帮我们看看?可能又是那种只有您才知道的……”

贾长贵安静地听着。

等对方连珠炮似的说完,他才开口。

声音带着刚醒来的沙哑,但很平稳。

“现在几点?”

电话那头愣了一下。

“啊?快……快十二点了。”

“谁的值班?”

“是我,还有项目组的周阳德经理也在。”

“嗯。”

贾长贵应了一声。

他侧过身,拧亮床头灯。

拿起床头柜上的那个软面抄,翻到第一页。

就着灯光,他看着自己抄录的上下班时间。

“公司规定的工作时间,是上午九点到下午六点。”

“我现在是休息时间。”

“预发布环境的问题,应该由值班人员和对应项目组按照应急预案处理。”

“我没有接到加班申请批准,也没有收到正式的值班安排通知。”

“所以,很抱歉,我无法提供支持。”

电话那头彻底安静了。

只有沉重的呼吸声传来。

过了好几秒,那个值班工程师才不敢置信地、结结巴巴地说:“贾、贾工……这……这情况真的很急,宋总那边也知道了,说务必……”

“如果有需要。”

贾长贵打断他,语气依旧没什么波澜。

“可以让相关领导,在工作时间内,通过正式流程向我提出协助申请。”

“再见。”

他挂断了电话。

把手机调成静音,放回床头柜。

关掉灯。

卧室重新陷入黑暗。

他躺下,拉好被子。

眼睛适应黑暗后,能看见窗外远处楼宇零星的光点。

很安静。

他能听到自己平稳的心跳声。

很久没有在午夜时分,享受过这种不被打扰的宁静了。

以前,他的手机就像是技术部的第二热线。

无论深夜还是假日,响起的时候,多半意味着某个地方又出了只有他能解的难题。

他从不推辞,总是立刻爬起来,打开电脑。

妻子抱怨过,孩子小时候也埋怨过爸爸总在打电话。

他觉得那是应该的。

他是老员工,他懂得多,他不顶上,谁顶上呢?

现在,那根紧绷了十几年的弦,忽然松开了。

并没有想象中的失落或焦虑。

反而是一种陌生的轻松。

他翻了个身,很快就睡着了。

一夜无梦。

打开网易新闻 查看精彩图片

05

第二天是周六。

贾长贵醒得比平时晚一些。

拉开窗帘,是个阴天。

他给阳台上的几盆绿植浇了水,然后去早市买了菜。

回来时,手机上有两个未接来电,都是周阳德的。

还有几条措辞越来越焦灼的即时消息。

“贾工,拜托了,远程指导一下也行!”

“宋总发火了,说今天必须解决!”

“您要什么条件我们可以谈!”

贾长贵一条都没回。

他系上围裙,开始在厨房里忙碌。

洗米,切肉,择菜。

锅里的水咕嘟咕嘟响着,热气弥漫开来,带着食物朴素的香味。

妻子走过来,靠在厨房门边,有些担忧地看着他。

“昨晚……公司电话?”

“没事吧?”

“没事。”

贾长贵把菜倒进锅里,刺啦一声响。

“工作上的事,工作时间再说。”

妻子沉默了一会儿。

“老贾,你……是不是心里不痛快?”

贾长贵动作顿了一下,手里的锅铲停在半空。

他看着锅里翻腾的青菜,蒸汽扑在他脸上,湿湿热热的。

“没有。”

他继续翻炒。

“就是觉得,以前那样,太累了。”

“现在这样,挺好。”

“按规矩来,大家都轻松。”

饭菜上了桌。

很简单的两菜一汤。

吃饭时,手机又震动了几下。

贾长贵拿起来看了看,是周阳德拉的一个临时群聊,里面有宋宏盛,还有几个技术骨干。

宋宏盛发话了:“@贾长贵,贾工,A项目上线是公司重点,预发布环境的问题必须立刻解决。请尽快上线支持。”

措辞是命令式的。

贾长贵放下筷子,擦了擦嘴。

在手机上打字回复。

“宋总,今天是周六,是我的休息日。”

“公司并未安排我周末值班,我也未申请或接受加班。”

“根据劳动合同和公司规章制度,我有权在休息时间不处理工作事务。”

“相关问题,请值班同事按流程处理。”

点击发送。

他把手机屏幕扣在桌上。

继续吃饭。

妻子看着他,欲言又止。

贾长贵给她夹了一筷子菜。

“吃饭。”

手机再没有响起。

那个临时群聊,也再没有新的消息。

下午,贾长贵睡了个午觉。

然后带着妻子去附近的公园散步。

天气依然阴沉,但空气清冷,公园里人不多。

他们沿着湖边慢慢走,看着结了薄冰的湖面,和光秃秃的树枝。

妻子挽着他的胳膊,轻声说着些家长里短。

孩子在学校的情况,老家亲戚的琐事,菜市场哪种菜又涨价了。

贾长贵听着,偶尔点点头,或者简单回应两句。

他很久没有这样,在周末的下午,纯粹地散散步,看看天了。

以前,这样的时间,多半是被一个电话打断,然后他匆匆赶回家,或者赶回公司。

走到公园深处,有一段路比较安静。

妻子忽然说:“老贾,要是公司那边……真有什么事,你也别太拗着。”

“我知道你心里有气。”

“可咱毕竟还要这份工作。”

贾长贵停下脚步,看着湖边一棵歪脖子老树。

树干粗糙,枝条遒劲。

“不是拗气。”

他说。

“就是忽然想明白了。”

“有些事,不是你该扛的。”

“你扛了,别人觉得理所当然。”

“哪天你不扛了,反而成了你的错。”

“不如一开始,就划清楚。”

他拍了拍妻子的手背。

“我心里有数。”

“回去吧,起风了。”

周一上班。

贾长贵准时出现在工位。

办公区里气氛有些微妙。

A项目组的人个个眼圈发黑,神色憔悴。

听说他们折腾了整个周末,最后是找了第三方技术支持,花了高昂的紧急服务费,才勉强让预发布环境恢复。

但原定的上线计划,还是推迟了。

周阳德看到贾长贵,眼神复杂,嘴唇动了动,最终什么也没说,低头快步走过。

宋宏盛上午召集技术部开了个短会。

没有点名,但语气严厉地批评了“某些同志缺乏协作精神和全局观念”。

“公司是一个整体,不能只扫自家门前雪!”

“尤其是老同志,更要发挥传帮带的作用,不能看着年轻人掉坑里!”

贾长贵坐在下面,手里拿着笔,在本子上随意划拉着。

等宋宏盛说完,他合上本子,面色如常地起身离开会议室。

好像那些话,跟他毫无关系。

下午,他提交了上周的工作周报。

周报内容极其规范。

完成了哪几项任务,耗时多久,结果如何。

遇到什么问题,如何解决。

下周计划做什么。

条理清晰,数据准确。

至于那些只有他知道的、关于其他系统或项目的潜在风险点?

周报上一个字都没提。

就像它们从来不存在一样。

梁晟睿私下里又来找过他一次。

小伙子瘦了些,眼神里透着疲惫和困惑。

“师傅,周末A项目那事……您是不是早就知道会出问题?”

贾长贵正在检查一段代码,头也没抬。

“不知道。”

“我的职责范围,不包含预发布环境的日常维护。”

“哦。”

梁晟睿站了一会儿,小声说:“他们最后是重置了整个环境,数据差点丢了……要是您在,可能不至于……”

“重置环境是标准应急方案之一。”

贾长贵打断他,终于转过椅子,看着梁晟睿。

“晟睿,记住。”

“公司有公司的流程,岗位有岗位的职责。”

“做好你该做的。”

“其他的,少管,少问。”

他的语气很平和,甚至算得上温和。

但梁晟睿听出了一道坚固的、不可逾越的屏障。

他默默点了点头,转身离开。

走了几步,又忍不住回头。

贾长贵已经重新面对屏幕,手指在键盘上敲击着。

背影像一座沉默的山。

梁晟睿心里那股不安,越来越重了。

他总觉得,师傅的这种“平静”和“规矩”下面,藏着一些他看不透、也承不住的东西。

像深水下的暗流。

06

时间平缓地流淌。

贾长贵严格遵循着他的新节奏。

九点整,坐下。

六点整,关机,起身,离开。

不多一分,不少一秒。

他不再参加任何非工作时间的线上讨论。

不再回复工作时段外的任何业务咨询。

他的工作产出依旧保质保量,甚至因为心无旁骛,效率似乎还高了一些。

那些加密文件夹,再没有被打开过。

里面记录的“小问题”,就像被遗忘在角落的灰尘,静静地堆积着。

梁晟睿负责的一个辅助系统,需要与贾长贵维护的一个核心老系统进行数据交互。

这部分对接代码,当年是贾长贵亲手写的,里面有一些为了应对当时特定硬件环境而做的“小调整”。

这些调整没有写入标准接口文档,因为太琐碎,也因为后来硬件环境升级,本以为用不上了。

但那个老系统还在跑,那些调整也就一直隐性地生效着,像一层薄薄的、无形的润滑油,确保两个系统之间数据传输的顺畅。

最近,梁晟睿的系统要做一次功能升级。

升级涉及到底层数据格式的微小变动。

按照常规技术评估,这种变动是向后兼容的,理论上不会影响与老系统的对接。

梁晟睿很谨慎。

他记得师傅提过,两个系统之间有些“历史默契”。

他想找贾长贵确认一下细节。

但每次开口,贾长贵的回答都是:“接口文档是标准的,按文档来。”

“如果有文档之外的特殊依赖,那属于设计缺陷,应该走需求变更流程,评审、排期。”

话说得没错。

可梁晟睿心里没底。

那个“历史默契”到底是什么?

他翻遍了交接文档和代码注释,也找不到明确说明。

眼看升级窗口期就要到了。

项目经理在催,宋宏盛也在关注这个“技术债清理”的成果。

梁晟睿一咬牙。

他想,师傅也许只是不想再管“份外事”,但接口文档是公开的,标准流程也是对的。

按标准来,总不会出大错吧?

升级在周三下午部署到测试环境。

最初几个小时,一切正常。

数据在流淌,监控图表上的曲线平稳。

梁晟睿稍稍松了口气。

凌晨一点多。

监控警报响了。

先是那个辅助系统自身报错,数据校验失败。

紧接着,与它对接的老核心系统,日志里开始出现大量“数据格式非法”、“字段解析异常”的错误。

老系统的某个关键进程,CPU占用率飙升,然后僵死。

自动重启后,情况依旧。

连锁反应开始了。

由于老系统僵死,另一批依赖它输出结果的后台任务被阻塞。

这些任务又关联着其他几个系统的数据更新。

错误像瘟疫一样,顺着数据流和依赖链,悄无声息地扩散。

清晨六点。

梁晟睿被电话吵醒时,第一个项目(一个重要的内部运营平台)已经彻底无法访问。

值班人员语无伦次,说错误根本理不清头绪。

梁晟睿脸都没洗,冲出门,打车赶到公司。

办公区里已经亮起了不少灯。

几个相关项目的负责人和技术骨干都被叫来了。

人人脸上都带着宿夜的疲惫和惊惶。

屏幕上,错误日志在疯狂滚动。

报警邮件和消息像雪片一样飞来。

“查!给我查清楚根源!”

宋宏盛也赶到了,西装外套敞开着,领带歪在一边,脸色铁青。

“为什么一个辅助系统的升级,能把核心系统搞崩?”

“应急预案呢?备份呢?”

梁晟睿脸色惨白,手指在键盘上颤抖。

他试图回滚升级。

但回滚后,老系统的问题依然存在,甚至更严重了——似乎有些状态已经被污染。

他尝试直接去查老系统的日志,定位那个解析异常的根源。

可老系统的代码庞大而古老,日志信息晦涩,短时间内根本理不清头绪。

他想起了师傅说过的“历史默契”。

那到底是什么?

一个老技术员试探着说:“宋总,这问题……有点像以前出过的一种情况,那次是贾工处理的,他好像知道哪里有个兼容性的开关或者参数……”

所有人的目光,下意识地投向角落那个空着的工位。

上班时间是九点。

现在,刚过七点半。

贾长贵还没来。

宋宏盛深吸一口气,努力让声音听起来镇定。

“打电话给贾长贵。”

“让他立刻过来!”

梁晟睿拿起手机,找到师傅的号码,拨了出去。

忙音。

再拨。

还是忙音。

“他手机关机了?”

有人小声嘀咕。

“可能……还没起床?”