同事把烂摊子丢给我我学他摆烂领导问时他:你不管这项目肯定黄啊
会议室的空气凝滞了。
中央空调的低鸣掩盖不了死寂。王总的手指一下下敲着桌面,声音不重,却像锤子砸在每个人的神经末梢上。
他的目光扫过全场,最后定格。
“陆哲,姜渝。”
王总的声音不高,但字字清晰,“‘天穹’的A模块,下周一必须提测。现在这堆bug,谁给我个解释?”
所有的视线瞬间汇聚。
陆哲几乎是弹起来的,身体前倾,手指毫不犹豫地指向对面:“王总,这事儿真不怪我!”
他的语速快而激动,像排练过无数遍。
“我负责的功能早写完了,代码都封版了!但姜渝那边的接口一直调不通,数据过不来,我这边就是摆设啊!我催了多少次,没用!我干着急!”
一番话,责任撇得干干净净。
几个年轻同事交换了眼色,看向姜渝的目光里带了同情或审视。角落里的新人周晓晓攥紧了笔记本,指节发白,欲言又止。
按照过去的剧本,姜渝会沉默,然后低头说“我的问题,我来解决”,接着就是连续的通宵,一个人消化所有。
陆哲等着这个剧本。他甚至准备好了“共渡难关”的漂亮话。
但这一次,姜渝抬起了头。
他没有看陆哲,目光平静地投向王总。然后,他的手落在了面前的笔记本电脑上。
“啪嗒。”
触控板按下的声音,在寂静中格外刺耳。
姜渝的手指在触控板上移动,有条不紊地打开几个窗口。动作不疾不徐,却带着某种不容置疑的力量。
“王总,我的部分,上周三晚上八点零三分,已经全部完成并提交。”
他的声音平稳,只是在陈述事实。
“这是Git提交记录,时间戳精确到秒。提交说明写明:核心接口已实现,可供下游调用。”
屏幕上,绿色的提交日志清晰显示:提交人 Jiang Yu,时间 Wed, Oct 26, 20:03:17。
“这是当天晚上八点零五分,我发给全组的通知邮件,告知接口就绪。收件人包括陆哲,也包括您。”
邮箱界面展开,那封邮件安静地躺在已发送列表里。
陆哲脸上的表情裂开了一道缝。
“从上周三到上周五,陆哲的开发环境没有向我的三个接口发起过任何一次调用请求。服务器访问日志是空的。”
姜渝调出日志监控系统,筛选结果一片空白。
“然后,上周五下午五点三十二分。”
他点开聊天软件,放大一段记录。
发送人:陆哲。
内容是一个压缩包,附言:“家里有急事,先走了。功能差不多写完了,就差最后联调和收尾,你晚上帮我看一下?很简单,你技术好,分分钟搞定。项目要紧,拜托了兄弟!”
下面,是姜渝一分钟后的回复。
“你的工作,你应该自己完成。”
看到这行字,陆哲的脸色瞬间白了。他当时只看到姜渝没立刻答应,以为是默认,根本没注意后面还有这句。
姜渝的声音覆盖了整个会议室。
“我下载了他发的压缩包。里面两百多个文件,代码完全不符合项目规范,变量命名混乱,核心逻辑有根本错误,关键函数甚至是空的,只有一行‘TODO’注释。”
“他说的‘收个尾’,是让我把他几乎没动的代码重写一遍。”
“这些bug,根源在他的代码,不在我的接口。”
“所有记录,随时可查。”
话音落下,会议室陷入死寂。
所有的目光都钉在陆哲身上,震惊,鄙夷,还有看戏的玩味。
周晓晓眼睛发亮,盯着姜渝的侧脸。
王总的手指停在了桌面上。
陆哲的额头渗出冷汗。他想说话,喉咙却像被堵住。证据太硬了,硬得他找不到一丝缝隙。
死寂持续了几秒。
然后,是恼羞成怒的爆发。
陆哲猛地站起来,椅子刮擦地面发出尖叫。
“你什么意思?!”
他的脸涨红,声音拔高,“我们是一个团队!你把这些东西当众摆出来,让我难堪?项目黄了对你有什么好处?你就这么想看团队散伙?”
他开始挥舞道德的大棒。
“一个团队?”
姜渝终于看向他。
姜渝合上了笔记本。
“我的职责,是按时、按质完成我分内的工作。我做到了。”
“替别人完成他的工作,不在我的职责范围内。”
他站起身,椅子被轻轻推开,没有声音。
“谁的问题,谁解决;谁的bug,谁修复。这才是团队。”
“这,叫专业。”
姜渝拿起电脑,看向王总。
“王总,如果没别的事,我先回去优化我自己的代码了。”
他说优化,但所有人都知道,他的部分完美无缺。这只是姿态。
王总看着他,沉默了两秒,点头。
“去吧。”
姜渝转身,径直离开会议室。从始至终,没再看陆哲一眼。
门关上的瞬间,陆哲像被抽了骨头,颓然跌坐回椅子。
会议室的气氛更诡异了。
王总的目光重新落到陆哲身上,那目光里没有情绪,只有审视。
“陆哲。”
王总开口,声音平静得可怕。
“下周一。”
“A模块如果不能按时提测……”
他没有说完,但停顿比任何威胁都有力。
“你自己,看着办。”
说完,王总也起身,整理了一下衣服,离开。
剩下的人面面相觑,然后陆续起身离开。没人跟陆哲说话,甚至没人看他。他像一座被海水包围的孤岛。
周晓晓最后一个走。她到门口,回头看了一眼失魂落魄的陆哲,快步追了出去。
她要去找姜渝。
……
姜渝回到工位,接好电源和显示器。
周围的同事都在假装忙碌,但注意力全在这边。
他打开IDE,调出自己的代码,目光专注。仿佛刚才的会议室风波,只是一场无关的闹剧。
没多久,周晓晓端着一杯水,拘谨地走过来。
“姜渝哥……”
她把水杯轻轻放在桌角。
“刚才……太厉害了。”
姜渝从屏幕上抬起头,看了她一眼。
“我只是做了该做的事。”
“可是以前……”
周晓晓有些激动,“以前你都……”
“以前是以前。”
姜渝打断了她,“人总会变的。”
他的视线回到代码上。
周晓晓看着他专注的侧脸,觉得今天的姜渝哥,和过去那个任劳任怨的老好人,完全不同了。
他多了一种东西。
清晰的边界感。
这时,陆哲脚步虚浮地走了回来。他脸色灰败,路过每个工位都能感觉到那些躲闪或探究的目光。
他走到自己的座位,就在姜渝斜对面。
他没有坐,而是死死盯着姜渝的背影。
办公室里,敲键盘的声音仿佛都停了。
所有人屏住呼吸。
陆哲的拳头握紧又松开,他想冲过去,可会议室里那些证据让他没了底气。
最后,他从牙缝里挤出几个字。
“姜渝,你行。”
“你给我等着。”
说完,他抓起外套,冲出了办公室。
姜渝连头都没回。
他只是敲下几行代码,提交了一个新的commit。
提交说明只有一行:
“优化注释。”
办公室里死寂,只有空调送风的低鸣。
第2章
陆哲冲出去后,那股紧绷的弦没有松开,反而在无声中拉得更紧。办公室里只剩下键盘偶尔的敲击声,每个人都竖着耳朵,用余光捕捉着姜渝那边的动静。
姜渝提交完那个“优化注释”的commit,便关掉了当前窗口。他没有打开项目主干代码,而是新建了一个本地仓库。手指在键盘上快速敲击,一行行干净利落的注释和模块分割的代码开始流淌。
他在梳理自己的核心逻辑,像在打磨武器。
周晓晓还站在旁边,手里的水已经凉了。她看着姜渝近乎冷漠的侧脸,那句“人总会变的”在脑海里回响。她想问什么,却觉得此刻任何问题都是打扰。
王总的助理踩着高跟鞋快步过来,在姜渝桌边停下。
“姜渝,陆哲呢?”
姜渝目光没离开屏幕:“出去了。”
助理皱眉,但没追问,公事公办道:“王总让你们两个现在去他办公室。”
姜渝点了下头,保存,合上笔记本。
他站起身,周晓晓下意识退开半步。看着他走向总监办公室的背影,平稳,没有一丝犹豫。
……
王总的办公室里,烟灰缸里多了个新烟头。
姜渝推门进去时,陆哲已经在了。他应该是被电话叫回来的,脸色比刚才更难看,眼神躲闪,不敢看人。
王总坐在大班椅上,双手交叉放在桌面,目光落在走进来的姜渝身上。
“门关上。”
姜渝反手带上门。
三个人,三种状态。王总审视,陆哲畏缩,姜渝平静。
“我不管你们之间有什么问题。”
王总开口,声音不高,但每个字都沉,“我也不关心谁对谁错,谁代码好谁代码烂。”
他的目光扫过两人。
“我只看结果。”
“下周一,A模块必须提测。如果提不了,”他停顿,视线最终定在陆哲身上,话却是对两个人说的,“你们俩,一起承担后果。”
“听明白了吗?”
陆哲像抓住了救命稻草,连忙点头:“明白了王总!保证完成任务!”
他觉得自己懂了。王总这是在各打五十大板,事情还有转圜余地。只要项目能上线,谁的责任都不会深究。他心底那点火星,又燃了起来。
姜渝没说话,只是看着王总,点了点头。
“出去吧。”
王总挥手,拿起桌上的文件,不再看他们。
陆哲如蒙大赦,第一个拉开门冲了出去。姜渝跟在后面,刚带上门,就被陆哲一把拉住胳膊,拽到了旁边的茶水间门口。
茶水间里没人。
“小渝。”
陆哲的语气一百八十度转弯,声音压得极低,甚至挤出一丝亲热和讨好,“我知道你生气了,今天在会上是我不对,我太急了,说话没过脑子。”
他努力堆起笑容。
姜渝看着他,不说话。
陆哲被看得发毛,硬着头皮继续:“你看,王总也说了,这是我们两个人的事。现在项目这么紧,客户催命似的,我们不能掉链子,对吧?”
他凑近些,声音更低了,带着分享秘密的口吻。
“这关系到团队荣誉,也关系到我们俩的年终奖啊。你先帮我把这关过了,行不行?就这一次,我保证,以后绝对不这样了。”
“等项目上线,我请你吃饭,吃大餐!地方你挑!”
他熟练地画着饼,用着过去每一次都能奏效的话术。团队,荣誉,兄弟,情义。
听着这些词,姜渝的思绪飘回了半年前。
一个周五的深夜。
熟睡中的姜渝被电话铃声炸醒。线上服务器大规模宕机,用户无法登录。运维查了一圈,定位到陆哲负责的新用户模块有逻辑漏洞,耗尽了数据库连接池。
陆哲的电话打不通。
姜渝被紧急叫回公司,一个人对着陆哲留下的那堆乱麻般的代码,查到凌晨四点,才找到那个隐藏极深的bug。
服务恢复时,天都快亮了。他在公司沙发上睡了两个小时,继续上班。
周一的复盘会上,陆哲顶着黑眼圈,拿着姜渝连夜写的故障报告,面色沉痛地向所有人汇报他“如何在深夜临危不乱,奋战数小时,最终成功解决问题”。
王总当场表扬了陆哲的“责任心”和“担当”。
从头到尾,没人提姜渝的名字。
姜渝坐在会议室角落,看着陆哲表演。结束后,陆哲拍着他的肩膀笑:“谢了啊兄弟,改天请你吃饭。”
那顿饭,到今天也没影子。
还有一次,三个月前。
重要客户来公司考察,陆哲负责准备核心功能的技术介绍文档。演示当天,客户方的技术专家当场指出了文档里十几处低级错误和数据矛盾。
场面极其尴尬。
王总的脸当场就黑了。
会后,王总把文档摔在陆哲桌上,只说了一句:“明早上班前,我要看到新的。”
那天晚上,陆哲在微信上给姜渝发了一百多条语音,说自己家里有急事,说自己状态不好,求姜渝无论如何帮他一把。
姜渝心软了。
他一个人在公司,对着原始需求和代码,熬了两个通宵,几乎把几十页的文档全部重写了一遍。
第三天早上,姜渝顶着布满血丝的眼睛,把文档发给了陆哲。
陆哲收到后,只回了两个字:“辛苦。”
然后,他把文档作者的名字改成自己,发给了王总。
“小渝?姜渝?你在听吗?”
陆哲的声音把姜渝拉回现实。
姜渝看着眼前这张堆砌着“诚恳”的脸,那些被遗忘的疲惫和屈辱,在这一刻无比清晰。
每一次的“帮我一次”,都是下一次变本加厉的序曲。
每一次的“团队荣誉”,最后都成了陆哲一个人的功劳。
每一次的“以后请你吃饭”,都只是空头支票。
够了。
“饭就不必了。”
姜渝开口,声音没有一点温度,在安静的茶水间里清晰回荡。
陆哲脸上的笑容僵住。
“你的代码,你自己改。”
姜渝的眼神平静地直视着陆哲的眼睛,那里面没有愤怒,没有嘲讽,什么都没有。像看一个陌生人。
“我还有自己的优化任务。”
说完,姜渝不再看他,径直从他身边走了过去。
陆哲下意识伸手去拉,手伸到一半,停在半空,又无力地垂下。
他一个人站在原地,茶水间门口明亮的灯光照在他脸上。那张脸的血色一点点褪去,从错愕,到难以置信,最后扭曲成一片阴沉的青灰。
“好……好……”
他看着姜渝消失在走廊尽头的背影,从牙缝里挤出两个字。
姜渝回到工位,重新打开电脑。
他没有碰陆哲留下的烂摊子,甚至没登录公司项目服务器。他在自己的本地环境里,新建了一个文件夹,命名为“天穹-预案B”。
他打开自己负责的核心数据处理模块,开始梳理每一个对外接口。参数类型、用途、边界条件、异常处理……他把所有能想到的细节,写成详尽的注释文档。
接着是测试用例。正常流程、异常流程、边界值、压力测试。他覆盖了所有能预想到的情况,确保自己这部分无懈可击。
然后,他开始编写“B计划”的核心调度逻辑。如果陆哲的用户模块最终无法接入,这个备用方案可以绕过它,直接调用一套最基础的用户鉴权服务,保证项目最核心的功能能独立运行、先行上线。
工作量不小,但他做得条理分明,手指在键盘上稳定地敲击。
窗外的天色渐渐暗下来。
办公室的人陆续下班,经过姜渝工位时,脚步都放轻了些。周晓晓走之前,犹豫了一下,还是小声说了句“姜渝哥,我先走了”。
姜渝“嗯”了一声,没抬头。
他沉浸在自己的世界里,构建着最后的防线。
做完一切,他将所有文档、代码、测试报告打包,加密,存进一个私人U盘,然后清空了本地所有相关记录。
关掉电脑时,窗外已是华灯初上。
手机屏幕,从下午开始就没暗过。
第3章
手机屏幕固执地亮着,锁屏界面上堆满了通知。微信图标上的红色数字不断跳动,从几十跳到上百。
姜渝拿起手机,解锁。
陆哲的消息洪水般涌了进来。
最早是下午五点多,茶水间分开后不久。
“兄弟,我真错了,刚才态度不好,你别往心里去。”
“帮帮我,就这一次,我真的搞不定。”
“小渝,你技术最好,除了你没人能救我了。”
姜渝面无表情地向上滑动。
到了晚上七点多,语气开始变化。
“你什么意思?电话不接微信不回?我们是一个团队,你不能这么自私吧?”
“项目延期了对谁有好处?王总怪罪下来,我们俩都得吃挂落!”
“就因为我上次忘了请你吃饭?你至于吗?心眼也太小了。”
姜渝没回,把手机调成静音,屏幕朝下扣在桌上。
他去厨房煮了碗面。清汤,青菜,一个煎蛋。吃完,把碗洗干净。
回到客厅,手机还在顽强地震动。
晚上九点之后,消息变成了彻底的谩骂。
“姜渝,你行,你真行。装什么清高?”
“你以为没了你,项目就转不了了?我告诉你,别给脸不要脸!”
“你等着,周一开会,我看你怎么跟王总交代!”
一连串的感叹号,充满了屏幕。
姜渝拿起手机,解锁。他无视了那上百条未读和几十个未接来电记录,点开和陆哲的对话框,平静地敲下一行字。
“工作时间以外不处理工作事宜,请知悉。”
点击,发送。
然后,他点开陆哲的个人资料页,右上角,开启“消息免打扰”。
世界瞬间清净。
他把手机扔到沙发角落,坐回茶几前,打开笔记本电脑。屏幕上是“预案B”的架构图,他调出代码,开始进行第二轮边界条件测试。
窗外的夜色越来越浓。
……
另一边,空无一人的办公室里,陆哲死死盯着手机屏幕上那条冷冰冰的回复。
“工作时间以外不处理工作事宜,请知悉。”
每一个字都像一记耳光。
他猛地举起手机,想砸,又硬生生忍住。手在空中剧烈颤抖,最后“砰”地一声闷响,手机被狠狠掼在桌面上。
屏幕裂开一道细纹。
电脑屏幕上,代码密密麻麻。那个导致演示崩溃的核心bug像个幽灵,他查了一整天,越改问题越多。整个用户模块现在像一栋歪斜的危楼,加一块砖都可能彻底坍塌。
恐惧和愤怒在胸腔里冲撞,让他呼吸困难。
他不能让项目死在自己手里。绝对不能。
陆哲喘着粗气,抓起裂了屏的手机,解锁,指纹识别了好几次才成功。
他点开了那个有王总和所有项目组成员的微信群——“‘凤凰计划’核心攻坚组”。
他环顾四周。凌乱的工位,喝了一半的冷咖啡,屏幕上滚动的错误日志,窗外沉沉的夜色。他调整角度,拍了一张照片。
照片里,桌面杂乱却“充实”,屏幕上的代码模糊但“复杂”,窗外的黑暗衬托着“孤独奋战”的悲情。
他把照片发到群里。
陆哲:“唉,又是一个在公司独自奋战的夜晚。为了项目能准时上线,拼了。”
发完,他盯着屏幕,等。
几秒后,群里跳出回复。
同事A:“陆哥辛苦了!注意身体啊!”
同事B:“陆哥牛逼!项目顶梁柱!”
陆哲看着这些回复,手指快速敲击,发出第二段话。这才是他真正的目的。
陆哲:“没事,辛苦点不算什么。就是觉得有点寒心。项目马上就要交付,火都烧到眉毛了,有的人却一点集体荣誉感都没有,心安理得地在家享受周末,电话不接,消息不回。真不知道项目延期了,这个责任谁来负。”
这段话没有点名。
但项目组里,谁都知道现在只有陆哲负责的模块出严重问题。而能解决这个问题、却又“在家享受周末”的人,除了姜渝,还能有谁?
群里瞬间安静了。
刚才附和的几个同事,此刻都像消失了,没人敢接话。
谁都看得出,这是把刀子直接对准了姜渝。
最关键的是,王总,就在这个群里。
时间一分一秒过去。陆哲盯着屏幕,手心冒汗。
新消息提示终于弹出。
是王总的头像。
王总发了一个表情。一个点赞的大拇指。
然后,他@了陆哲。
王总:“辛苦了,陆哲。有担当,有责任心,这才是我们团队需要的精神。项目在关键时刻,正需要你这样能扛事的人。加油。”
王总的发言,一锤定音。
陆哲看着那行字,脸上扭曲的表情一点点舒展开,最后化成一抹冰冷的、得意的笑。
他迅速回复:“谢谢王总肯定!保证完成任务!”
接着,他切到朋友圈,发了一条动态,仅对公司同事可见。
还是那张加班照片,配文更加煽情:“总有人要负重前行。晚安,奋斗的人。”
做完这一切,陆哲靠进椅背,长长地、畅快地吐出一口气。
他拿起裂屏的手机,点开和姜渝的对话框。那条“工作时间以外不处理工作事宜”的回复还躺在那里。
他打字,删除,又打,最后还是没发出去。
他把手机扔回桌上,双手枕在脑后,看着天花板的日光灯。
姜渝,我看你周一怎么收场。
你不是能耐吗?不是清高吗?
现在所有人都知道你临阵脱逃,没有担当。王总也站在我这边。
到时候,项目延期,这口黑锅,你不背也得背。
他闭上眼,想象着周一会议上姜渝百口莫辩的样子,嘴角的笑意越来越深。
窗外,夜色浓得化不开。
……
周晓晓在家里,盘腿坐在沙发上,抱着零食,手机屏幕的光映在她脸上。
她看到了群里的消息。看到陆哲的照片,看到他那段含沙射影的话,看到王总的点赞和回复。
她的心一下子提了起来。
她下意识点开和姜渝的私聊窗口,手指悬在键盘上。
“姜渝哥,群里……”
打了几个字,她又删掉了。
她只是个新人。这种神仙打架的场面,她掺和不起。而且,姜渝哥今天的态度那么明确,他……应该有自己的打算吧?
可是,王总都表态了。周一开会,姜渝哥会不会很被动?
她纠结着,零食也忘了吃。
最后,她什么也没发,只是关掉了群聊,点开一部综艺,却怎么也看不进去。
周一,上午九点。
“凤凰计划”的最终评审会,在最大的会议室举行。
气氛有些古怪。项目组的成员们早早到场,坐姿端正,却忍不住用眼角余光去瞟门口。
周末群里的那场风波,每个人都看见了。
陆哲的悲情加班,王总的点赞力挺,矛头直指“失联”的姜渝。
所有人都觉得,姜渝今天麻烦大了。
九点整,姜渝推门进来。
他穿着平常的衬衫,背着那个旧电脑包,神色平静得像周末只是去散了趟步。他走到自己的惯常位置坐下,打开笔记本,接入电源。
全程没有看任何人。
几分钟后,陆哲也进来了。他刻意挺直了腰板,但浓重的黑眼圈和眼睛里遍布的血丝出卖了他。他看起来很疲惫,却又带着一种古怪的亢奋。
他把一杯外带咖啡重重放在桌上,发出不大不小的声响,成功吸引了主位上王总的注意。
王总看了他一眼,又看了看另一边已经落座的几位客户代表,点了点头。
“陆哲,”王总开口,声音沉稳,“你先来吧。把周末攻坚的成果,给客户方演示一下。”
第4章
“好的,王总。”
陆哲应了一声,声音带着熬夜后的沙哑。他清了清嗓子,将电脑连接上投影仪。屏幕亮起,是他精心准备的演示界面,背景图是燃烧的凤凰,颇具视觉冲击力。
“王总,各位客户代表,”陆哲努力让声音听起来沉稳有力,“经过我和团队部分同事周末的全力奋战,‘凤凰计划’的核心交易模块,已经完成了关键攻坚,基本功能全部实现。”
他看了一眼王总,王总微微颔首。
陆哲深吸一口气,点开演示程序。一个设计精美的模拟电商界面出现在大屏幕上。
“首先,我们演示最核心的用户下单流程。”
他的鼠标移动到那个显眼的“立即购买”按钮上,语气带着一丝不易察觉的紧张,“我们点击这里。”
他点下鼠标。
屏幕上,那个按钮的样式变成了“按压”状态。然后,一个精致的、带着公司logo的加载动画开始旋转。
一秒。
两秒。
会议室里很安静,只有投影仪风扇的嗡嗡声。
五秒。
加载圈还在转。
陆哲的额头渗出了一点汗。他扯出一个笑容,解释道:“可能是演示环境第一次加载,需要一点初始化时间,很正常。”
他嘴上说着,手指在触摸板上快速点了几下,试图取消操作,或者切换到其他页面。
屏幕卡住了。
鼠标指针凝固在那个旋转的logo上,一动不动。
客户方一位戴眼镜的代表皱起了眉,侧头和旁边的人低声说了句什么。
陆哲的脸色开始发白。他按了Esc,没反应。他直接移动鼠标去点程序窗口的关闭按钮。
依然没反应。
程序像死了一样。
“不好意思,开发环境有时候不太稳定。”
陆哲的声音有点干,他强制按了Ctrl+Alt+Delete,调出任务管理器,强行结束了演示程序进程。
屏幕黑了一下,又回到桌面。
“我们……我们重启一下程序,直接看后台数据管理部分,这部分更稳定。”
陆哲的语速快了些,他重新点开程序,这次跳过了花哨的前端界面,直接进入一个看起来像是管理后台的页面。
“这里可以看到所有用户的交易记录,支持多条件筛选和导出……”
他一边说,一边点开一个名为“订单查询”的菜单。
屏幕短暂地白了一下。
然后,像是打开了某个错误的潘多拉魔盒,一长串混乱的字符、数字和破碎的英文单词,夹杂着红色的错误提示,瀑布一样疯狂地刷了出来!
不是数据。
是乱码和报错信息。
紧接着,一个鲜红的、巨大的弹窗占据了屏幕正中央。
“Fatal Error: Null Pointer Exception at line 384, module UserService.”
系统彻底崩溃。
整个会议室,鸦雀无声。
空气仿佛被冻住了。客户代表的脸色全都沉了下来。王总放在桌上的手,手指缓缓收拢,握成了拳。
陆哲的手指僵在触摸板上,微微颤抖。他的脸由白转青,额头上瞬间布满了细密的冷汗。
“陆哲。”
王总的声音响了起来,没有吼叫,没有怒斥,只是平静地叫了他的名字。但这平静之下,是即将爆发的火山。
陆哲浑身一颤,几乎是从椅子上弹起来,手忙脚乱地去拔投影仪的HDMI线。线头卡了一下,他用力一扯,终于拔掉。
那刺眼的错误画面从投影上消失了,但已经深深烙在每个人眼里。
“王总,不是的!您听我解释!”
陆哲猛地转向王总,声音因为急切而尖锐,他又使出了最熟练的那一招——甩锅,并且要甩得狠,甩得彻底。
“问题不在我这里!是……是姜渝给我的数据接口!他的接口一直不稳定,返回的数据格式也总是在变!我整个周末都在调试他的接口,怎么调都调不通!我发消息他也不回,电话也不接,我一个人根本没办法!巧妇难为无米之炊啊王总!”
他的手指,直直地指向了坐在一旁,从始至终一言不发的姜渝。
精准,狠毒。
一瞬间,会议室里所有的目光,包括客户代表们审视的、不悦的视线,全都聚焦在了姜渝身上。
质疑,审视,等待,幸灾乐祸。
王总的脸色阴沉得能滴出水来。他转向姜渝,目光里的压迫感几乎化为实质。
“姜渝,”他的声音因为极力压抑怒火而显得有些扭曲,“是这样吗?”
所有人的呼吸都屏住了。
周晓晓在角落捏紧了拳头,指甲陷进掌心。
陆哲看着姜渝,眼底深处藏着一丝疯狂的得意。对,就是这样,把火引过去!
在所有人复杂的注视下,姜渝终于有了动作。
没有辩解。
没有慌乱。
甚至没有立刻回答王总的问题。
他平静地站了起来,椅子向后滑动,发出轻微的声响。然后,他拿起自己的笔记本电脑和那根HDMI线,走向会议桌前方。
在陆哲惊愕的目光中,姜渝伸手,拿起了还连在陆哲笔记本另一端、垂在桌边的HDMI线头,轻轻拔掉。
接着,他把自己带来的线,一端接上自己的电脑,另一端,稳稳地插入了投影仪的接口。
“咔哒。”
接口嵌合的清脆声音,在死寂的会议室里,清晰得惊人。
投影屏幕闪烁了一下,切换成了一个极其干净、没有任何多余装饰的桌面。
姜渝这才抬头,目光扫过王总,掠过客户代表,最后平静地开口,声音不大,却足以让每个人都听清楚。
“王总,各位,接下来,由我演示我负责的用户认证与核心数据接口部分。”
他的手指在键盘上敲击两下,一个命令行终端和一个小小的网页测试工具同时打开。界面简陋,但异常清晰。
“首先,用户登录接口,测试账号:test_user。”
他在终端输入一行curl命令,回车。
屏幕上的测试工具页面瞬间刷新,显示:“登录成功。用户ID:10001,Token:”
响应时间毫秒级。
“获取该用户完整信息。”
又一行命令。
JSON格式的用户数据清晰、完整地展示出来,字段规整,无一错漏。
“模拟一千个并发用户,同时请求下单接口。”
姜渝打开一个提前写好的Python压力测试脚本,点击运行。
终端里,数据开始飞速滚动。
“请求开始……请求结束。耗时:3.2秒。”
“总计1000次请求,成功1000次,失败0次。平均响应时间:45毫秒。”
流畅。稳定。快速。
和刚才陆哲那一步一卡、最终崩溃的演示,形成了毁灭性的、残酷的对比。
客户代表那边,有人轻轻“啧”了一声,看向姜渝的眼神完全变了,带着明显的欣赏和惊讶。
姜渝没有停下。他关掉测试工具和终端,打开了一个PDF文件。
“所有接口,均经过了超过72小时的不同断压力测试与稳定性测试。这是完整的测试报告。”
投影上,出现了一份格式极其专业、图文并茂的PDF。各种响应时间曲线图、成功率统计表、资源占用监控图,数据详实,结论明确。
报告最后一页,用加粗字体写着结论:“所有接口在高并发、长时间运行环境下表现稳定,未发现性能瓶颈及内存泄漏,符合生产环境上线标准。”
会议室里,只剩下空调微弱的风声。
如果说刚才的演示是眼见为实,那这份报告就是无可辩驳的铁证。
陆哲站在一旁,脸上的血色已经褪得一干二净,嘴唇不受控制地哆嗦着。他看着那些他根本写不出来、甚至看不太懂的图表和数据,脑子里一片空白。
这还没完。
姜渝将报告最小化,打开了邮箱客户端。
“另外,关于陆哲刚才提到的,接口不稳定、数据格式总变的问题。”
他的鼠标精准地点开一封“已发送”邮件。
收件人:陆哲。抄送:王总及项目组全体。
发件时间:上周三,下午4点15分。
邮件主题:关于“天穹”项目核心接口V2版文档及调用说明。
“这里,是我上周三下午发出的最终版接口文档和使用说明。”
姜渝点开邮件的附件,一个名为“API_V2_Specification.pdf”的文档在屏幕上打开。
姜渝的鼠标,稳稳地停在那行刺眼的红色文字上。
“文档第三页起,详细说明了V2接口的调用方式、所有参数的定义、约束以及返回数据的标准格式范例。”
他抬起头,看向面如死灰的陆哲,又转向王总,声音清晰平稳。
“根据服务器访问日志,陆哲演示的程序,调用的全部是已经废弃的V1接口。这些接口因为底层逻辑变更,自然无法返回正确数据,并会导致调用方程序异常。”
“他刚才演示中出现的‘Null Pointer Exception’等错误,根源在此。”
姜渝说完,合上了自己电脑的屏幕。
“他似乎,并没有查阅这份我多次提醒、并明确标注了重要性的文档。”
真相大白。
不是接口有问题。
是有人根本不用正确的接口。
不是不配合。
是有人拿着过时的地图,在迷宫里撞得头破血流,还怪画地图的人。
陆哲周末那场“独自奋战”的悲情戏,在群里对姜渝的所有指责,王总的那个点赞……在这一刻,全部变成了一个无比响亮、无比讽刺的笑话。
一个证明他既无能,又愚蠢,且毫无责任心的笑话。
会议室里,是更长久的、令人窒息的死寂。
第5章
死寂在会议室里蔓延,沉甸甸地压在每个人心头。投影屏幕还停留在那封邮件附件的第一页,那行红色加粗的警告文字,像一记无声的耳光,抽在陆哲脸上,也抽在周末曾为他点赞的王总脸上。
项目组的同事们连呼吸都放轻了,目光在陆哲惨白的脸和姜渝平静的面容之间游移,最后都小心翼翼地避开,盯着自己面前的笔记本或桌面。
周晓晓在角落里,紧紧捂着嘴,才没让自己倒吸凉气的声音太明显。她看着站在投影前的姜渝,只觉得一股热血直冲头顶,眼睛亮得惊人。
太帅了。
这反击,没有一句情绪化的指责,全是硬邦邦的证据,逻辑清晰,层层递进,直接把对手钉死在原地,连挣扎的余地都没有。
陆哲站在那里,身体细微地颤抖着。他想开口,嘴唇翕动了几下,却只发出一点含糊的气音。他能说什么?说自己没看邮件?邮件记录就在那里。说看不懂文档?那等于承认自己是废物。所有的借口,都被姜渝提前用事实堵死了。
王总的目光,从屏幕上那刺眼的红色警告,移到陆哲灰败的脸上,再移到姜渝那里。他的脸色经历了一场剧烈的变化,从阴沉,到错愕,再到一种被愚弄后的、极力克制的震怒。
他想起了自己周末在群里发的那个大拇指,说的那句“有担当,有责任心”。
现在回想,每一个字都像在嘲笑他自己的愚蠢。
客户代表们交换了一下眼神。为首的那位负责人清了清嗓子,打破了令人窒息的沉默。他没有看陆哲,而是直接面向王总,语气平和,但话里的分量却很重。
“王总,看来,贵方项目组内部的沟通协作,存在一些比较严重的问题啊。”
他顿了顿,意有所指地补充道,“技术的项目,最终还是要靠扎实的技术能力和严谨的流程来保证质量。姿态和口号,解决不了实际问题。”
这句话,像最后一根稻草,彻底压垮了王总摇摇欲坠的耐心和脸面。
他转向陆哲,每一个字都像是从冰窖里捞出来的,带着刺骨的寒意。
“陆哲,”王总的声音不高,却让陆哲打了个寒颤,“你,还有什么要说的?”
陆哲的身体晃了一下,几乎站立不稳。他张大了嘴,喉咙里发出“嗬嗬”的声音,像离水的鱼,却拼凑不出一句完整的话。
“我……我……”
他的眼神慌乱地四处飘移,不敢看王总,也不敢看任何人,最后只能死死地盯着地面,仿佛那里能裂开一条缝让他钻进去。
“看来是没有了。”
王总不再看他,仿佛多看一眼都是浪费生命。他转向所有项目组成员,也对着客户代表,声音恢复了某种强制性的平稳,但那平稳之下是汹涌的暗流。
“今天的演示会,就到这里。非常抱歉给各位客户代表带来了不好的体验,也暴露了我们内部管理的问题。”
他对客户代表们勉强挤出一个职业化的笑容:“请各位放心,问题我们会立刻、彻底地处理,绝不会影响项目的最终交付质量和时间。后续的具体事宜,我会让项目经理单独与各位对接。”
送走面色不虞的客户代表后,王总关上了会议室厚重的隔音门。
“咔哒。”
落锁的声音不大,却像一道闸门,将所有的噪音隔绝在外,也将会议室变成了一个封闭的审判场。
王总没有回到主位,他就站在门边,转过身,看着像一截木头般杵在那里的陆哲。
“你,”他指了指陆哲,又指了指会议桌,“现在,立刻,坐回去。给我写一份详细的情况说明。从周五晚上你发给姜渝那个压缩包开始,到周末你所谓的‘调试’,再到今天演示的所有问题,原原本本,一字不漏地写清楚。”
他的声音里没有任何情绪,只有冰冷的命令。
“还有,从此刻起,‘凤凰计划’这个项目,你不用再跟进了。你手头所有相关的工作和资料,下班前全部交接给项目经理。”
陆哲猛地抬头,脸上最后一丝血色也消失了,眼中充满了绝望和哀求:“王总,我……”
“我不想再听任何解释。”
王总打断他,语气斩钉截铁,“写你的说明。今天下班前,我要看到它放在我办公桌上。”
说完,王总不再理会陆哲,他的目光越过这个已经垮掉的下属,落在了从演示结束后就安静坐在原位、仿佛一切都与自己无关的姜渝身上。
那目光,无比复杂。
有震惊,有难以置信,有被事实冲击后的茫然,还有一丝连他自己都未曾察觉的……忌惮。
“姜渝,”王总开口,声音放缓了一些,但依旧带着上位者特有的压力,“你留一下。”
姜渝抬眼,与他对视,点了点头。
王总走回主位坐下,揉了揉眉心,显得异常疲惫。他对其他还呆坐在会议室里的项目组成员挥了挥手。
“你们都先出去吧。该干什么干什么。”
如蒙大赦。众人立刻起身,收拾东西,低着头鱼贯而出,没有人敢发出大的声响,更没有人去看陆哲一眼。
周晓晓走在最后,她担忧地看了一眼姜渝,姜渝对她微微摇了下头,示意她没事。周晓晓抿了抿唇,快步离开了。
会议室的门再次关上。
现在,房间里只剩下三个人。
瘫在椅子上,面如死灰、双目空洞的陆哲。
坐在原位,神色平静如水的姜渝。
以及坐在主位,脸色变幻不定、疲惫与怒意交织的王总。
空气再次凝固。
陆哲像是被抽走了最后一点力气,挣扎着从椅子上爬起来,脚步虚浮地朝门口挪去,背佝偻着,不敢看任何人。
“站住。”
王总的声音再次响起,不大,却让陆哲浑身一僵,钉在原地。
“我刚才说的话,听明白了?”
王总没有回头,声音从背后传来。
“……明,明白了,王总。”
陆哲的声音细若蚊蝇,带着哭腔。
“出去。”
陆哲几乎是踉跄着扑到门边,拉开门,逃也似的消失在门外。
门轻轻弹回,掩上。
会议室里,终于只剩下姜渝和王总两个人。
王总没有立刻说话。他盯着面前空无一物的桌面,手指无意识地敲击着光滑的木质表面,发出单调的“笃笃”声。
就这样过了足足一分钟。
他才终于抬起头,看向姜渝。那眼神里的情绪太过复杂,审视、懊恼、困惑,最终都化为一种深沉的、力不从心的疲惫。
“今天的事,”王总开口,第一句话,出乎意料地,是承认错误,“是我的问题。”
姜渝安静地听着,没有接话。
“是我对项目的细节把控不够,对人员的判断出了问题,差点造成无法挽回的后果。”
王总的声音带着一丝沙哑,他顿了顿,目光落在姜渝脸上,语气艰涩,“我向你道歉。”
姜渝微微欠身,依旧没有说什么。道歉对她而言并不重要,重要的是结果。
王总似乎也明白这一点,他没有在道歉上停留,话锋陡然一转,切入核心,语气也变得锐利起来。
“但是,姜渝,”他身体前倾,目光紧紧锁定姜渝,“既然你的接口早就没问题,演示也完美,甚至周末还在完善……那你为什么,不早点说?为什么眼睁睁看着陆哲在错误的路上折腾两天?为什么看着项目陷入这种风险?你明明有能力阻止,为什么选择沉默?”
质问,一句接一句,带着管理者习惯性的追责思维。
既然陆哲已经被证明是废物,那么,这个有能力却“知情不报”、让局面恶化到如此地步的员工,是不是也有责任?
姜渝迎着王总审视的目光,脸上没有任何被质问的慌乱或委屈。
她只是平静地反问:“王总,您怎么确定,我没有说?”
第6章
姜渝的反问,像一颗小石子投入死水,在王总紧绷的心绪里激起细微的涟漪。
“我怎么确定你没有说?”
王总眉头皱起,下意识重复了一遍,语气里带着被顶撞的不悦,“如果你说了,事情怎么会闹到今天这个地步?”
“因为您没有看到,或者,您选择性地忽略了。”
姜渝的声音依旧平稳,她重新打开了自己的笔记本电脑。屏幕亮起的光映在她脸上,显得轮廓分明。
“第一次,是两周前,‘凤凰计划’第一次全模块集成测试。”
她的手指在触控板上滑动,点开了邮件客户端,熟练地输入搜索关键词,找到了一封邮件。
“集成开始半小时后,系统频繁出现数据库连接超时,导致核心交易流程卡死。”
姜渝将电脑屏幕转向王总,让他能清楚地看到邮件内容。
发件人:姜渝。
收件人:项目组全员,抄送王总。
发送时间:两周前的周五,晚上23点47分。
邮件主题:紧急关于集成测试中数据库性能问题的分析与临时解决方案。
“那天晚上,我和运维一起定位到问题根源,是陆哲负责的用户模块中,一个高频调用的查询语句使用了错误的多表关联方式,且没有走索引,导致全表扫描,拖垮了数据库。”
姜渝点开邮件正文,里面是清晰的技术分析,甚至附上了有问题的代码片段和优化后的代码对比。
“我在邮件里明确指出了问题所在,给出了修复方案,并提醒该问题需要陆哲在其模块中修正。邮件发送时间接近午夜。”
王总的目光落在那封邮件上,发送时间戳清晰刺眼。他努力回忆,却只记得那段时间项目群里有人提过一句“数据库有点慢,在查”,后来好像很快就好了。他每天处理大量邮件,这种深夜的技术细节报告,他很可能只是扫了一眼标题,甚至根本没打开。
“第二次,”姜渝没有给王总太多消化时间,继续操作电脑,“就是上周三,我发送最终版接口文档的邮件。我在邮件正文和文档首页,用最醒目的方式标注了旧接口废弃和新接口启用的信息。这份文档,是后续所有开发联调的基础。”
她切回那封已经展示过的邮件,再次指向那行红色加粗的警告。
“第三次,是今天会议开始前,陆哲演示崩溃后,他当众指责是我的接口问题。”
姜渝看向王总,“我当场进行了澄清和演示。”
“王总,”姜渝合上电脑,目光坦然,“我的职责,是保质保量完成我的工作,并在发现合作方问题或风险时,通过正式渠道进行同步和预警。这些,我都做了。”
“至于我的预警是否被合作方重视,我的文档是否被认真阅读,以及……”
她停顿了一下,语气没有丝毫变化,“管理者是否从这些预警中察觉到项目风险并介入,这,似乎超出了我的职责范围。”
言外之意,清晰无比。
我作为一个执行者,能做的、该做的,已经全部做到,而且做得无可指摘。
我把问题一次又一次,白纸黑字地摆在了你的面前。
是你,作为管理者,没有履行你督导、协调、风险管控的职责。
会议室里再次陷入沉默,但这次沉默的意味截然不同。
王总的脸颊肌肉难以控制地抽动了一下。他想反驳,想强调管理者的宏观视角和员工的主动沟通义务,可姜渝的话像一把精准的手术刀,把他试图构建的理由一层层剥开。
邮件记录,时间戳,文档警告……这些都是无可辩驳的事实。
他感到一阵强烈的窒息感,不仅是因为被打脸,更是因为一种认知被颠覆的眩晕。他一直以为姜渝是那种埋头干活、不善沟通、需要被推动的老黄牛。可现在他才发现,这头“老黄牛”不仅技术顶尖,做事极有章法,而且边界清晰得可怕。
她不是不沟通,而是用最职业、最无可挑剔的方式在沟通。
是他自己,选择了忽视。
这种认知的落差,让他既愤怒,又莫名地感到一丝心虚。
“而且,”姜渝的声音再次响起,打破了令人难堪的寂静,“王总,您刚才说我‘看着项目陷入风险’,这一点,我也不能认同。”
她重新打开电脑,在桌面上点开一个之前谁也没有注意到的文件夹。
文件夹的名称很简单:“天穹-预案B”。
“考虑到核心模块对接方可能出现的技术风险,为了确保项目在最坏情况下,核心功能仍能按时交付客户,我利用上周末的时间,准备了一套紧急预案。”
姜渝一边说,一边运行了预案包里的主程序。
投影屏幕再次亮起,一个界面简洁、但功能完整的系统模拟环境出现。这个界面和她刚才演示的完整版有些相似,但更精简,去掉了所有花哨的前端效果。
“这套‘预案B’,完全绕过了与问题模块的强耦合,基于最基础的鉴权服务,重构了核心业务流程。它保证,即使陆哲负责的部分完全无法整合或需要推倒重来,我们也可以在约定时间内,向客户交付一个功能完整、运行稳定的核心版本。”
她在演示界面中快速操作。登录、查询、模拟下单、查看记录……所有核心功能流畅运行。
“非核心的辅助功能和优化,可以在保证主线稳定的前提下,后续迭代补充。这样,可以将项目延期的风险和对客户信誉的影响,降到最低。”
姜渝说完,将电脑转向王总,屏幕上是预案的架构设计图和核心代码目录。
“王总,我从没有,也绝不会,坐视我参与的项目陷入真正的、无法挽回的风险。”
“我的工作方式,是解决问题,并为问题准备解决方案。无论这个问题,来自技术,还是来自合作方。”
最后一句话,她说得很轻,却重若千钧。
这一刻,时间仿佛真的静止了。
王总怔怔地看着屏幕上那个名为“预案B”的文件夹,看着里面条理分明的文档和代码,看着姜渝平静无波的脸。
如果说之前的演示和邮件是证明了她的清白和能力。
那这个“预案B”,就是一颗真正的王炸。
它炸碎的不仅是陆哲的可笑伪装,更是王总作为管理者最后一点试图维持的、摇摇欲坠的权威和颜面。
他刚刚还在质问姜渝为什么看着风险发生。
而姜渝用实际行动告诉他:我不仅看到了风险,我还默默地、一个人,为这个风险准备好了最后的保险,兜住了整个项目的底。
他周末在群里为陆哲的“加班”点赞。
他刚才在会上对姜瑜的严厉质问。
现在回想,都像是一个蹩脚演员在真正的巨匠面前拙劣的表演。
王总感觉自己的脸颊火辣辣地疼,仿佛被无形的巴掌反复抽打。
他张了张嘴,想说点什么,却发现任何语言在此刻都苍白无力。
许久,他才从干涩的喉咙里挤出几个字。
“这个预案……你什么时候开始准备的?”
第7章
“从上周三,我发出最终版接口文档之后。”
姜渝的回答没有任何迟疑,“当我确认我负责的部分已经达到交付标准,而合作方对接状态不明时,风险预案就应该启动。”
她说得理所当然,仿佛这是一个技术人员的本能。
王总沉默了。上周三……那是陆哲还在群里高谈阔论、私下发压缩包甩锅的时候。姜渝在完成自己工作的同时,就已经开始为最坏的情况做打算了。
这种超前的风险意识,这种不声不响就把退路铺好的执行力,和他过去对姜渝“被动”、“需要推动”的印象,形成了天壤之别。
疲惫感更深地席卷了他。他挥了挥手,像要驱散眼前无形的压力。
“好,预案B的事,我知道了。”
王总的声音透着浓浓的倦意,“项目的事,我会安排人按你的预案推进,确保核心功能按时交付。”
他顿了顿,目光重新聚焦在姜渝脸上,那里面审视的意味更重了。
“现在,我想问你另一件事。”
王总的身体微微前倾,双手交握放在桌上,这是一个准备深入交谈的姿态,“陆哲……他在过去的项目里,也是这样吗?”
这个问题,才是他留下姜渝的真正目的。
他需要知道,自己管理的团队里,这颗毒瘤到底埋了多久,造成了多大的潜在危害。他需要重新评估过去所有那些“成功”项目,背后是否都隐藏着类似的欺瞒和风险。这关系到他的管理根基。
姜渝没有立刻回答是或不是。
她只是重新将手放回了笔记本电脑上。
“王总,事实比任何主观判断都更有力。”
她调出了一个本地文件管理器窗口,里面有几个按项目名称命名的文件夹:“火鸟”、“星尘”、“凌霄”……都是过去一年内的重要项目。
“首先,是去年第三季度的‘火鸟’项目。”
姜渝点开名为“火鸟”的文件夹,里面是几张截图和一份文档。
“项目上线前三天,数据库出现严重性能瓶颈,大量查询超时,差点导致上线延期。”
她打开一张邮件截图。
发件人:陆哲。
收件人:王总及项目核心组。
发送时间:故障发生当晚。
邮件内容:“王总,目前初步排查,怀疑是数据库的第三方驱动存在隐藏BUG,正在紧急联系厂商技术支持。我会持续跟进,有进展立刻汇报。”
邮件措辞恳切,将陆哲塑造成一个临危受命、积极寻求外部解决方案的负责人形象。
王总看着这封邮件,眉头紧锁。他记得这件事,当时他还因为陆哲“积极联系厂商”而特意在群里表扬了他处理问题主动。
姜渝关掉邮件截图,打开了另一个工具界面——是公司内部的Git代码仓库历史记录查看器。
“这是‘火鸟’项目Git提交历史中,数据库相关模块的记录。”
她的手指在触控板上滑动,精准地定位到故障发生前的时间段。
“故障发生前最后一次涉及核心查询的代码提交,是陆哲在周五下班前五分钟提交的。”
姜渝点开那条提交记录的详情,并选择了“显示代码差异”。
屏幕上并排显示出两段代码。左边是旧的,右边是新的。
“他在这次提交中,修改了一个高频调用的用户信息查询函数。”
姜渝的鼠标指针指向右边新代码的几行,“为了‘优化’查询速度,他去掉了一个关键的条件索引,并增加了一次不必要的多表关联。这直接导致了全表扫描和笛卡尔积,是数据库崩溃的根本原因。”
王总的目光死死钉在那几行代码上。他虽然不写代码,但基本的逻辑能看懂。那修改看起来是增加了关联,意图可能是获取更多信息,但手法极其粗糙。
“而这一条,”姜渝指向下面一条时间戳为周六凌晨三点多的提交记录,提交人是Jiang Yu,“是我在故障发生后,被紧急叫回公司,定位到问题后提交的修复。”
她点开这条提交的代码差异。修改非常清晰:恢复了正确的索引使用,优化了关联逻辑,重写了查询语句。
提交说明只有一行:“紧急修复数据库性能瓶颈。”
“从这次修复提交之后,直到项目上线,‘火鸟’的数据库再没有出现过类似性能问题。”
姜渝平静地陈述。
王总靠在椅背上,感觉后背有些发凉。他记得那个周末,陆哲在群里时不时汇报一句“正在和厂商沟通中”,营造出一种正在努力解决复杂外部问题的专业形象。而实际上,问题是他自己一手制造,解决者是那个被他蒙在鼓里、半夜被叫起来救火的姜渝。
他当时那个表扬,现在想起来何其讽刺。
“第二个项目,‘星尘’。”
姜渝没有给他太多回味的时间,迅速切到了下一个文件夹,“今年年初,有一个与第三方支付平台API对接的关键模块,由陆哲负责。原计划两周完成,最终延期了五天。”
她打开了一个内部聊天群的聊天记录导出文件,搜索关键词,找到了陆哲在项目群里的发言。
陆哲:“对方提供的接口文档太不清晰了,好几个关键字段定义模糊,他们的技术支持响应也慢,完全没法正常开发。我已经催了三次了,还在等他们回复。”
发言时间,是延期的第二天。
王总的脸色更难看了一分。因为这套说辞,他当时也听信了,还亲自给合作方的接口人打了电话,语气不算客气地催促对方提供支持。现在想来,那通电话恐怕让合作方也莫名其妙。
姜渝关掉群聊记录,切换到了她和陆哲的私人聊天窗口。
“这是延期第一天,他私下找我的记录。”
屏幕上显示:
陆哲:“渝姐,救命!那个XX支付的接口,第二个参数到底传什么?文档上写的是字符串,但我传过去老是报错‘格式无效’。”
姜渝:“那是他们文档写错了,第二个参数需要传经过Base64编码后的特定JSON字符串。示例代码发你。”
下面是一段完整的、带注释的调用示例代码。
“这是延期第三天,他再次找我。”
陆哲:“还是不行啊,签名验签总失败,他们给的密钥对吗?”
姜渝:“他们的签名算法在文档第15页有附录,但算法描述缺了一步。我写了个测试工具,你直接调用这个工具函数,把参数传进去就行。”
下面是一个封装好的工具函数文件。
聊天记录里,陆哲每次都回复:“收到,多谢渝姐!你真是救星!”
“太好了,这下应该没问题了!”
姜渝关掉聊天窗口,又打开了一封邮件。
是陆哲在收到测试工具的第二天,发送给王总的项目日报邮件。
邮件正文写道:“经过我与对方技术团队的反复、多轮沟通,对方终于提供了有效的签名算法细节和验证工具。目前障碍已基本扫清,预计还需要两天时间即可完成联调。”
王总的呼吸变得粗重起来。
如果说“火鸟”项目暴露的是陆哲低劣的技术能力和甩锅本能。
那“星尘”项目展示的,就是赤裸裸的窃取与欺骗。他将姜渝私下提供的、解决关键问题的帮助,美化包装成自己“反复沟通”取得的成果,不仅骗取了功劳,还误导了他这个管理者去错误地施压合作方。
他感觉自己像个被下属玩弄于股掌之间的傻瓜。
姜渝的操作还在继续。她点开了一个名为“凌霄-供应链”的文件夹。这是更早一些的一个项目,涉及一些内部数据报表的生成。
“在这个项目里,我发现了一些不太对劲的地方。”
姜渝的声音依旧平稳,但王总听出了一丝不同。
她打开了几张看起来像是系统后台日志的截图,还有一些杂乱的数据表格。
“陆哲负责对接一家外部数据清洗服务商。当时项目预算比较紧,他提出那家服务商‘性价比高’。”
姜渝的鼠标指针在那些数据表格上移动,圈出几个异常的数据项和金额,“这是当时的部分采购申请和后续的验收数据。有几个批次的处理量和报价,与市场同类服务有微小但持续的差异。”
她又打开了一张模糊的、像是从手机翻拍的聊天记录截图,对话方头像和名字都打了码,但内容依稀可辨,是对方在询问“上次的反馈报告能不能写得……宽松一点”,并表示“心意后续奉上”。
“这份截图,是当时那家服务商的一个销售,不小心发错到我们项目临时协作群里的,很快撤回了,但我刚好看到,随手截了一下。”
姜渝解释道,“当时我觉得可能只是商务上的暧昧说辞,没有多想,也没有证据,所以只是自己留了个档,没有报告。”
她看向王总,目光清澈。
“现在回头看,结合他后来在各个项目中的表现,我觉得有必要将这份可能存在疑点的记录,一并提供给您参考。当然,这仅仅是我个人基于零星信息产生的疑虑,没有任何实质证据,需要公司相关部门进行正式核查。”
王总看着屏幕上那些模糊的截图和异常的数据标记,瞳孔骤然收缩。
技术低劣、甩锅、窃取功劳……这些虽然可恶,但尚在职场“劣币”的范畴内。
但如果涉及到与外部供应商的不当利益往来,甚至可能的数据造假来掩盖,那性质就完全不同了。
这已经触碰了职业底线,甚至可能涉及法律问题。
王总感觉一股寒意从脊椎直冲头顶。
他一直以为只是手下有个能力不行、爱耍小聪明的员工。
现在看来,他团队里埋着的,可能是一颗不知道什么时候会炸、会把他自己也牵连进去的雷。
他的脸色,彻底变了。
第8章
办公室里只剩下空调低沉的送风声,以及王总略显粗重的呼吸。
他看着屏幕上那些模糊的截图、被标记的异常数据,还有姜渝平静无波的脸。寒意过后,是一种沉甸甸的、几乎让他喘不过气的后怕。
如果姜渝今天没有把事情捅破,如果陆哲靠着那套表演继续蒙混,如果那个“凌霄”项目里的疑点真的是他所想的那种情况……将来一旦爆雷,后果不堪设想。不止是项目,可能整个部门,甚至他本人的职业生涯,都会受到牵连。
“这些……东西,”王总的声音有些干涩,他指了指电脑屏幕,“你手头都有完整的记录?”
“是的。”
姜渝点头,“技术问题的邮件、代码提交记录、聊天截图,都有明确的时间戳和上下文。关于‘凌霄’项目的疑点,我只有当时那张偶然截下的模糊图片和标记出的数据异常,原始采购和验收流程单据不在我这边。”
她顿了一下,补充道:“所有材料,包括今天演示的内容、‘预案B’的设计,以及我刚才提到的这些历史记录,我都已经整理好,做了加密备份。”
王总的眼皮跳了跳。她连备份都做好了。这不是临时起意的揭发,这是一场准备充分的“汇报”。
“好,我知道了。”
王总深吸一口气,试图让自己冷静下来。他揉了揉突突直跳的太阳穴,“姜渝,今天非常感谢你。你不仅解决了项目眼前的问题,也……避免了一些潜在的风险。”
他斟酌着用词。
“这些情况,我需要一些时间来处理。你提供的这些信息,尤其是关于‘凌霄’项目的,非常重要。”
王总看着姜渝,眼神复杂,“在我找你之前,关于今天谈话的内容,以及你提到的这些历史情况,暂时不要对任何人提起。明白吗?”
“明白。”
姜渝回答得很干脆。她清楚,事情到了这一步,已经超出了单纯的技术问题范畴,进入了需要管理者甚至更高层面权衡处置的阶段。
“你先回去工作吧。‘预案B’的事情,我会立刻安排项目经理和你对接,尽快落地。”
王总挥了挥手,疲惫感几乎要从每个毛孔里渗出来。
姜渝合上电脑,站起身,微微欠身,然后转身离开了办公室。
门关上后,王总一个人在椅子上坐了很久。
他没有立刻行动,而是在脑海里飞速地将今天发生的一切,以及姜渝刚才展示的那些东西,像拼图一样一块块拼接起来。
陆哲的形象,从一个有点滑头但还算“积极”的技术骨干,彻底坍塌成一个技术低劣、品行堪忧、甚至可能涉及不当利益的危险分子。
而姜渝……他需要重新评估。这个他过去几乎忽略的员工,展现出的技术实力、风险意识、做事章法和……某种不动声色的强硬,都远超他的预期。
更重要的是,她手里握着的那些东西,像一把悬着的剑。
王总感到一阵烦躁。他讨厌这种失控感,讨厌被下属用事实“教育”,更讨厌被迫要去处理这种可能引发震荡的丑闻。
但他别无选择。
他拿起内线电话,拨通了助理的号码。
“让陆哲现在来我办公室。”
他的声音恢复了冷硬。
“另外,通知HR总监和合规部的负责人,一个小时后,来我这里开个小会。理由……就说有紧急的团队纪律和项目风险事项需要讨论。”
挂掉电话,王总从抽屉里拿出一盒烟,抽出一支点上。他已经很久没在办公室抽烟了。
烟雾缭绕中,他的脸色晦暗不明。
……
陆哲在工位上如坐针毡。
他面前摊着一张空白的A4纸,笔握在手里,却一个字也写不出来。情况说明?他能写什么?承认自己代码烂、没看文档、还甩锅撒谎?
周围的同事都在忙碌,但那种刻意的安静和偶尔飘过来的、带着怜悯或鄙夷的眼神,让他恨不得钻进地缝。
内线电话响起,是王总助理冰冷的声音:“陆哲,王总让你现在过去。”
陆哲手一抖,笔掉在了地上。他慌忙捡起来,深吸几口气,才勉强站起身,朝总监办公室走去。每一步都像踩在棉花上。
敲门,进去。
王总坐在烟雾后面,看不真切表情。
“把门关上。”
王总的声音隔着烟雾传来。
陆哲关上门,忐忑地站在办公桌前。
王总没让他坐,也没立刻说话,只是慢慢抽着烟,目光像冰冷的探照灯一样扫视着他。
这种沉默的压迫,比任何斥责都更让陆哲恐惧。
“王总,我……”
陆哲忍不住开口,声音发颤。
王总抬手打断了他。
“陆哲,我找你来,不是听你解释今天的事。”
王总弹了弹烟灰,语气平淡得可怕,“今天的事,证据确凿,没什么好说的。”
陆哲的心沉到了谷底。
“我想跟你聊聊以前的项目。”
王总从手边拿起一份打印出来的东西,是几份代码提交记录的截图,还有那封“火鸟”项目故障当晚陆哲发的邮件。“‘火鸟’的数据库问题,真的是驱动BUG?”
陆哲的冷汗一下子就下来了。
“还……还有和厂商沟通的问题……”
他试图挣扎。
“是吗?”
王总又拿起另一份,是“星尘”项目里,姜渝私聊提供帮助和陆哲日报邮件的对比截图,“那这些,你怎么解释?对方技术响应慢,文档不清,那姜渝给你的示例代码和测试工具,是从天上掉下来的?”
陆哲的脸白了又青,嘴唇哆嗦着,一句话也说不出来。
“还有,‘凌霄’项目。”
王总的声音陡然转冷,他盯着陆哲的眼睛,“你当时极力推荐的那家数据清洗服务商,XX科技,后来好像倒闭了?他们当时的报价和验收数据,经得起查吗?”
听到“凌霄”和“XX科技”,陆哲的身体猛地一僵,瞳孔骤然收缩,脸上的血色褪得干干净净,连嘴唇都变成了灰白色。
这个反应,王总看在眼里,心又沉下去几分。
“我……我不知道王总您在说什么……”
陆哲的声音虚弱得几乎听不见,眼神慌乱地躲闪。
“不知道?”
王总把烟按灭在烟灰缸里,身体前倾,压迫感十足,“需要我提醒你一下吗?比如,对方销售不小心发错群又赶紧撤回的那句‘心意后续奉上’?比如,那几个批次处理量和实际效果对不上的验收报告?”
“轰”的一声,陆哲只觉得脑子里有什么东西炸开了。
他以为这件事早就过去了,那家小公司都倒闭了,没人会记得那些细节。他万万没想到,姜渝连这个都记得,甚至还保留了截图!
巨大的恐惧瞬间攫住了他。技术差、甩锅、抢功劳,最多是能力问题、品德问题,被批评、降职、甚至开除。但如果涉及到拿回扣、数据造假……那是要坐牢的!
“王总!王总您听我解释!”
陆哲彻底慌了,再也顾不上什么形象,声音带着哭腔和绝望,“那……那家服务商是他们主动找我的,报价是比市场低一点点,但……但我想着给项目省钱……至于那个‘心意’,就是……就是后来他们请我吃了顿饭,真的,就一顿饭!验收数据可能……可能是我当时忙,核对得不够仔细……”
他语无伦次,拼命想把自己从最严重的指控里摘出来,但漏洞百出的辩解和惨白的脸色,已经说明了一切。
王总看着他这副不堪的样子,心里最后一点犹豫也消失了。他甚至懒得去分辨陆哲话里有多少是真的,有多少是狡辩。
事实已经足够清晰:这个人,从技术到人品,都烂透了。而且,很可能有更严重的问题。
“够了。”
王总厌烦地打断他,“你的情况说明不用写了。现在,立刻回去,把你手头所有正在进行的、包括历史项目的相关资料、代码、文档,全部整理出来,列好清单。今天下班前,跟项目经理做完全部交接。”
他顿了顿,补充了一句,语气冰冷:“交接完之后,你的公司门禁权限会被暂时冻结。在接到进一步通知前,你不用来公司了。保持通讯畅通,后续可能会有HR或者合规部门的人找你了解情况。”
陆哲如遭雷击,僵在原地。
冻结权限?不用来公司?HR和合规部?
这几个词组合在一起,意味着什么,他再清楚不过。
这不是普通的批评处罚,这是要动真格了,是要把他往死里查!
“王总!王总再给我一次机会!我知道错了!我真的知道错了!”
陆哲扑到办公桌前,几乎要跪下来,涕泪横流,“我不能没有这份工作,我家里还有房贷,我……”
“出去。”
王总别过脸,不想再看他一眼,声音里是彻底的冷漠和不耐烦,“现在,立刻。”
陆哲的哭求戛然而止。他看着王总冰冷的侧脸,知道一切都完了。
最后一丝力气也被抽走。他踉跄着后退两步,转身,像一具行尸走肉般,拉开门,走了出去。
门在身后关上。
王总靠在椅背上,闭上了眼睛,感到一阵深深的疲惫和……一种如释重负。
终于,把这颗雷挖出来了。
尽管过程难看,尽管暴露了他自己的失察,但总比让它将来在某个关键时刻爆炸,把自己也炸得粉身碎骨要好。
他睁开眼,看了看时间。距离和HR、合规的会议,还有二十分钟。
他需要整理一下思路,想想怎么汇报,才能把对部门的负面影响降到最低。
还有,怎么处理姜渝。这个员工,现在成了关键人物。
第9章
下午三点,总监办公室的小型会议结束。
HR总监和合规部负责人的脸色都不太好看。他们带走了姜渝提供的部分材料副本,尤其是涉及“凌霄”项目异常数据和模糊截图的部分,表示会立即启动内部核查程序。对于陆哲,已经明确:立即停职,配合调查,在调查结果出来前,冻结一切权限和薪资发放。
送走他们后,王总独自站在窗前,看着楼下街道上如织的车流,久久不动。
事情的发展已经脱离了他最初“解决项目bug、敲打一下不听话员工”的预想,滑向了一个更深、更麻烦的轨道。但他知道,这是唯一正确的处理方式。
他坐回办公桌后,揉了揉眉心,再次拿起内线电话。
“叫姜渝来一下。”
几分钟后,姜渝敲门进来。
“坐。”
王总指了指对面的椅子,语气比之前任何一次都平和,甚至带着一丝不易察觉的客气。
姜渝坐下,静静等待。
王总打量着她。眼前的年轻女人坐姿端正,眼神清澈平静,没有大获全胜后的得意,也没有面对高层时的局促。这份沉稳,让他心里的评估又调高了几分。
“姜渝,关于陆哲的事情,公司已经正式介入处理了。”
王总开门见山,“后续会有调查程序,可能需要你配合提供一些更详细的说明或材料,到时候HR或合规部会直接联系你。”
“好的,王总。”
姜渝点头。
“另外,‘凤凰计划’项目,我已经让项目经理全力推进你的‘预案B’。核心功能上线的时间节点不变。”
王总顿了顿,手指在桌面上轻轻敲了敲,这是他的习惯动作,“你这次的表现,超出了所有人的预期。技术能力,风险意识,还有责任心,都值得肯定。”
这是明确的表扬。但姜渝只是微微颔首,说了句“这是我应该做的”,没有任何激动。
王总看着她,话锋忽然一转,语气带上了几分斟酌。
“不过,姜渝啊,”他身体微微前倾,换上了一副推心置腹的姿态,“你也知道,一个团队,一个部门,稳定是第一位的。陆哲的问题,我们会严肃处理,该开除开除,该追责追责。但是……”
他停顿了一下,观察着姜渝的反应。
“有些事情,涉及到可能的……不规范商务往来,虽然只是疑点,但传出去,对公司声誉,对我们整个技术部的形象,影响会很不好。甚至会影响到正在进行的、以及未来的项目合作。”
姜渝安静地听着,没有插话。
“我的意思是,”王总的声音压低了一些,语速放慢,像是要确保每个字都被听清,“在处理结果上,公司会严格按照规章制度来。但在对外,尤其是对部门内其他同事,可能不会公布所有的细节。我们会强调他是因为技术能力不符、工作态度不端、在重大项目中出现严重失误被辞退。这样,既能达到清理队伍的目的,也能最大程度地保护团队,避免不必要的猜测和动荡。”
他看向姜渝,目光里带着某种期待。
“你是这次事件的关键……见证者。你的态度很重要。我希望,你能理解公司的难处,以大局为重。关于‘凌霄’项目那些尚未证实的具体疑点,以及你个人保留的那些材料……最好仅限于今天在场的我们几个人知道。后续公司内部调查清楚后,自然会依法依规处理。”
话说得很委婉,但核心意思明确:事情到此为止,内部严肃处理,对外淡化影响。你姜渝立了功,我们都记得,但为了“大局”,有些可能引起风波的东西,就让它停留在“疑点”和“内部材料”的阶段,不要再扩散了。
这是典型的管理者思维。控制影响,维持表面稳定,有时候比彻底撕开一切更重要。
王总等着姜渝的回答。他希望看到的是理解、服从,甚至是一点“被信任”的感激。
姜渝沉默了片刻。
然后,她抬起头,目光平静地迎上王总的视线。
“王总,我理解公司需要维护声誉和团队稳定。”
她的声音清晰平稳,“我的诉求一直很简单:完成专业工作,并获得公正的对待。”
王总点了点头,刚想说“这就对了”。
姜渝却继续说了下去。
“因此,关于您刚才的提议——我可以同意,在对外沟通时,不主动提及或扩散尚未经正式调查确认的具体疑点细节。”
王总松了口气。
“但是,”姜渝的话调没有变化,却让王总的心又提了起来,“这必须基于一个前提:公司对陆哲的处理,是真正彻底和公正的。该走的调查程序要走完,该厘清的责任要厘清,该做出的处罚要落实。”
她微微停顿,语气依旧平静,却带着一种不容置疑的力量。
“至于我手中的材料,包括历史问题记录和‘预案B’的全部技术文档,我已经进行了加密归档。这些材料的留存,并非为了威胁或交易,而是作为我职业工作的一部分记录,也是确保项目在极端情况下仍有据可循的备份。”
她看着王总,眼神坦荡。
“我的职业底线是,不为不公背书,也不为掩盖事实提供方便。如果公司的处理是公正透明的,那么这些材料将永远只是安静的备份。如果……”
她没有说下去,但未尽之意清晰可辨。
王总脸上的肌肉僵硬了。他听懂了。姜渝没有激烈反对,但她划下了一条清晰的线。她可以配合“大局”,但前提是“大局”本身是公正的。她交出了主动权,但保留着最后的、安静的监督权。
这不是他预想中的“被说服”或“被安抚”,这是一次平等的、基于原则的告知。
他感觉有些无力。他发现,自己无法用“团队”、“大局”、“管理者权威”这些以往屡试不爽的东西来说服或压服眼前这个人。因为她自己就站在“专业”、“公正”、“事实”这些更硬的原则之上。
办公室里出现了短暂的沉默。
就在这时,王总的电脑上,内部通讯软件弹出了一条新消息。发信人是技术副总裁,他的顶头上司。
消息很短:“王,听说你们那边‘凤凰计划’的问题解决了?用的是个挺巧妙的备用方案?负责的工程师叫姜渝?干得不错。下个季度集团层面的技术架构优化会议,让她也准备一下,上来讲讲思路。”
王总看着这条消息,瞳孔微微一缩。
高层已经注意到了。而且,是正面关注。
他再次看向姜渝,目光变得更加复杂。这个他曾经忽视的下属,不仅技术过硬,心思缜密,坚守原则,现在更是以一种他未曾预料的方式,进入了更高层的视野。
先前那点“和稀泥”、“控制影响”的心思,在这条消息面前,显得格外可笑和不合时宜。
他深吸一口气,再缓缓吐出。脸上那点勉强维持的“推心置腹”消失了,取而代之的是一种混合着疲惫、释然和重新决断的严肃。
“我明白你的意思了,姜渝。”
王总的声音恢复了公事公办的沉稳,“公司会彻查此事,并给出公正的处理结果。这一点,我可以向你保证。”
“至于你的能力和贡献,”他指了指电脑屏幕,“不仅是我,上面也看到了。‘凤凰计划’后续由你主导核心架构的稳定和优化。另外,下季度集团的技术会议,需要你代表我们部门,做一个关于高可用架构和风险预案设计的专题分享。你提前准备一下。”
这是委以重任,也是明确的认可和台阶。
姜渝站起身,依旧平静。
“好的,王总。我会准备好。”
她转身离开办公室,步伐平稳。
王总看着她关上门,靠回椅背,长长地、彻底地吐出一口气。
他知道,有些事情,再也回不到从前了。
而他需要尽快适应这种改变。
第10章
一周后。
公司内部发布了关于陆哲的处理公告。公告措辞严谨,列明其“在重大项目中出现严重技术失误且试图推诿责任”、“多次未能达到岗位基本技术要求”、“工作态度与职业素养不符合公司价值观”等事实,依据公司规章制度,予以解除劳动合同。
公告没有提及任何关于经济问题的字眼,但“解除劳动合同”而非“协商离职”的措辞,以及HR和合规部联合签署的落款,让明眼人都知道,事情没那么简单。
风声悄然在技术部流传。有人说看到陆哲最后一天收拾东西时,是被安保陪着离开的;有人说他的门禁权限是在会议当天下午就被立刻封掉的;还有人说,公司正在悄悄核查一些过去的项目合同和报销单据。
但这些都只是传闻。官方层面,一切风平浪静。
“凤凰计划”的核心功能,按照姜渝的“预案B”方案,在重新调整排期后,顺利完成了对客户的第一阶段交付。演示稳定,数据准确,客户方对接人特意对项目经理提到了“姜工程师负责的模块非常可靠”。
王总在部门周会上,用了十分钟时间,没有点名,但严肃总结了此次项目的教训。他强调技术扎实和责任心的重要性,批评了“重表现、轻实效”的风气,并宣布将重新梳理项目流程,加强代码审查和技术方案评审。
会上,他正式任命姜渝为“凤凰计划”后续迭代及核心技术架构的负责人。
没有欢呼,但会议室里响起了掌声。不少同事看向姜渝的目光里,多了实实在在的佩服。
周晓晓鼓掌鼓得最用力,眼睛亮晶晶的。
散会后,她小跑着追上走向工位的姜渝。
“姜渝哥!不对,现在该叫姜工了!”
她的语气兴奋,“太解气了!你真的……太厉害了!”
姜渝对她笑了笑,那笑容很淡,但真实。“好好写你的代码,多思考,少说话。”
“嗯!”
周晓晓用力点头,像得到了什么秘诀。
回到工位,姜渝收到了几封新邮件。
一封是项目经理发来的,关于“凤凰计划”下一阶段的需求讨论会安排。
一封是技术副总裁助理发来的,正式通知她集团技术会议的议题和初步时间,请她提前准备材料。
还有一封,是王总发来的。
邮件标题很简单:关于部门技术架构调整的设想。
正文里,王总提到了他计划在部门内推动一次技术栈和开发规范的统一与升级,询问姜渝是否有兴趣牵头做一个初步的调研和方案设计。
邮件的最后,王总写了一句:“你的专业和专注,是团队需要的基石。期待你的想法。”
姜渝看着屏幕,目光平静。
她移动鼠标,点击回复。
“收到。我会结合当前项目经验和团队现状,在本周内给出初步调研方向。”
点击发送。
然后,她关掉邮箱,打开了IDE。屏幕上,是“预案B”演进后的新分支代码。她需要将其中一些经过验证的、通用的高可用设计抽取出来,封装成部门内部可复用的组件库。
这是新的工作,新的挑战。
周围键盘声起伏,阳光透过窗户,落在她干净的桌面上。
曾经那种挥之不去的、隐忍的疲惫感,似乎悄然消散了。取而代之的,是一种清晰的、知道自己身处何地、该往何处去的平静。
能力是剑,原则是盾。
这一次,她握紧了自己的剑与盾,在这片复杂的职场丛林中,稳稳地,踏出了一条属于自己的路。
电话没有响,微信没有疯狂跳动。
世界,很安静。
本文标题:同事把烂摊子丢给我我学他摆烂领导问时他:你不管这项目肯定黄啊
本文链接:http://www.gzlysc.com/life/2113.html
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
