周一早晨九点,刘星西装革履地站在公司会议室里,准备项目总结会的发言。
他昨晚熬到凌晨两点,把发言稿改了又改,确保每一个数据都准确,每一段逻辑都清晰,每一页PPT都精美。为了这次发言,他甚至提前半小时到公司,在洗手间对着镜子练习了三次,调整语气、表情、手势。
这是他职业生涯的重要时刻——成功拯救了一个濒临崩溃的项目,赢得了大客户的认可,甚至可能因此获得晋升。如果一切顺利,今天就是他证明自己价值的日子。
会议室里坐满了人。李总,王总(视频接入),赵明(视频接入),公司其他高层,还有项目组的同事。小林坐在前排,冲他竖了个大拇指。老陈对他点点头。陈涛坐在角落里,表情有些紧张。
刘星深吸一口气,打开PPT,开始发言。
“各位领导,各位同事,大家上午好。下面由我来汇报上海金融系统升级项目的整体情况……”
前二十分钟,一切顺利。他讲项目背景,讲技术难点,讲解决方案,讲最终成果。数据详实,逻辑清晰,表达流畅。他能看见李总赞许的表情,能看见赵明在视频那头微微点头。
然后,他翻到了最后一页PPT——项目总结与经验教训。
“最后,我想谈谈这个项目带给我们的启示。”刘星清了清嗓子,“第一,开源组件的使用必须建立严格的审查流程,不能为了赶进度而忽视合规风险。第二,团队协作需要更透明的沟通机制,避免信息不对称导致的失误。第三……”
他的话被一阵急促的敲门声打断了。
会议室的门被推开,人事总监张总站在门口,脸色凝重。她身后跟着两个陌生面孔——一个五十多岁的男人,穿着深色西装,表情严肃;一个三十多岁的女人,拎着公文包,戴着金丝眼镜。
“抱歉打扰。”张总走进来,对李总低声说了几句话。
李总的脸色瞬间变了。他站起来,对会议室里的人说:“会议暂停十分钟,大家先休息一下。”
刘星愣住了。他站在投影仪前,看着李总和张总带着那两个陌生人快步离开会议室,留下满屋子面面相觑的同事。
“什么情况?”小林小声问。
“不知道。”老陈摇摇头,“看李总的脸色,不像好事。”
刘星走下讲台,回到座位上。他心里涌起一种不祥的预感,像一块石头压在胸口,越来越沉。
十分钟过去了,李总他们没回来。
二十分钟过去了,还是没回来。
会议室里的气氛越来越诡异。有人开始看手机,有人小声交谈,有人起身去倒水。刘星坐在那里,盯着会议室紧闭的门,手心开始冒汗。
终于,三十分钟后,门开了。
但进来的不是李总,而是张总,还有那两个陌生人。李总没有回来。
“大家安静一下。”张总走到会议室前方,声音有些沙哑,“我宣布一个紧急决定:由于上海项目存在严重的管理漏洞和合规问题,公司决定暂停该项目所有后续工作,并成立专项调查组进行彻查。”
会议室里一片哗然。
“暂停?”小林忍不住站起来,“张总,项目不是已经通过验收了吗?赵明那边都认可了……”
“那是技术验收。”那个五十多岁的男人开口了,声音低沉而威严,“我们是合规审计组,从银行总部直接过来的。在审计过程中,我们发现该项目存在多个严重违规问题——未经授权使用开源代码,虚假提交测试报告,甚至……涉嫌数据造假。”
“数据造假?”刘星的心猛地一沉,“不可能,我们所有的测试数据都是真实的,有完整的日志记录……”
“刘工是吧?”那个戴眼镜的女人翻开文件夹,“我们在你们提交的测试报告里发现,第三轮压力测试的数据,与原始日志记录严重不符。部分关键指标被修改过,时间戳也对不上。你能解释一下吗?”
刘星愣住了。第三轮压力测试……那是陈涛负责的。当时因为测试环境出了问题,数据确实有些异常,陈涛说已经修复了,重新跑了一遍。难道……
他猛地转头看向陈涛。陈涛脸色惨白,低着头,不敢与他对视。
“陈工,”刘星的声音在发抖,“第三轮测试的数据,到底是怎么回事?”
会议室里所有人的目光都集中在陈涛身上。他慢慢抬起头,嘴唇哆嗦着,半天说不出话。
“说话!”李总的声音突然从门口传来。他不知什么时候回来了,脸色铁青,眼睛里满是怒火。
陈涛浑身一抖,终于开口了,声音小得像蚊子:“当时……当时测试环境出了问题,数据跑出来不理想。我怕影响项目验收,就……就手动调整了一些数据,让报告看起来好看一点……”
“手动调整?”审计组的女人冷笑,“陈工,这不是手动调整,这是数据造假。在金融系统项目里造假测试数据,你知道这意味着什么吗?”
陈涛低下头,肩膀开始颤抖。
刘星感觉自己的世界在崩塌。他花了整整两周,每天只睡四五个小时,拼了命才把项目救回来。而现在,因为一个人的愚蠢行为,所有的努力都白费了。不止白费,还可能带来更严重的后果——合同违约,法律诉讼,公司声誉受损,甚至……个人职业生涯的终结。
“除了数据造假,”审计组的男人继续说,“我们还发现,该项目使用的开源组件中,有三个仍然存在许可证冲突。刘工,你提交的解决方案里说已经全部替换,但实际部署的版本里,这些组件还在。”
“不可能!”刘星站起来,“我亲自检查过,所有的冲突组件都替换了,代码库里都有记录……”
“代码库里的记录是替换了。”男人看着他,“但生产环境里没有。有人在最后一次部署时,偷偷恢复了旧版本。为什么?因为新版本性能下降百分之三十,达不到合同要求的指标。”
会议室里死一般的寂静。
刘星感觉自己的血液都凝固了。他看向陈涛,陈涛的头垂得更低了。
“也是你干的?”刘星问,声音平静得可怕。
陈涛没有回答,但答案已经写在他脸上。
“为什么?”刘星问,“你知道这会给项目,给公司,给所有人带来多大的麻烦吗?”
陈涛终于抬起头,眼睛里满是泪水:“刘工,对不起……我真的不知道会这么严重。我就是……就是怕项目失败,怕被问责,怕失去工作……我老婆刚生了二胎,房贷车贷压得我喘不过气,我不能失业啊……”
他说着说着,哭了起来。一个三十多岁的男人,在会议室里哭得像个孩子。
但没有人同情他。只有愤怒,只有失望,只有冰冷的目光。
“刘工,”审计组的女人看向刘星,“作为项目负责人,你对团队的管理存在严重失职。这么重大的问题,你竟然毫无察觉?”
刘星张了张嘴,想说什么,但什么都说不出来。是啊,他为什么没察觉?因为太忙?因为太信任陈涛?因为……他也在害怕?害怕项目失败,害怕失业,害怕面对现实?
“根据银行的规定,”男人宣布,“上海项目合同立即终止,所有款项冻结。公司需要承担违约责任,并接受进一步的调查。至于相关责任人……”
他没说完,但意思已经很明白了。
李总走过来,拍了拍刘星的肩,动作很轻,但刘星感觉像是被重锤击中。
“刘星,”李总的声音很疲惫,“你先回去休息吧。具体处理结果,公司会通知你。”
回去休息。这四个字,在职场上通常意味着:你可以走了,不用再来了。
刘星站在那里,感觉自己的身体在一点点变冷。他看着会议室里的人——小林低着头,老陈叹气,其他同事避开他的目光。陈涛还在哭,但已经没人理他了。
他花了整整三十三年,从山东的小县城一路走到BJ,从普通程序员做到高级工程师,从租房到买房,从单身到成家。他像一头牛,低头耕地,从不抬头看天,以为只要努力,只要拼命,就能有收获。
但现在,地崩了。不是因为天灾,不是因为外敌,而是因为内部的问题,因为管理的漏洞,因为人性的软弱——包括他自己的软弱。
他缓缓地收拾东西——笔记本电脑,笔记本,笔。动作很慢,像电影里的慢镜头。然后他站起来,走向门口。
“刘哥……”小林想说什么。
刘星摆摆手,没有回头,走了出去。
走廊很长,灯光很亮。他一步一步往前走,脚步声在空旷的走廊里回响。路过其他办公室时,他能感觉到里面的人在看他,在窃窃私语。消息传得很快,尤其是在这种大公司里,坏事总是比好事传得更快。
电梯来了。他走进去,按下1楼。电梯门关上,镜面里映出他的脸——西装笔挺,头发整齐,但眼睛是空的,像两个黑洞。
一楼大厅,前台小苏看见他,想打招呼,但看见他的脸色,又把话咽了回去。
走出办公楼,阳光很好。十一月的BJ,天空难得这么蓝,阳光这么灿烂。但刘星感觉不到温暖。他觉得冷,从骨头里透出来的冷。
他在路边站了一会儿,不知道该去哪里。回家?面对空荡荡的房子?去幼儿园看清清?但他现在这个样子,会吓到孩子。
最后,他走向地铁站。周一上午的地铁,人不多。他找了个角落坐下,看着窗外飞逝的隧道墙壁。黑暗,光明,黑暗,光明,交替出现,像他此刻的心情。
手机开始震动。一条接一条的消息。
李总的:“刘星,公司决定给你停职处分,等待进一步调查。这个月工资会正常发,但从下个月开始……”
小林的:“刘哥,你没事吧?公司里都在传,说你可能要被开除……”
老陈的:“刘星,想开点,这种事谁都不想遇到。需要帮忙就说一声。”
王总的:“刘工,我刚听说上海的事。怎么会这样?你做事一向谨慎的……”
还有张颖的:“清清老师打电话,说孩子有点发烧,你能去接一下吗?我在开会走不开。”
刘星盯着那条消息,看了很久。然后他回复:“好,我去接。”
这个时候,他需要做点什么。需要有一个具体的事情,让他感觉自己还有用,还能被需要。哪怕只是去幼儿园接孩子。
他在地铁站下车,转乘公交车去幼儿园。路上,他打开手机银行,查看余额——三万五千六百二十一元。这个数字,在房贷、车贷、孩子开销面前,像沙漠里的一杯水,喝几口就没了。
如果失业了怎么办?如果下个月就没有工资了怎么办?如果房贷还不上了怎么办?
这些问题像潮水一样涌来,要把他淹没。他闭上眼睛,深呼吸,强迫自己不去想。
到幼儿园时,清清正在保健室躺着,小脸红红的,额头上贴着退热贴。看见他,清清咧开嘴笑了:“爸爸!”
“宝贝,难受吗?”刘星抱起儿子,感觉那个小小的身体热得发烫。
“难受。”清清靠在他肩上,“爸爸,我想回家。”
“好,爸爸带你回家。”
老师走过来,交代了注意事项——多喝水,按时吃药,注意观察体温。刘星一一记下,然后抱着清清离开。
回家的公交车上,清清靠在他怀里睡着了,呼吸有些急促。刘星抱着儿子,感受着那个小小的、滚烫的身体,心里涌起一股复杂的情绪——愧疚,心疼,还有……责任。
无论发生什么,无论他多么失败,多么无能,他都是清清的父亲。这个身份,这个责任,他不能逃避,也无法逃避。
到家后,他把清清放在床上,盖好被子。然后去厨房烧水,准备药。动作很熟练,像是做了无数遍。
手机又震了。这次是母亲:“星星,我下午到BJ。你舅舅没事了,我不放心你,还是回来看看你。”
刘星看着那条消息,眼睛突然一酸。无论他多大,在母亲眼里,他还是那个需要照顾的孩子。无论他多么失败,多么落魄,母亲还是会放下一切,回到他身边。
“妈,我去车站接您。”他回复。
“不用,我自己回去。你在家好好休息,我看你最近脸色一直不好。”
刘星没有再坚持。他知道母亲说得对,他现在这个状态,去车站也是添乱。
给清清喂完药,看着儿子又睡着了,刘星才终于有时间坐下来,面对刚才发生的一切。
停职。调查。可能失业。可能承担法律责任。可能……职业生涯就此终结。
他想起自己刚入行时的雄心壮志——要成为顶尖的程序员,要做出改变世界的产品,要在这个行业里留下自己的名字。现在呢?他只是一个可能因为管理失职而被开除的中年男人,一个可能还不起房贷的房奴,一个婚姻破裂的丈夫,一个……失败者。
这个词像一把刀,狠狠扎进他心里。
失败者。他以前从来不敢想这个词,但现在,他不得不面对。他在事业上失败了,在婚姻上失败了,在做人上……也许也失败了。
窗外,天色渐渐暗下来。冬天的夜晚来得早,才下午四点,天就开始黑了。刘星没有开灯,就坐在黑暗里,看着窗外的城市一点点亮起灯火。
手机又震了。这次是赵明。
刘星犹豫了一下,还是接起了电话。
“刘工,”赵明的声音很平静,听不出情绪,“我刚知道今天的事。”
“赵总……”刘星不知道该说什么。
“我不评价你公司的内部问题。”赵明说,“但从技术角度,你在这个项目上的表现,是出色的。那些问题,不该由你一个人承担。”
刘星愣住了。他没想到赵明会这么说。
“我在这个行业干了二十年,见过太多项目,太多人。”赵明继续说,“有些人很聪明,但缺乏责任心。有些人很努力,但缺乏能力。你……你两者都有,但缺乏一样东西。”
“什么?”
“自我保护意识。”赵明说,“你把所有责任都扛在自己肩上,把所有人都当成可信的合作伙伴。这在技术上是美德,但在职场上,是致命的弱点。”
刘星沉默了。赵明说得对。他太相信别人,太想把事情做好,太怕辜负别人的期望。结果就是,当别人犯错时,他成了那个最大的受害者。
“赵总,谢谢您告诉我这些。”
“不用谢。”赵明顿了顿,“刘工,如果……我是说如果,你愿意的话,我这边有个新项目需要人。虽然上海的合同终止了,但银行还有其他项目。你的能力,我是认可的。”
刘星心里一紧:“赵总,您是说……”
“我不是在挖人,也不是在施舍。”赵明说,“我是在投资。投资一个有技术、有责任心的人。当然,前提是你能从这次事件中走出来,能学会在职场上保护自己。”
“我……我需要时间想想。”
“好,我给你时间。”赵明说,“但别太久。机会不等人。”
挂了电话,刘星坐在黑暗里,很久没动。
赵明的话,像黑暗中的一道光。微弱,但存在。也许,他还没有完全失败。也许,还有机会。
但机会的前提是,他必须从这次溃败中站起来。必须承认自己的错误,必须接受自己的失败,必须……重新开始。
这很难。但他必须做。
因为清清还需要他。因为母亲还在担心他。因为张颖……还在等着他,哪怕只是等着一个结果。
因为他是刘星。三十三岁,失败过,痛苦过,迷茫过,但还没有倒下。
他站起来,打开灯。灯光很亮,刺得他眼睛发痛。
他走到清清的房间,看着儿子熟睡的脸。然后走到厨房,开始准备晚饭——母亲下午要回来,清清生病需要营养,他自己……也需要好好吃顿饭。
生活还要继续。无论多么艰难,无论多么痛苦,都要继续。
因为停下来,就意味着真正的失败。
而他还不想认输。
至少,今天还不想。
他打开冰箱,拿出食材。洗菜,切菜,点火,热锅。
厨房里渐渐有了烟火气,有了生活的气息。
窗外的BJ,华灯初上。
无数个窗户里,无数个家庭,无数个故事。
他的故事,还没有结束。
至少,他自己,还不能让它结束。
这就是他此刻,唯一能确定的事。

