公司年度颁奖,
主管把我拼了八个月的方案,
转手记在他亲信的功劳簿上。
台上那人举着奖杯向我敬酒,
我掏出手机,按下播放键。
整个宴会厅,
落针可闻。
1
锐恒科技年度表彰大会。
三百多号人坐在宴会厅里,灯光打得亮堂堂的,舞台正中央挂着一块LED屏,上面滚动着“锐恒科技·年度卓越贡献奖”几个大字。
我坐在最后一排,靠墙的角落位。
桌上摆着红酒和果盘,我一口没动。
手机搁在大腿上,屏幕亮着,一个音频文件的进度条停在00:00。
台上,行政部的小姑娘正在念获奖名单。
“下面,颁发本年度最具价值项目奖——”
我脊背绷直了。
“获奖项目:‘云桥’企业协同平台。”
我攥紧了手机。
“项目负责人——孙浩然。”
全场掌声响起来。
我听见自己的后槽牙咬得咯吱响。
孙浩然站起来,西装革履,头发梳得一丝不乱,笑容满面地走上台。
经过我这桌的时候,他还特意偏过头,朝我举了举酒杯。
那个笑容,轻飘飘的。
“云桥”。
八个月。
二百四十三个日夜。
一千七百多次代码提交。
四十六版方案迭代。
十一次通宵。
我一个人扛着整个技术架构,从零搭到上线。
现在台上站着的那个人,整个项目周期里,连一行核心代码都没碰过。
他唯一做过的事,就是在贺志明的授意下,把周报里我的名字一个一个替换成他自己的。
贺志明。
我的直属上司,技术二部总监。
他现在坐在第一排,翘着二郎腿,鼓着掌,脸上的表情像是自己亲儿子考上了清华。
孙浩然接过奖杯,站到麦克风前。
“感谢公司,感谢贺总的信任和指导,这个项目能成功落地,离不开贺总的战略眼光和全程把控……”
我胃里一阵翻涌。
旁边老赵拿胳膊肘碰了碰我,压低声音:“远舟,你脸色不对。”
我没说话。
“别冲动,”老赵往我这边又靠了靠,“这种事……你又不是不知道。”
我知道。
我当然知道。
贺志明干这种事不是第一次了。
去年,技术二部的“数通”项目,真正的方案出自张磊,最后功劳全算在了贺志明自己头上。张磊年底拿了个“优秀员工”的安慰奖,今年三月辞职了。
我以为我会是下一个张磊。
忍一忍,算了,走人。
但八个月前我接到“云桥”项目的时候,我就知道,这一次不一样。
这是锐恒今年最重要的战略级项目,做成了,足够让一个人从基层直接跳到管理层。
贺志明不会只满足于在汇报PPT上加个自己的名字。
他会把整个项目吞掉。
所以从第一天起,我就开始录音了。
台上,孙浩然还在发言。
“……这八个月,我带领团队攻克了无数技术难关,尤其是分布式架构的重构……”
分布式架构重构。
那四十六个通宵里,有十一个是为了这个模块。
凌晨三点,我一个人坐在工位上,显示器的蓝光照着满桌的外卖盒,手指在键盘上敲到发抖。
孙浩然那时候在干什么?
在朋友圈发健身房的自拍。
我低头,拇指划过手机屏幕。
音频文件,总时长四小时十七分。
里面有贺志明在办公室里亲口说的每一句话。
每一句。
“远舟,这个项目你放手去做,我全力支持你。”
“架构方案你来定,你是技术最强的,我信你。”
“浩然那边你别管,他就是挂个名,实际工作还是你主导。”
“年底评优的事,你放心,我心里有数。”
我闭了闭眼睛。
“心里有数”。
是啊,他心里确实有数。
他的数,就是把我的名字从项目文档里抹得干干净净。
台上,孙浩然说完了。
全场再次鼓掌。
然后主持人看向第一排:“有请贺志明贺总上台,为本次获奖项目做点评!”
贺志明站起来,整了整袖口,迈着四平八稳的步子走上台。
他接过话筒,扫了一眼全场,目光从我这个方向掠过。
没有停留。
在他眼里,我大概就是个透明人。
“云桥项目是我们技术二部今年最亮眼的成绩,”贺志明的声音沉稳有力,“浩然作为项目负责人,展现了极强的技术攻坚能力和团队统筹能力,这个奖,他当之无愧。”
我拇指按在播放键上。
老赵又碰了碰我:“远舟……”
我站了起来。
椅子腿在地板上刮出一声刺耳的响。
周围几桌的人回过头看我。
我没看他们。
我看着台上那两个人,把手机举到耳边的高度。
然后按下了播放键。
宴会厅的音响系统是蓝牙连接的。
我半小时前就把手机配对上了。
贺志明的声音从头顶的喇叭里炸了出来——
“远舟,云桥的技术架构就你来搞,从头到尾你说了算,我谁都不插手。”
全场的掌声像被人掐住了脖子,噎了一下,然后彻底断了。
三百多双眼睛刷地看向音响,又刷地看向我。
我一动不动地站在最后一排。
手机屏幕的光映在我脸上。
台上,贺志明的笑容凝固了。
录音还在继续。
“浩然他不懂技术你又不是不知道,让他挂个名走流程用的,核心方案全是你的,我哪能分不清?”
孙浩然握着奖杯的手开始发抖。
“年底的事你别担心,功劳是谁的我还能不知道?亏不了你。”
整个宴会厅,三百多个人,没有一个吱声的。
连呼吸都变轻了。
贺志明的嘴唇哆嗦了一下,右手不自觉地伸向话筒开关。
我把手机音量调到了最大。
2
八个月前。
三月十七号,周一早会。
贺志明坐在会议室的主位,面前摊着一份文件。
“公司下半年的战略重心,是企业协同赛道,”他环视一圈,目光最后停在我身上,“远舟,‘云桥’项目,我打算让你来主导技术方案。”
我当时心里确实有一瞬间的激动。
不是因为被重用。
是因为这个项目本身。
企业级协同平台,打通内部审批、项目管理、实时协作、数据看板,技术难度不小,但做成了,绝对是履历上一颗硬钉子。
“贺总,项目周期多长?”我问。
“八个月,年底前上线。时间紧,你得带着人往前冲。”
“团队配置呢?”
贺志明翻了翻文件:“技术团队核心就你,再从组里调两个后端、一个前端配合你。项目管理那边,浩然跟一下流程和文档。”
孙浩然坐在角落里,冲我点了点头。
我当时没在意这个安排。
孙浩然是贺志明三年前招进来的,做项目管理出身,技术底子薄,但文档写得漂亮,PPT做得好看,贺志明平时汇报用得上他。
让他跟项目流程,正常操作。
散会后,贺志明把我单独留下来。
他关上会议室的门,靠在桌边,语气比刚才随意了很多。
“远舟,跟你说实话,这个项目是周总直接盯的。”
周正邦。锐恒科技副总裁,分管技术和产品。
“做好了,今年的晋升评审,我第一个推你。”
贺志明拍了拍我的肩膀,力道不大,像是兄长式的鼓励。
“你的能力我清楚,整个技术二部,没人比你更适合扛这个项目。”
我说了声“谢谢贺总”,转身回了工位。
路过孙浩然的位置时,他正戴着耳机看视频,屏幕上是个健身博主在教卧推。
我没想太多。
那时候我不知道的是,贺志明把我留下说那番话的同时,孙浩然已经拿到了另一份文件。
那份文件上,项目负责人那一栏,写的是孙浩然的名字。
这是林知意后来告诉我的。
林知意是行政部的,负责公司内部文件归档。她跟我同一年入职,工位离我不远,偶尔中午一起吃饭。
四月中旬,项目刚推进了一个月,我正埋头写架构文档。
林知意端着咖啡经过我工位,放慢了脚步。
“程远舟。”
“嗯?”
她压低声音:“你最近有没有看过OA系统里‘云桥’的项目信息页?”
“没细看,怎么了?”
她没直接说,手指在桌面上轻轻敲了两下,然后走了。
我愣了几秒,打开OA。
项目信息页。
项目名称:云桥企业协同平台。
项目负责人:孙浩然。
技术支持:程远舟。
我盯着屏幕,后脑勺一阵发麻。
技术支持。
我是技术支持。
方案是我写的,架构是我定的,代码是我一行一行敲的,跟客户对需求是我去的,通宵调试是我扛的。
我是“技术支持”。
我深吸了一口气,关掉页面。
告诉自己别急,可能只是系统录入的问题,贺志明不至于这么做。
现在回想起来,那时候的我,还是太天真了。
五月,六月,事情一步步变了味。
贺志明开始把我从项目汇报会上排除。
“远舟,这周的项目周会你就别去了,你专心写代码,汇报的事让浩然来。”
第一次听到这话时,我犹豫了一下,但还是点了头。
我想着,反正活是我干的,汇报只是走形式。
然后第二周,第三周,每一周。
我再也没进过那个会议室。
孙浩然每周拿着我写的技术文档,换一套PPT模板,加上几页花里胡哨的流程图,去跟贺志明和周正邦汇报。
我在工位上写代码,听见会议室里传出来的笑声。
六月底的一个傍晚,我加班到九点多,办公室没几个人了。
去茶水间倒水的时候,经过贺志明办公室门口。
门虚掩着,里面贺志明正跟孙浩然说话。
“这周的周报我看了,不错,数据呈现得清楚。”
孙浩然笑了一声:“还是贺总教得好。”
“年底的评优,你好好准备,今年的项目奖我给你报上去了。”
我站在门口,端着杯子的手微微抖了一下。
水洒在手背上,烫的。
我没推门进去。
我转身回了工位,打开了手机的录音功能。
从那天起,每一次和贺志明的单独谈话,我都录了音。
不是因为我想搞事。
是因为我知道,如果不留证据,八个月后站在台上的那个人,绝对不会是我。
3
七月到九月,是整个项目最难的三个月。
分布式架构重构。
这四个字,外行人听着没什么感觉,但搞技术的都知道,这是从骨头里往外拆,再一根一根重新拼。
老架构撑不住高并发的场景,客户那边已经反馈了两次系统卡顿的问题。
必须推翻重来。
我一个人扛着这个模块,白天写方案,晚上写代码,凌晨做测试。
最狠的一周,我睡了不到十五个小时。
洗手间的镜子里,眼眶发青,嘴唇起皮,胡子拉碴。
老赵看不下去了,晚上十点端了杯咖啡过来搁在我桌上。
“远舟,你悠着点,身体搞垮了不值当。”
我抬头看他,喉咙干得说话带着沙。
“赵哥,这个模块不重构,年底上线就是个空壳子。”
老赵叹了口气,欲言又止。
“你说。”
“你看看浩然今天发的朋友圈。”
我拿过老赵的手机。
孙浩然的朋友圈,一张照片——高档日料店,一桌刺身拼盘,配文:“项目攻坚期,贺总犒劳团队,继续冲。”
照片里,贺志明和孙浩然坐在主位,杯子碰在一起,笑得灿烂。
团队。
犒劳团队。
我连通知都没收到。
我把手机还给老赵,没说话,继续敲代码。
那天晚上,写到凌晨两点。
改完最后一个接口的时候,我的右手食指关节僵住了,掰了好几下才活动开。
推开公司大门,外面下着小雨。
我站在台阶上,雨丝落在脸上,凉飕飕的。
口袋里的手机震了一下,是林知意发来的消息。
“程远舟,你还在公司?”
“刚出来。”
“代码仓库里最近的提交记录你看了吗?”
我站在雨里,打开手机上的代码管理平台。
“云桥”项目代码仓库。
提交记录列表。
我往下翻。
七月十五号到今天,所有提交记录,提交者一栏——
孙浩然。
全是孙浩然。
我的代码。我写的每一行。提交者,都被改成了孙浩然。
雨水顺着额头淌进眼睛里,有点涩。
我站了很久。
然后我打开录音软件,把当天和贺志明的对话录音重新听了一遍。
下午四点,我去他办公室汇报重构进度时,他说了一句话。
“远舟,技术的事你说了算,但仓库权限管理那边我让浩然统一管了,这样出了问题好追责。”
权限管理。
好一个权限管理。
我不是没想过直接去找周正邦告状。
但我没有。
原因很简单——贺志明在锐恒待了七年,根基比我深得多。周正邦日常只看项目结果,不管过程。我如果拿着一段录音就去告状,贺志明完全可以说这是“团队内部的正常分工调整”,然后给我扣一顶“越级告状、不服管理”的帽子。
职场上,空口无凭的指控比沉默更危险。
我需要更多的证据。
一整条完整的证据链。
从那天起,我除了录音之外,开始做另一件事。
每天写完代码之后,我会把当天的代码备份到自己的私人仓库里,带上原始的提交时间戳和本地日志。
每一封和项目相关的邮件,我都转发了一份到私人邮箱。
每一次跟客户的需求对接记录,我都额外截图保存。
每一版技术方案文档,我都留了一份带元数据的原始文件——创建时间、修改时间、作者信息,一清二楚。
八月中旬,林知意约我中午一起吃饭。
公司楼下的面馆,她坐在对面,筷子搅着碗里的面,没吃几口。
“你是不是在收集证据?”
我抬头看她。
她没躲我的视线:“别问我怎么知道的,行政部什么文件都过手。你最近往私人邮箱转的那些东西,小心点,公司邮箱是有监控的。”
我放下筷子:“你帮我?”
“我帮你看着点内部系统那边,如果有人动你的文件记录,我会告诉你。”
她说这话的时候语气很平。
不是义愤填膺,不是打抱不平。
就是一种很平静的态度,像在说“这件事不对,我不想假装看不见”。
我点了点头:“谢谢。”
“不用谢,”她端起杯子喝了口水,“张磊走的时候,我也想说点什么的,但那时候我刚入职不久,没证据,什么都做不了。”
张磊。
去年辞职的那个人。
和我一样的遭遇。
和我一样的沉默。
但我不打算和他一样离开。
4
九月和十月,项目进入最后的冲刺阶段。
分布式架构重构完成之后,整个系统的性能翻了三倍,客户那边测试反馈一片叫好。
贺志明在部门群里发了一条消息:“云桥项目即将进入验收阶段,感谢浩然和团队的辛苦付出。”
群里一片鲜花和点赞的表情。
我看着屏幕,手指在键盘上敲了几下又删掉了。
老赵在旁边看着我,叹了口气。
“忍不了就走呗,远舟,以你的能力,出去找个更好的不难。”
我摇头。
“不是忍不了的问题,赵哥。如果我走了,下一个接手项目的人,会变成下一个我。”
老赵沉默了一会儿:“你想怎么做?”
“年会。”
“什么?”
“十二月底年会,贺志明一定会推孙浩然上台领奖。那是全公司三百多号人都在的场合,周总也在。”
老赵瞪大了眼睛:“你疯了?当着全公司的面?”
我看着他:“赵哥,你觉得私下告状有用吗?”
他张了张嘴,没说出话来。
私下告状,贺志明有一百种办法把事情压下去。
他在公司七年,中层管理里有一大半是他带起来的,人事、财务那边都有他的人。
我如果走正常流程举报,材料递上去,先过他的层级,再到周正邦手里,中间任何一个环节都可能被截住。
但年会不一样。
年会是全员大会,CEO和VP全坐在第一排。
三百多双眼睛盯着。
录音从音响里放出来的那一秒,谁都捂不住。
十月底,我把所有证据整理了一遍。
录音文件:三十七段,总时长四小时十七分,涵盖了贺志明从三月到十月的每一次关键谈话。
代码提交记录对比:公司仓库 vs 我的私人仓库,时间戳逐条对应,能清清楚楚地证明每一行代码的真实作者。
邮件记录:二十三封与客户的直接沟通邮件,全部是我的邮箱发出,孙浩然没有出现在任何一封的收件人或抄送栏里。
项目文档元数据:四十六版技术方案文档,作者字段全部是我的工号。
内部聊天截图:贺志明在项目群里安排工作的记录,核心任务全部指派给我,孙浩然只负责“整理文档”“对接行政”。
我把所有文件打包,存了三份。
一份在云盘,一份在U盘,一份发给了林知意。
“以防万一,”我跟她说,“如果出了什么意外,你把这份东西直接发给周正邦的邮箱。”
林知意接过U盘,看了我一眼。
“出不了意外。你准备得够多了。”
十一月,项目正式上线。
客户反馈数据亮眼——系统稳定性99.7%,用户活跃度超出预期40%。
贺志明拿着这份数据,写了一份长长的项目总结报告,发给了周正邦。
报告里,项目负责人:孙浩然。技术统筹:孙浩然。架构设计:孙浩然。
我的名字出现了一次,在“项目参与人员”的名单里,排在第四位,前面还有一个实习生。
林知意把这份报告的截图发给了我。
我盯着看了整整十分钟。
然后把截图保存,加进了证据文件夹。
十二月中旬,年会的通知下来了。
地点:锐恒科技园区一楼宴会厅。
时间:十二月二十八号,下午两点。
议程里有一项:“年度卓越贡献奖颁奖。”
我圈了个红标。
5
十二月二十八号。
下午一点半,我到了宴会厅。
三百多把椅子整整齐齐地排成弧形,舞台上的LED屏已经亮了。
我找了个最后一排靠墙的位置坐下。
一点四十五分,我掏出手机,打开蓝牙。
宴会厅的音响系统是去年刚换的,蓝牙配对没有密码限制——行政部图省事,平时放背景音乐方便,一直没设。
我三天前就试过了,配对过程只需要十秒。
此刻,手机屏幕上弹出“已连接:BanquetHall-Audio”。
我把手机揣进口袋。
两点整,大会正式开始。
CEO讲了二十分钟的年度总结,周正邦讲了十五分钟的技术规划。
然后是颁奖环节。
先是“最佳新人奖”“优秀团队奖”,一个一个地念,一个一个地上台。
我一动不动地坐着,心跳一下比一下重。
两点五十八分。
主持人翻到了最后一页获奖名单。
“最后,也是今晚最重磅的奖项——年度最具价值项目奖。”
我把手机从口袋里掏出来,搁在腿上。
“获奖项目:‘云桥’企业协同平台。项目负责人——孙浩然!”
掌声。
灯光追到了前排。
孙浩然站起来,扣子系得整整齐齐,走上台。
经过我那排的时候,他的视线扫了我一眼。
是那种“我赢了,你能怎样”的眼神。
然后他举着奖杯冲我举了一下,嘴角弯了弯。
贺志明坐在第一排鼓掌,脸上全是得意。
孙浩然站到麦克风前,开始念稿。
“感谢公司的认可,这个项目从零到一,每一步都凝聚着团队的心血……”
我的拇指搁在播放键上面,没按。
“……尤其要感谢贺总的战略指导和全程把控,没有贺总就没有‘云桥’。”
还没按。
“这八个月,我带领团队攻克了分布式架构重构、高并发优化、数据安全合规……”
我闭了一下眼睛。
分布式架构重构。
凌晨三点。
我一个人。
显示器的光。
发僵的手指。
洒在手背上的凉水。
雨。
“……可以说,这个项目是我职业生涯中最重要的一个里程碑。谢谢大家。”
掌声再次响起。
主持人笑着说:“有请贺志明贺总上台为获奖项目做点评!”
贺志明站起来,整了整领带,走上台。
他接过话筒,清了清嗓子。
“云桥项目是我今年最自豪的成果——”
我按下了播放键。
他的声音从手机里响起来,通过蓝牙,通过头顶的八个音响,同时炸开——
“远舟,云桥的技术架构就你来搞,从头到尾你说了算。”
贺志明的手僵在话筒上。
录音里,他的声音还在继续。
“浩然他不懂技术你又不是不知道,让他挂个名走流程用的,核心方案全是你的。”
三百多个人同时回头。
目光像三百多把手电筒,齐刷刷地对准了我。
我站了起来。
宴会厅的灯光打在我脸上,我没有眨眼。
录音没有停。
“年底的事你别担心,功劳是谁的我还能不知道?亏不了你。”
贺志明的脸,从红变白,又从白变青。
他嘴唇动了动,没发出声音。
孙浩然站在旁边,握着奖杯的手抖得杯身都在晃。
全场安静得能听见空调出风口的呼呼声。
我没有说话。
录音替我说了一切。
6
录音放到第三分钟的时候,贺志明终于反应过来了。
他把话筒怼到嘴边,声音提高了八度——
“假的!这录音是剪辑的!”
他转头看向前排的周正邦,语速极快:“周总,这是程远舟对项目评优结果不满,恶意剪辑录音来诬陷我,您不能信!”
录音还在响。
“远舟啊,这个项目最难的部分就是你扛的,我心里门儿清。”
贺志明额头的汗珠顺着鬓角往下淌。
“我要求公司技术部门做声纹鉴定!这绝对是AI合成的!”
孙浩然在旁边连连点头:“对对对,肯定是假的,肯定是拼接的,我们项目文档上写得清清楚楚——”
我开口了。
声音不大,但宴会厅的声学设计很好,安静的时候,每个字都能送到最后一排。
“贺总说录音是剪辑的。”
我从口袋里掏出U盘,举了起来。
“那代码仓库的提交记录也是剪辑的?”
全场的目光在我和台上之间弹来弹去。
“‘云桥’项目从三月十七号启动到十一月十二号上线,一共一千七百三十一次代码提交。公司内部仓库里,提交者全部显示为孙浩然。”
我停了一秒。
“但我手里有同步备份的私人仓库,每一次提交都有原始时间戳和机器指纹。一千七百三十一次提交,真实作者——全部是我。”
孙浩然的脸色肉眼可见地变了。
他嘴唇翕动了几下,像一条被拎出水面的鱼。
“你……你这是……”
“还有,”我没给他说完的机会,“和客户的需求对接邮件,二十三封,全部从我的工作邮箱发出。收件人、发件人、时间戳、邮件服务器日志,一样不缺。孙浩然的邮箱,在整个项目周期内,没有出现在任何一封客户邮件的收件人栏里。”
“一封都没有。”
宴会厅里响起了窃窃私语的声音,像潮水一样从前排涌到后排。
贺志明的喉结上下滚了一下。
“程远舟!你这是什么意思?你在项目组里就是负责写代码的,代码提交当然是你的账号!项目管理和汇报本来就是浩然负责的!你搞不清楚自己的定位吗!”
他的声音在发抖,但他还在试图控制局面。
七年的管理经验,让他的本能反应是——攻击提问者,转移焦点。
我点了点头:“贺总说得对,我搞不清自己的定位。”
我从手机里调出另一段录音,通过蓝牙放了出来。
“远舟,云桥这个项目,说白了,核心就是你。浩然那边就是帮忙跑腿打杂的,你不用管他。你把架构搞好,方案定好,代码写好,上线前再盯一盯测试,就齐了。”
这段话录于四月三号下午三点十五分,贺志明的办公室。
他亲口定义的“我的定位”。
贺志明的身体往后退了半步。
他的手扶上了旁边的讲台边缘。
指节发白。
前排,周正邦一直没说话。
他坐在椅子上,双臂交叉,脸上的表情像石头。
我扫了一眼全场。
三百多张脸,有震惊的,有愤怒的,有看热闹的,也有低头不敢看的。
老赵坐在中间偏后的位置,嘴巴张着,半天没合上。
林知意坐在行政部那一桌,目光平静地看着我,微微点了一下头。
我收回视线,重新看向台上。
“还要听吗?”
我举了举手机。
“一共三十七段,四个多小时,每一段都有完整的时间戳和原始文件。贺总如果觉得是剪辑的,可以拿去做鉴定,我等着。”
贺志明不说话了。
他的嘴唇在抖,额头上的汗把前额的头发打成了一缕一缕的。
旁边孙浩然的手终于撑不住了——
奖杯从他手里滑下去,磕在舞台地面上,咣当一声。
全场一个激灵。
那个声音在安静的宴会厅里格外刺耳。
奖杯在地上滚了半圈,停在贺志明脚边。
他低头看了一眼,没有弯腰去捡。
7
场面僵了大概有十秒。
然后孙浩然开口了。
他的声音比刚才尖了一个调,像是被人踩住了尾巴——
“程远舟,你也别在这装委屈!代码是你写的不假,但方案是贺总定的方向!执行和规划能一样吗?你一个写代码的,拿什么跟项目负责人比?”
他转向全场,手指着我:“你们别被他忽悠了!他就是写代码的!代码谁不会写?方向才是最重要的!”
这话一出,场下传来几声低低的嗤笑。
技术部那几桌的人表情格外精彩。
“代码谁不会写”这五个字,在一个技术公司的年会上说出来,杀伤力堪比当众自爆。
我没接他的话。
我打开手机里的另一个文件夹。
“孙浩然说方案是贺总定的方向,他负责统筹规划。”
我把手机屏幕投到了会场的侧面投影幕布上——年会布置投影设备的时候,投屏码也没设密码,我提前连好了。
屏幕上弹出来一个文件列表。
“‘云桥’项目技术方案,从v1.0到v46.0,四十六个版本。每一版的文件属性里,创建者和最后修改者,都是我的工号。”
我翻到第一版的文件属性截图。
“创建时间:三月十九号晚上十一点四十三分。创建者:CYZ-20210315。这是我的工号。”
再翻到最后一版。
“修改时间:十月二十八号凌晨两点十七分。修改者:CYZ-20210315。还是我。”
我关掉文件属性,翻到下一页。
是一张对比表。
左边是我私人仓库里的原始方案文档,右边是孙浩然提交给公司的“项目成果文档”。
内容一模一样。
逐字逐句,一模一样。
唯一的区别——作者栏。
我的名字被替换成了孙浩然。
全场的窃窃私语变成了明晃晃的议论声。
有人在说:“这也太过分了吧。”
有人在说:“怪不得程远舟这半年瘦成那样。”
还有人在说:“贺志明不是第一次了吧?去年那个张磊……”
孙浩然的脸涨成了猪肝色。
他指着投影幕布,声音都劈了:“你黑进了公司系统!你这是违规操作!你篡改了数据!”
我看着他,等他喊完了,才慢慢说——
“文件属性是跟着文件走的,存在本地硬盘里,不过公司系统。你如果质疑真实性,可以让技术部现场查原始文件的MD5校验码。”
我转头看向技术一部的方向,朝坐在那边的老何点了点头。
老何是技术一部的主管,和我没什么私交,但他懂技术,而且是全公司公认的直性子。
“何主管,MD5校验码能不能伪造,您比我清楚。”
老何沉默了两秒,然后开口:“文件的MD5校验码和创建时间戳如果一致,基本可以排除事后篡改的可能性。”
他这话说得克制,但意思谁都听得懂——
程远舟的证据是真的。
孙浩然的嘴张了张,又闭上了。
他转头去看贺志明。
贺志明没看他。
贺志明在看周正邦。
周正邦终于动了。
他站起来。
宴会厅里瞬间安静了。
周正邦个子不高,但往那儿一站,周围的空气都沉了三分。
他看了看台上的贺志明,又看了看站在最后一排的我。
“程远舟。”
“在。”
“你刚才说的证据材料,现在能完整提交给我吗?”
“随时。”我举起U盘,“录音原始文件、代码仓库对比记录、邮件导出、文档元数据,全在这里面。另外,同样的备份我还存了两份,云盘一份,第三方公证邮箱一份。”
周正邦点了点头。
然后他转向贺志明。
“志明,你有什么要说的?”
贺志明的嘴唇哆嗦了好几下。
他攥着话筒,指关节隆起来,青筋一根一根地凸。
“周总……这……这里面有误会……程远舟他……”
“有误会就说清楚,”周正邦的语气不重,但每个字都像钉子一样按在那里,“三百多号人都在,录音也放了,证据也看了。你有什么说的,现在就说。”
贺志明张了张嘴。
没有声音。
他的目光在全场扫了一圈,像是在找一根救命的稻草。
但三百多双眼睛里,没有一双在帮他。
8
沉默了大概有二十秒。
二十秒。
在年会现场三百多人的注视下,二十秒长得像二十分钟。
贺志明的手从话筒上滑了下来。
话筒发出一声沉闷的碰撞,在底座上晃了两下。
他的喉结滚了一下,终于开口了。
“周总,项目确实是……团队协作完成的,分工上……可能存在一些沟通上的偏差……”
“沟通偏差?”周正邦重复了这四个字。
语气平得像一面镜子。
但在场所有人都能听出来,这四个字底下压着的东西。
“你录音里亲口说,核心方案全是程远舟的,浩然挂个名走流程。这叫沟通偏差?”
贺志明的嘴角抽了一下。
他的目光终于崩不住了,不再看周正邦,也不看我,而是落在自己面前那块空地上。
“我……”
周正邦没再给他说话的机会。
他转向行政部那桌:“小杨,现在联系信息安全部,把‘云桥’项目从启动到现在的所有系统日志、OA审批记录、邮件服务器日志全部调出来。今天之内。”
行政部的小杨站起来应了一声,脚步匆匆地出了宴会厅。
周正邦又看向老何:“何主管,技术一部配合信息安全部做代码仓库的操作审计,我要看到每一次提交记录的修改日志。”
老何点头。
周正邦环视全场,声音不高,但每个字都敲在地板上。
“今天的表彰先暂停。年度最具价值项目奖的评审结果,等调查结论出来之后重新定。”
他停顿了一下。
“在调查结果出来之前,任何人不得删除、转移、修改与‘云桥’项目相关的任何文件和记录。”
这句话说完,前排有几个中层管理的脸色都不太好看了。
不是因为他们跟贺志明是一伙的。
是因为他们心里多少都有点数——这些年,贺志明吃独食的事,不是没人察觉,只是没人捅破而已。
现在破了。
一破到底。
孙浩然还站在台上,双腿发软,手撑着讲台边缘,奖杯还在地上躺着,没人去捡。
他转头看贺志明,贺志明没看他。
他又转头看周正邦,周正邦也没看他。
三百多双眼睛像三百多把刀子,从四面八方扎过来。
他的额头渗出了一层细密的汗珠。
突然,他脚步一软,一屁股坐在了舞台上。
没人去扶他。
场面维持了大概三十秒。
然后周正邦对主持人说了句“继续后面的议程”,自己转身走到了我这边。
他在我面前站定,看了我几秒。
“U盘给我。”
我递了过去。
“调查期间,你正常工作,有什么新的材料随时补充给我。”
“好。”
他点了点头,没多说别的,转身走了。
老赵从旁边挤过来,一把抓住我的胳膊。
“远舟,你牛。你真牛。”
他的手在抖。
我低头看了看自己的手。
也在抖。
但不是因为害怕。
是因为那根绷了八个月的弦,终于断了。
9
调查比我预想的快。
三天。
周正邦没有交给人事部走流程——他知道人事那边有贺志明的人。
他直接让信息安全部和技术一部联合审计,所有数据走系统日志比对,机器不会撒谎。
十二月三十一号,调查结论出来了。
全员邮件。
发件人:周正邦。
邮件不长,但每一条都是实锤。
第一条:代码仓库操作审计显示,自七月十五日起,孙浩然利用管理员权限,将程远舟的一千七百三十一次代码提交记录的提交者信息批量修改为自己的账号。
第二条:OA系统中“云桥”项目信息页的负责人字段,于三月十八日由贺志明的管理员账号修改,原始值为“程远舟”,修改后为“孙浩然”。
第三条:项目总结报告中引用的所有技术方案文档,原始创建者均为程远舟,文件属性在提交前被手动修改为孙浩然。
第四条:与客户的二十三封核心需求对接邮件,全部由程远舟的工作邮箱发出,孙浩然未参与任何一次客户沟通。
第五条:经声纹比对确认,程远舟提交的三十七段录音文件均为真实录音,无剪辑、无合成痕迹。
邮件最后一段——
“经调查核实,‘云桥’企业协同平台的实际项目负责人及核心技术贡献者为程远舟。原署名存在严重的职务不端行为,公司将根据员工手册相关条款进行处理。”
这封邮件发出去的十分钟内,公司内网的论坛炸了。
我没看论坛。
我在工位上坐着,盯着屏幕上自己的代码,一行一行地看。
老赵端着两杯咖啡过来,放了一杯在我桌上。
“看了吗?”
“看了。”
“贺志明和孙浩然的处理结果也出来了。刚才人事那边发了通知。”
我转头看他。
“贺志明,解除劳动合同,公司保留追诉权。孙浩然,解除劳动合同,取消年度全部绩效奖金。”
我端起咖啡,喝了一口。
苦的。
但舌头没什么感觉。
下午两点,贺志明来公司收拾东西。
他的办公室门开着,我路过的时候往里瞟了一眼。
他的桌上已经空了大半,纸箱摆在地上,里面塞着几个相框、一盒名片、一瓶没喝完的枸杞茶。
他正把抽屉里的东西往纸箱里倒。
动作很快。
头也没抬。
我没有停步,继续往前走。
走到茶水间门口的时候,听见身后传来孙浩然的声音。
他在贺志明办公室门口,压低了嗓子,但走廊空荡荡的,每个字都送得过来。
“贺总……这事你不能全推我身上吧……当初是你让我改的提交记录,是你让我署名的,我就是听你的话,你不能……”
“你闭嘴。”
贺志明的声音哑得不像他平时的腔调。
短暂的沉默。
然后是纸箱盖合上的声音。
“你自己的路,自己走好。”
脚步声,远去。
我倒了杯水,回到工位。
老赵看着我的表情,大概以为我会有什么痛快的反应。
扬眉吐气,或者长出一口气,或者笑一笑。
我没有。
八个月。
那些凌晨三点的夜。
洒在手背上的凉水。
空荡荡的办公室。
健身房自拍下面的点赞。
会议室传出来的笑声。
OA系统里被改掉的名字。
一千七百三十一次提交,一千七百三十一次被偷走。
处分下来了,奖杯收回去了,人也走了。
但那八个月,找谁还?
不过没关系。
该拿回来的东西,我拿回来了。
该让看见的人,都看见了。
这就够了。
10
一月初,新的年度表彰结果重新公示。
年度最具价值项目奖,“云桥”企业协同平台。
项目负责人:程远舟。
公示那天,林知意发了条消息给我:“去看公告栏了吗?”
“没去。”
“你名字在上面,挺大的字。”
我笑了一声。
“你应该去看看的,”她说,“你值得站在那个名字旁边。”
我搁下手机,想了想,起身走到了行政走廊。
公告栏上,红底白字,确实挺大。
我站了一会儿,看了看那行字,转身回了工位。
一月中旬,周正邦找我谈了一次话。
“远舟,年底的晋升评审,你在候选名单里。技术二部主管的位置,你愿不愿意接?”
我看着他,没有立刻回答。
“怎么,有顾虑?”
“周总,我想了很久。”
“说。”
“这次的事,公司处理得公正,我很感谢。但如果当初没有那段录音,没有那些证据,结果会是怎样?”
周正邦沉默了几秒。
“你的意思是……”
“我的意思是,贺志明在这个公司干了七年,张磊的事在前,我的事在后。中间这七年,有多少人的功劳被偷走了,我不知道。但我知道,不是每个人都有条件像我一样去录音、去取证。”
周正邦的眉头拧了一下。
“你想怎么做?”
“如果我留下来接这个位置,我希望能推动一件事——项目贡献的量化追溯机制。代码提交归属不可篡改,项目文档签署实名可查,客户沟通记录自动归档。靠制度堵住漏洞,不是靠个人拿命去赌。”
周正邦看了我一会儿。
“你可以做方案给我。”
“已经做好了。”
我从文件夹里抽出一份文档递过去。
他翻了翻,抬头看我,嘴角动了动——像是想笑,但忍住了。
“你从什么时候开始准备这个的?”
“调查结果出来的第二天。”
他合上文档,点了点头。
“行,这事我批了。技术二部主管的位置,你要是愿意接,下周走流程。”
我想了一秒。
“接。”
二月的第一个工作日。
我搬到了贺志明以前的那间办公室。
桌子是新换的,椅子也是新的。
窗户对着园区的小花园,冬天的树枝光秃秃的,但阳光很好。
我把电脑摆好,打开代码管理平台,看了眼“云桥”项目的仓库。
提交记录的提交者栏里,一千七百三十一条,全部恢复成了我的名字。
我盯着屏幕看了一会儿。
然后打开新项目的技术文档,开始写第一行方案。
门被敲了两下。
老赵探了个头进来:“主管大人,中午吃什么?”
“你请。”
“凭什么?”
“升职请客,天经地义。”
老赵翻了个白眼,缩回去了。
过了几秒,林知意的消息弹出来——
“程主管,恭喜。”
我打了两个字:“谢谢。”
想了想,又加了一句:“中午一起吃饭?老赵请客。”
“好。”
窗外,冬天的太阳照在光秃秃的树枝上。
过不了多久,就会冒出新芽来。
喜欢的点点赞哦。