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

手机在口袋里震了一下。

我没急着看。

国庆节前的最后一天,办公室里弥漫着一种懒洋洋的散伙气息。隔壁工位的刘姐已经收拾好了包,随时准备冲出去接孩子。对面的小陈在偷偷刷机票。窗外阳光打进来,落在键盘上,浮灰飞舞。

我抿了一口凉透的咖啡,拿起手机扫了一眼。

工资条。

手指点开,从上往下慢慢看。

应发工资:12500。个税扣缴:342。社保:1250。公积金:600。

最后一行——

【项目奖金:800.00元】

800块。

我盯着那个数字看了五秒钟。

然后又看了一眼,确认没少看一个零。

没错,八百。

公司研发部二十个人,据说这次项目总额有两百多万,兑现之后所有人都有一笔丰厚的奖金。

我扫了一眼工作群里。

果然,炸了。

——“卧槽!兄弟们你们多少?我两万八!”

——“嘻嘻,我这个季度满勤,拿了三万五。”

——“我少点,一万九,不过够国庆出去浪了。”

有人艾特了周瑜文:“文哥!你多少?快晒快晒!”

两分钟后,周瑜文发了一个截图。

金额:101200.00。

“谢谢赵总,谢谢各位兄弟姐妹的支持。”他发了一个谦虚的表情包。

下面一片“膜拜大佬”“文哥牛逼”“请客请客”的刷屏。

我默默锁了屏。

我的八百块,和那十万零一千两百,中间差了一百二十多倍。

而周瑜文做的所有事情——

就是每周一上午在例会上坐我隔壁,等我把系统架构调整方案讲完之后,他推一推眼镜说:“嗯,小林说得不错,我补充几点。”

然后把他从我昨晚发给他的文档里摘出来的内容,拿出去讲。

接下来的事情,技术部那些活全是我做。

框架设计,我写。

底层代码,我写。

核心逻辑,我写。

上线前连续一周通宵调Bug,也是我。

而周瑜文这个“名义上的架构师”,每天下午五点准时下班,去健身房打卡。

我深吸一口气。

慢慢把手机放进裤兜里。

旁边的老程序员周姐探头过来:“小林,你多少?”

我笑了笑:“够吃饭了。”

“肯定也不少吧?你们搞底层的,那可是真本事。”她拍了拍我的肩膀,“年轻人前途无量。”

我点点头。

周姐不知道的是,我这个月拿的八百,连她那个三千五的零头都不到。

刚入职时,领导说:“小林你好好干,技术部最缺你这种人。”

第二年加薪,加了三百块。

第三年,也就是今年,跳槽的念头在脑子里转了几百遍,每次都被“再坚持一下”压下去。

今天这八百块,像一盆凉水从头顶浇下来。

我站起身,走到茶水间。

窗外的城市车水马龙。我拿起手机,翻到一个平时很少联系的猎头的微信。

“李哥,上次说的那家,条件还有效吗?”

消息发出去三秒,对面秒回。

“小林总,等你这句话等了一年了。条件不变——35K×14薪,期权另谈,可以的话国庆后入职。”

我打出两个字:“成交。”

01

回到工位的时候,办公室里突然安静了一瞬。

我下意识看了看周围,大家都在低头装忙,但眼神时不时往某个方向飘。

顺着他们的目光看过去。

赵铭的办公室门开着。

赵总居然在国庆前最后一天出现在公司——这可是大新闻。他平时一个月都不来一趟,有什么事都是刘子安传达。

“怎么回事?”我压低声音问旁边的小陈。

“不知道,刘总监被叫进去了,好一会儿了,里面好像在吵。”

话音未落,刘子安的办公室门开了。

他走出来,脸色很难看,手里攥着一份文件。

他扫了一眼办公区,然后目光落在我身上。

“小林,你进来一下。”

我愣住了。

关我什么事?

进到办公室里,刘子安把门带上了。

“坐。”

我坐下。

刘子安坐在老板椅上,手指不停地转笔。好半天,他才开口:“那个……年底的奖金,看到了?”

“嗯。”

“800块钱是少了点,但公司今年的业绩你也知道,能发已经是赵总……”他像背书一样说了一串官方说辞,“……你放心,公司不会亏待老人的,明年一定调整。”

我看着他。

刘子安45岁,在这个行业混了十几年,技术说不上多好,但人情世故玩得特别溜。他有一句名言:“程序写得好不如口才好。”

我点点头:“好的刘总,我知道了,没事我先出去了。”

“等一下。”他叫住我。

我回头。

刘子安犹豫了一下,说:“那个……周瑜文今天下午请假了,他负责的一个线上项目,今晚可能要补数据。你……”

“今晚?”我皱起眉头,“他说他做的?”

“嗯,他说他全搞定了,但运维那边反馈说有个字段对不上。”

我沉默了几秒。

“这个项目是不是上线前他一点都没碰?”

刘子安不说话了。

“那个项目的底层逻辑是我写的,他根本不知道里面有几个模块。”我说,“让他自己改吧,我先下班了。”

刘子安的眉头拧了起来:“小林,你——”

“刘总,我加了三年的班了。”我打断他,“今天这个班,我不想加了。”

说完,我拉门出去了。

回到工位坐下,我打开电脑里的一个加密文件夹。

这是我这三年写的所有代码。不只是写,还有架构设计、核心算法、异常处理机制……所有周瑜文拿去汇报的东西,每一行都是我写的。

我点了几下手。

把这些文件全部选中。

右键——复制——粘贴到U盘。

然后删掉了本地所有副本。

做这件事的时候,我的手很稳,心里没有一丝波澜。

因为我知道,这个系统离开我,跑不了三天。

我不是吹牛。

这个公司的核心技术平台叫“白泽”,是三年多以前我来的时候,亲手从零到一搭起来的。当时技术部十几个人,没有一个人能说清楚数据中台该怎么设计,只有我,靠着之前在阿里两年的底层经验,做了一套几乎完美的架构方案。

方案交上去之后,所有人都傻眼了。

赵铭当场拍板:“这个项目就交给小林。”

但当时我太年轻,不懂什么叫“功劳归谁”。

周瑜文比我大两岁,来公司早一年。他当时主动找到我,说:“小林,你的方案很好,但你在公司资历浅,直接挂你名字,下面的人不服。我们先挂我,等项目稳定了,再把你推上去。”

我信了。

后来我才明白,这是一张永远兑现不了的空头支票。

三年了,项目稳定了,我的名字从来没出现在任何一个汇报PPT上。

周瑜文成了“架构师”,年薪翻了三倍。

而我,还在一万二的岗位上,拿着八百块的奖金。

我关掉电脑的时候,办公室大部分人都已经走了。

手机亮了。

是一条消息,发件人备注:“周瑜文”。

“小林,运维说那个字段的事,麻烦你处理一下,我这边有点急事,谢谢。”

我看着这条消息,忽然想笑。

明天就是国庆假期了,他连让我加班的借口都懒得编了。

我把手机放进口袋,走出了办公室。

关上门的那一刻,我回头看了一眼办公区。

灯还亮着,键盘鼠标散落一桌。

再过七天,这里就不属于我了。

02

国庆第一天,我回了趟老家。

我爸林建国今年六十八,退休后就在老家县城里住着,平日里最大的消遣就是去公园下棋。我妈去世得早,他一直没再娶。

到家的时候,他正在院子里浇花。

看到我回来,他先是愣了一下,然后眼睛弯了一下:“怎么回来了?不是工作忙吗?”

“放假了嘛,回来看看你。”

他把水壶放下:“吃饭了没?”

“没呢。”

“进来吧,给你热饭。”

我爸的厨艺还是老样子,一盘清炒土豆丝,一盘西红柿炒蛋,外加一碗紫菜蛋花汤。都是最普通的菜,但我吃得特别香。

期间他也没怎么说话,一直看着我吃。

“怎么,在公司受委屈了?”他突然问了一句。

我筷子顿了一下。

“没有。”我说,“就是想换个环境。”

“换?”

“嗯,准备辞职了,新公司已经谈好了。”

他沉默了好一会儿,才开口:“也好。你这孩子从小就老实,你妈在的时候常说,老实人吃不了亏。可这些年,我看到你每次回来脸上的笑越来越少,我就知道,你不开心。”

我没说话。

“你想换工作,我不拦你。但你记住一句话:实力是你的,谁也拿不走。名誉这东西,他们能抢走一时,抢不走一世。”

我点点头。

回家第二天,我在房间里整理东西的时候,翻到了一个小盒子。

打开一看,里面是一张奖状,是我小学三年级参加全市编程竞赛的获奖证书。旁边还有一张照片,是我站在领奖台上,旁边是我妈。

我盯着照片看了很久。

我记得我妈当时笑得很开心:“我家儿子将来一定是个大程序员。”

我妈走的时候,我还在上大学。

那一年我大三,正处在对未来的迷茫期。我妈临走前拉着我的手说:“小默,做人要低调,但做事要扎实。别人不知道你是谁不重要,重要的是你知道自己是谁。”

我当时不太理解这句话。

现在才明白,她是在告诉我:真正的价值,不需他人定义。

我把照片放回盒子里。

然后拿起手机,看到一条新闻推送:“知名互联网公司核心产品连续宕机,疑似底层代码存在严重漏洞。”

我没在意,划过去了。

国庆第三天,我接到了杨辰的电话。

杨辰是我大学的师弟,比我小五岁,去年刚毕业,被我介绍进了公司。

“师兄……你,你是不打算回来了吗?”

我一愣:“你怎么知道的?”

“你办公桌上的东西,刘总让我给你收拾了。他说你已经申请不续约了。”杨辰的声音有点慌,“还有,师兄……公司系统出问题了。”

“什么问题?”

“国庆第一天还好好的,第二天晚上开始,核心业务系统连续报错,运维那边查了一天一夜,说要找底层代码的人。周瑜文去看了,说他看不懂那些代码。”

我不意外。

“然后呢?”

“然后刘总打不通你的电话,就让周瑜文来处理。周瑜文在群里说他是架构师,他来看。结果他打开代码,看了三分钟,说了一句……说‘这代码是谁写的,怎么没留注释’。”

我笑了一下。

写了三年代码,我不写注释的习惯,是因为我太懒。

也是因为我觉得,这个世界上只有我能看懂那套逻辑。

“师兄……你……你真不来了?”杨辰又重复了一遍。

“不来了。新公司已经签了合同。”

“那系统怎么办?”

“运维那边有备份,实在不行就回滚。”

“回滚不了。备份被你删了。”

“备份在服务器上有定时脚本。”

“脚本被人改了,运维那边说——有人,算了,你先别问了。”

杨辰的语气里带着一种说不出的困惑和着急。

我沉默了几秒。

“等国庆假期结束再说吧。”我说完挂了电话。

窗外,老家的街道安静祥和。

我靠在窗边,看着远处山头的云。

心里有一丝说不清道不明的预感。

国庆第四天,我的手机再也安静不下来了。

03

先是刘子安的来电。

第一次,我没接。

第二次,响了很久,我犹豫了一下,还是接了。

“小林,你人呢?”刘子安的声音里带着焦急,“系统崩了,你知不知道!你写的那些代码,现在谁也看不懂!”

“刘总,我已经离职了。”

“离职了你也不能撒手不管吧!你是公司的人,你写的代码就该对公司负责!”

“刘总,合同上清清楚楚写着,我离职后退出的义务只有交接,交接我已经完成了。”

电话那头沉默了。

“你不是把那套东西给周瑜文了吗?让他看。”我说。

“他……他说看不懂。”

“那就没办法了,这活只有我能干。”我说,“但我现在已经不是公司的人了。”

“小林,”刘子安的声音突然软了下来,“你再考虑考虑,你来,我们什么都好谈。薪资不是问题,我们可以签一份新的……不低于两万,你看怎么样?”

我笑了一下,摇了摇头。

“刘总,我新公司给我35K,15薪。”

电话那头又是一阵沉默。

“这……这样,你和那边谈一下,我们出40K,你留下来。”

“不用了。我合同已经签了。”

“违约金我们出!你——”

“刘总,不是钱的问题。”我说,“我在公司三年,付出了什么,你没看到,周瑜文也没看到。现在系统崩了,你们才想起来找我。你觉得,我会回去吗?”

刘子安没说话。

“挂了。”

我挂了电话。

国庆第五天,电话更多了。

技术部的老同事,和我要好的几个人,断断续续打过来:

“小林,你和公司是不是闹翻了?”

“那个项目出大事了,赵总在办公室拍桌子骂人。”

“周瑜文今天请病假了,刘总都快疯了。”

然后是赵铭的电话。

我看着屏幕上跳动的“赵总”两个字,犹豫了七八秒,还是接了。

“小林,是我。”赵铭的声音很沉,但还算客气,“系统的事,听说了吧?”

“听说了。”

“我们这边确实遇到困难了。底层代码,除了你没有第二个人能看懂。周瑜文说他在做,但我今天看他打开项目文件夹,连主函数入口都找不到。”

我沉默。

“小林,你别误会,我不是来求你的。我是来和你谈的。”赵铭说,“你提条件,任何条件,只要我能做到的。”

我看着窗外慢慢飘过的云。

“赵总,我不是要加价回去。我已经答应别人了。”

“我知道,但我还是想争取一下。”赵铭说,“你过来,我只占用你半个小时。不,十分钟。你来找我,或者我过去找你。”

“不用了。赵总,我已经不在那个公司了。”

“那你能不能告诉我,你到底是为了什么?”

“为了一口被憋了三年的气。”我说。

电话挂断后,我沉默了片刻。

然后发现手机里多了一条消息,来自一个陌生号码。

是周瑜文发的。

“林默,你玩得真大。你会后悔的。”

我盯着这条消息看了好久。

删除了。

04

国庆最后一天,我回到了工作的城市。

新公司那边已经打了招呼,下周一入职。这几天我正好可以理一理思路,重新安顿。

那天下午,我在出租屋里收拾行李,打算换一个离新公司更近的地方住。

手机又响了。

这次是杨辰。

他的语气变了,不再慌张,而是多了一丝凝重:“师兄,你方便接电话吗?”

“方便,怎么了?”

“我今天偷偷去运维那边看了一眼,我……我发现一件事。”

“什么事?”

“系统崩的根本原因,不是代码错误。”

我愣了一下:“什么意思?”

“运维日志显示,国庆第二天凌晨三点,有一个IP内网登录了服务器,运行了一个脚本。那个脚本……把核心库里的一个前置校验逻辑给改了。”

“改了?”我眉头一皱,“谁改的?”

“日志里显示的是……你的工号。”

我愣住了。

我的工号?

我辞职之后,工号按理说已经冻结了,但公司流程拖沓,经常过一两周才注销。

“那个脚本的写入时间是凌晨三点零二,而那天晚上……你在老家。”杨辰说,“师兄,有人在陷害你。”

窗户外面,天色渐渐暗下来。

我把手机换了个手,慢慢靠在沙发上。

“那个人……是周瑜文吗?”

“不清楚。但运维那边说,那个IP属于内网,是技术部独立网段,外人进不去。”

“我明白了。”我说。

“师兄,你现在打算怎么办?要报警吗?”

“报警没用,没有确凿证据。”

我想了想,说:“不过,这件事我迟早会查清楚。谢谢你,辰。”

“不用谢,师兄你小心一点。”

挂了电话后,我坐在沙发上,看着天花板。

被人陷害的感觉,就像被人从背后捅了一刀。

你还没来得及喊疼,他已经跑了。

我深吸一口气。

行,既然你们要玩,那就玩大一点。

我从行李箱里翻出那台旧笔记本。

它已经三年没用了,但里面……存着一些东西。

或者说,一个秘密。

这个秘密,是我给自己留的后路。

三年前,我写第一版核心代码的时候,留了一个隐藏模块。那个模块不参与任何正常逻辑运算,只有一个功能:记录服务器上每一次非我账号的操作。

换句话说,谁动了我的代码,谁修改了我的逻辑,全部有记录。

这是技术人的自我保护。

当年教我的师父说过一句话:“程序员写代码就像写遗嘱,谁也猜不透你在想什么。但你得给自己留一份证据。”

我打开笔记本。

连上VPN,登录了一个早就注册好的云端账号。

输入一串长长的密码。

系统提示:请输入动态验证码。

我拿出手机,点开一个加密APP,扫了一下上面的二维码。

“滴——”

登录成功。

一个文件夹弹出来。

里面,赫然躺着国庆第二天凌晨三点的所有操作记录。

我往下翻,一行一行地看。

操作人:周瑜文。

操作内容:修改核心校验函数,屏蔽异常检测,运行破坏性脚本。

工具:远程桌面,使用工号10024登录。

我盯着那行字。

脸上没有表情。

周瑜文啊周瑜文,你确实够狠。

想让我背锅?好,我让你背个够。

我把这些文件全部加密保存。

然后合上笔记本。

窗外,华灯初上。

新的一周,马上开始了。

05

周一,新公司入职第一天。

我起了个大早,换上熨过的衬衫和西裤,特意把皮鞋擦得锃亮。新的工牌挂在胸前,黑色logo看着就比耀星高级。

前台的姑娘递来一盆绿植:“林工,这是您的位置。”

我被领到靠窗的一个工位,旁边就是整面落地窗,可以看到整个城市的天际线。

这是我人生中第一次,觉得自己被当人看了。

上午熟悉环境,下午看项目文档。一切都很顺利。

直到下午四点,我的手机震动了。

是一个陌生号码。

我犹豫一下,还是接了。

“请问是林默先生吗?”

“我是。”

“我是耀星科技总裁办的工作人员,冒昧打扰您了……赵总请您务必抽时间回一个电话。”

“不好意思,我已经不在耀星了。”

“我知道,但请您……至少接一下赵总的电话。”

我沉默了几秒。

“好吧。”

挂掉电话后,我靠在椅子上,看着窗外明晃晃的阳光。

不到十分钟,赵铭的电话来了。

“小林,”他的声音听起来疲惫,甚至有点沙哑,“系统又崩了一次。”

我没说话。

“之前那次宕机,运维那边用了紧急方案顶住了。但今天上午,核心服务再次出现大规模报错,用户数据丢失,业务全停。”

“那周瑜文呢?”

赵铭沉默了一下:“他失踪了。电话打不通。”

“报警吧。”我说。

“报警没用,这是系统问题。小林,我现在郑重地求你——以赵铭个人的名义,求你回来帮一次。不是耀星,是我赵铭求林默。”

我闭了闭眼睛。

“好。”我说。

然后我打开电脑,登录了那个云端账号。

手指在键盘上敲下一行命令。

几秒钟后,一个文件夹出现在屏幕上。

有二十二个日志文件。

每一个,都记录了周瑜文在这三年里,是如何用我的工号登录服务器,修改核心代码,删除重要数据的。

第一次,是去年三月。

他删掉了我写的一个关键模块,然后用自己的代码替换了。那个替换后的代码,运行效率低了三分之一。

但没人知道。

第二十一次,是今年八月。

他偷偷把我的一个校验函数改成了可有可无的注释。

第二十二次,是国庆第二天凌晨三点。

他执行了那个毁灭性的脚本。

我把这些文件打包。

然后打了个电话给赵铭。

“赵总,我给你发一个加密文件。你拿着这个文件,去报警。”

“这是什么?”

“你想要的真相。”

电话那头,赵铭沉默了很久。

然后他说:“小林,我知道了。对不起。”

我没回答。

挂掉电话后,我把那份文件发送了出去。

然后我靠在办公椅上,看着窗外渐渐西沉的太阳。

心里忽然很平静。

不是释然,不是解气。

而是——

我终于不再欠任何人了。

傍晚的时候,新部门的同事喊我去聚餐。

我收拾好包,正要起身,手机又响了。

这次是杨辰。

“师兄,出大事了!”

“什么事?”

“周瑜文自首了。”

我愣了一下:“什么?”

“他今天去派出所投案,承认了所有事情。”

我放下包,慢慢坐回椅子上。

“他为什么要自首?”

“因为……”杨辰声音很轻,“他说,如果不自首的话,他会死。他……他说有人在威胁他。”

“谁在威胁他?”

“他说是……你。”

我愣住了。

窗外,夜色渐浓。