手机在口袋里震了一下。
我没急着看。
国庆节前的最后一天,办公室里弥漫着一种懒洋洋的散伙气息。隔壁工位的刘姐已经收拾好了包,随时准备冲出去接孩子。对面的小陈在偷偷刷机票。窗外阳光打进来,落在键盘上,浮灰飞舞。
我抿了一口凉透的咖啡,拿起手机扫了一眼。
工资条。
手指点开,从上往下慢慢看。
应发工资: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看着就比耀星高级。
前台的姑娘递来一盆绿植:“林工,这是您的位置。”
我被领到靠窗的一个工位,旁边就是整面落地窗,可以看到整个城市的天际线。
这是我人生中第一次,觉得自己被当人看了。
上午熟悉环境,下午看项目文档。一切都很顺利。
直到下午四点,我的手机震动了。
是一个陌生号码。
我犹豫一下,还是接了。
“请问是林默先生吗?”
“我是。”
“我是耀星科技总裁办的工作人员,冒昧打扰您了……赵总请您务必抽时间回一个电话。”
“不好意思,我已经不在耀星了。”
“我知道,但请您……至少接一下赵总的电话。”
我沉默了几秒。
“好吧。”
挂掉电话后,我靠在椅子上,看着窗外明晃晃的阳光。
不到十分钟,赵铭的电话来了。
“小林,”他的声音听起来疲惫,甚至有点沙哑,“系统又崩了一次。”
我没说话。
“之前那次宕机,运维那边用了紧急方案顶住了。但今天上午,核心服务再次出现大规模报错,用户数据丢失,业务全停。”
“那周瑜文呢?”
赵铭沉默了一下:“他失踪了。电话打不通。”
“报警吧。”我说。
“报警没用,这是系统问题。小林,我现在郑重地求你——以赵铭个人的名义,求你回来帮一次。不是耀星,是我赵铭求林默。”
我闭了闭眼睛。
“好。”我说。
然后我打开电脑,登录了那个云端账号。
手指在键盘上敲下一行命令。
几秒钟后,一个文件夹出现在屏幕上。
有二十二个日志文件。
每一个,都记录了周瑜文在这三年里,是如何用我的工号登录服务器,修改核心代码,删除重要数据的。
第一次,是去年三月。
他删掉了我写的一个关键模块,然后用自己的代码替换了。那个替换后的代码,运行效率低了三分之一。
但没人知道。
第二十一次,是今年八月。
他偷偷把我的一个校验函数改成了可有可无的注释。
第二十二次,是国庆第二天凌晨三点。
他执行了那个毁灭性的脚本。
我把这些文件打包。
然后打了个电话给赵铭。
“赵总,我给你发一个加密文件。你拿着这个文件,去报警。”
“这是什么?”
“你想要的真相。”
电话那头,赵铭沉默了很久。
然后他说:“小林,我知道了。对不起。”
我没回答。
挂掉电话后,我把那份文件发送了出去。
然后我靠在办公椅上,看着窗外渐渐西沉的太阳。
心里忽然很平静。
不是释然,不是解气。
而是——
我终于不再欠任何人了。
傍晚的时候,新部门的同事喊我去聚餐。
我收拾好包,正要起身,手机又响了。
这次是杨辰。
“师兄,出大事了!”
“什么事?”
“周瑜文自首了。”
我愣了一下:“什么?”
“他今天去派出所投案,承认了所有事情。”
我放下包,慢慢坐回椅子上。
“他为什么要自首?”
“因为……”杨辰声音很轻,“他说,如果不自首的话,他会死。他……他说有人在威胁他。”
“谁在威胁他?”
“他说是……你。”
我愣住了。
窗外,夜色渐浓。
热门跟贴