楔子
那天下午三点十七分,人事部刘梅把调令推到我面前,说:“林知意,公司决定把你从技术主管调为后勤专员,薪资按新人标准4000。”
我盯着那张纸看了五秒,然后当着她的面撕成四片。
全办公室都安静了。张总从里间探出头,嘴上说着“这是组织决定”,眼神却飘向别处。
我什么都没说,只把自己的东西收进纸箱。
离职流程办得很快。下班时下着雨,我没带伞,抱着纸箱走在街上。
口袋里,藏着三个月前下载完毕的——全公司所有核心系统的完整备份。
第一章 调令砸下来
九月二十五号下午,南京热得人发慌。
我在工位上改第三版架构方案,空调坏了第五天,头顶吊扇吱呀转着,带起来的风都是温的。茶水间的饮水机缺水两小时了,没人去换,大家各忙各的,汗珠子顺着脖子往下淌。
对面的小周把刘海别到耳朵后头,冲我努努嘴:“意姐,张总那边来人了。”
我抬头一看,人事部刘梅踩着细高跟啪嗒啪嗒走过来,手里捏着一个牛皮纸信封。她脸色不太自然,站定之后清了清嗓子,声音不大不小,刚好让周围三四排工位都能听见。
“林知意,公司结构调整,你这技术主管的岗位要优化掉。新岗位在后勤,薪资调整到4000,你看一下调令。”
她把信封推到我桌上。
我没动。
旁边两个实习生停下敲键盘的手,对桌的老王端着茶杯僵在半空,茶水洒出来几滴在键盘上他都没注意。空气一下子凝住了,只剩下吊扇那有气无力的吱呀声。
刘梅等了三秒,见我还不接,直接抽出调令放在我面前:“签个字,明天去后勤报到。”
“后勤哪个岗?”
“物资登记。”她说,“正好仓库老赵快退休了,你去接他的手。”
我低头看了一眼那张纸。白纸黑字,调岗理由写的是“因公司架构调整,原岗位撤销”,薪资待遇一栏写着4000。
技术主管到仓库物资登记,月薪两万二到四千。
我一共在这家公司待了六年零三个月。前端后端运维全干过,去年带团队上线的那套仓储系统,到现在还在跑着全公司的业务流。张总上个月还在季度会上说,我是公司最懂技术底层的骨干。
现在给我一张4000的调令。
张总这个时候从里间办公室探出来半个身子,手里端着保温杯,脸上挂着那种“我也不想这样”的表情。
“知意啊,这是组织决定,你也知道今年大环境不好,公司要降本增效……”他顿了顿,“你学历这块确实短板,现在外面招的技术岗基本都是研究生起步,公司也是为你考虑,后勤那边压力小。”
他没把话说完,但我听懂了。
我大专学历。这件事在我入职那年他就知道,现在忽然成了“短板”。
我盯着那张调令看了五秒,脑子里一瞬间转过很多东西。上个月系统被攻击那次,我半夜两点爬起来修复的,张总第二天汇报的时候只字没提我的名字。还有去年那个智能分拣的项目,我熬了两个月写出来的核心算法,最后申报集团创新奖的时候,牵头人写的是张总的侄子周凯。
这些事我从来没说过。
现在我也不会说。
我拿起那张调令,对折,再对折,然后当着刘梅的面,撕成了四片。
纸片落在办公桌上的声音很轻,但整个楼层好像都听见了。
刘梅脸色变了:“林知意,你这是什么态度?”
“我辞职。”我说。
张总从里间走出来,语气沉下来:“知意,你别冲动,公司这也是没办法……”
我没看他,把工位上的东西往纸箱里放。一个用了三年的马克杯,两本技术书,桌垫底下压着的那张团队合影。别的没了。
旁边小周站起来想帮我收拾,我冲她轻轻摇头。
填离职表的时候手很稳。我在公司六年,离职原因那一栏只写了三个字:个人原因。
办完手续是下午五点二十。电梯里只有我一个人,显示屏上的数字一层层往下跳。到一楼的时候手机震了一下,是刘梅发的消息:“张总说,你要是现在反悔还来得及。”
我按了锁屏。
走出大门的时候外面下雨了。不大,毛毛雨,但是积了水洼,踩上去溅起小水花。我没带伞,抱着纸箱站在门口台阶上等了一会儿,雨没停的意思。
其实我包里有一把折叠伞。
但那一刻我不想撑伞。
雨落在头发上、肩膀上、纸箱上,凉丝丝的。我沿着街边往公交站走,路过常去的那家便利店,收银大姐认出我,探出头问:“小林今天下班早啊?”
“嗯,今天早。”我说。
公交车上人不多,我坐在最后一排靠窗的位置,湿了的纸箱放在膝盖上。窗外的南京城在雨里灰蒙蒙的,路灯刚亮起来,光晕氤氲成一片。
口袋里的手机又震了两次,我没看。
三个月前,我用公司内网的权限下载了一套完整的系统备份。当时只是想留个技术参照,没别的想法。备份放在我私人加密盘里,连我男朋友都不知道。
那些数据里,包括了张总这三年所有向上汇报的PPT原件、周凯所有“自主研发”项目的原始日志、还有财务那边我没权限碰但通过系统日志能反推出来的——去年年底那笔三百万的补贴申报明细。
车里报站的声音响起来,我回过神。
纸箱里那张团队合影还湿着边角,照片上六个人站在公司楼下的桂花树前面,笑得挺开心。那棵树今年秋天还没开花。
现在想想,可能再也不会开给我看了。
但口袋里的备份文件还在。
我把纸箱往怀里拢了拢,车窗外雨小了。
手机又亮了——这一次是周凯发的:“林姐,张总让你想清楚,明天上午九点前给答复。有些东西你带走了对公司不好,对你也不好。”
我没回复,把手机翻了个面扣在膝盖上。
雨刷器在公交车前窗来回摆着,窗外的街景一片模糊。
(那个备份里,有一段日志我一直没看懂。它指向一个日期——去年十二月二十三号,凌晨两点。那个时间点,张总应该在集团年会上领奖才对。)
第二章 九十八个未接
那天晚上我到家已经快七点。出租屋不大,四十来平,客厅的灯管坏了一根,剩下一根亮着,光线暗了半边。我把纸箱搁在茶几上,换了拖鞋去烧水。
男朋友陈默还没回来,他最近在跑一个销售项目,经常加班。厨房里有他早上留的粥,我热了一下,就着半块腐乳吃了两口,实在是没胃口。
手机从进门就开始响。
第一个电话是刘梅打的,我没接。然后是张总,响了两轮,我也没接。再后来是周凯,连着打了七八个,屏幕一亮一灭,一亮一灭,暗下来的客厅里那点光闪得人眼睛发酸。
我把手机调了静音,扣在沙发上。
过了大概二十分钟,拿起来一看——三十七个未接。张总十个,刘梅九个,周凯十二个,还有几个是公司别的同事。微信消息更多,红点点了一片,小周发了十几条,全是“意姐你还好吗”“张总好像很生气”“刘梅在群里说你撕调令的事”之类的。
我一条都没点开。
正打算去洗澡,手机又亮了。这次是陌生号码,归属地显示南京。我迟疑了一下,按了接听。
“是林知意吗?我是恒创集团的赵启明。”
那个声音很稳,带着点年纪,说话不紧不慢的。
我愣了一下。恒创集团我知道,本地老牌企业,做物流起家的,规模比我们公司大出好几倍去。但我跟恒创没有任何交集。
“赵总您好。”我说。
“不好意思这么晚打扰你。”他顿了顿,“我这边有一个技术负责人的岗位空缺,想约你明天上午来聊聊。十点,方便吗?”
我握着手机没说话。太突然了,刚被降职辞退,晚上就接到行业大公司的面试电话。这不正常。
“您是怎么找到我的?”我问。
“你去年在Github上开源的那个物流调度算法,我一直关注。”他说,“后来查了一下你的履历,觉得是个难得的技术苗子。今天听说你从原公司离职了,就想尽快联系你。”
他语气很平常,没有刻意热络,也没有居高临下。但“今天听说”这三个字让我心里动了一下。
我今天下午才办完离职,他晚上就知道了。
这消息传得有点太快了。
“谢谢赵总,我考虑一下,明天给您答复。”我说。
挂了电话,我站在客厅里发了会儿呆。那根坏掉的灯管偶尔闪一下,发出滋滋的电流声。茶几上那张团队合影还湿着,我用纸巾吸了吸水,把照片立在书架边上。
手机屏幕又亮了——这一次是连续的震动,像有人按着拨号键不放。我拿起来一看,三分钟之内,同一个号码打了十六个。
是张总的私人号。
我盯着那串数字看了好几秒。在公司的六年里,张总从来没有在下班时间给我打过电话。一次都没有。哪怕是系统崩了、客户投诉了、项目要延期了,他都是让周凯或者刘梅来联系我。
现在是晚上九点四十七分,他在三分钟里打了十六个电话。
我没接。但他一直打。断了几秒,又响,断了,又响。到最后我数了一下,从下午五点半到现在,光张总一个人就打了四十三个。加上其他人的,一共九十八个。
九十八个未接来电。
我按了关机键。
屏幕黑下去的那一瞬间,我突然觉得有些好笑。在这家公司六年,我加了无数个班,填了无数次坑,写了无数行代码,他们从来没有这么急地找过我。现在我一张调令撕了、一封辞职信交了,他们倒是急了。
他们怕的是什么?
我坐在沙发角上,抱着膝盖想了一会儿。陈默还没回来,屋里很安静,冰箱压缩机嗡嗡响着,楼下有人遛狗经过,狗叫了两声就远了。
那个备份文件我存在加密盘里,插在电脑上就能打开。三个月前下载的时候,我只是习惯性地做了个技术留存。老技术人都这样,重要系统上线前会做全量备份,防止意外。但那次我备份完之后,系统没出任何意外。
平静得像什么都没发生过一样。
现在回想起来,那时候张总正在集团里申报年度技术创新奖。申报材料里,有一个模块的代码截图,我越看越眼熟——那是我前年写的,连变量命名的习惯都一模一样。但材料上写的开发人,是周凯。
我当时没声张。想着可能是张总弄混了文件,下回找他提一句就行。后来忙起来就忘了这事。再后来无意间看到更多东西,心里慢慢明白过来,那不是“弄混”。
窗外的雨彻底停了。对面楼的灯亮着几扇窗户,有人在阳台上收衣服,影影绰绰的。我忽然想起去年十二月二十三号,集团年会那天,张总上台领了最佳管理奖,周凯跟着一起上去的,两人在台上笑得红光满面。
而那天凌晨两点,公司服务器的访问日志里有一条异常记录。
IP地址来自张总办公室那台电脑,操作对象是我负责的那套核心系统,操作内容是——导出用户数据表。
我当时看到了那条日志,但系统没有报错,权限也是合法的,我以为只是张总在检查业务数据。后来忙别的事就翻过去了。
现在我知道了,那天的年会,他根本就不该出现在领奖台上。因为他凌晨两点还在公司里。
那些数据导出之后去了哪里,我当时没查。
但现在已经不重要了。
手机被我关了,安安静静地躺在沙发上。客厅里那根坏掉的灯管又闪了一下,灭了,又闪了一下。
明天上午十点,恒创集团。
我站起身来去洗澡,热水冲到身上的时候,整个人才慢慢松下来。水汽模糊了浴室的镜子,我在上面抹了一把,看见自己的脸。没什么表情,眼睛有点红,大概是今天没休息好。
洗完出来,陈默刚好推门进来。他看见我湿着头发坐在沙发上,凑过来问:“今天下班这么早?打你电话怎么关机了?”
我想了想,说:“手机没电了。”
他也没多问,去厨房热饭去了。
我坐在沙发上看他的背影,茶几上那张湿了的合影照片慢慢干了,边角微微卷起来。
明天的事,明天再说。
(后来我才知道,那天晚上张总在办公室里坐到凌晨三点。他把人事档案翻出来,看我六年前入职时签的那份竞业协议,翻来覆去看了三遍。然后他给法务打了电话,说:“明天一早来我办公室。”)
第三章 竞业协议的纸老虎
第二天早上我是被敲门声吵醒的。
陈默已经去上班了,桌上留了豆浆和包子。我披了件外套去开门,门口站的是小周。她穿着上班的衣服,手里拎着一个塑料袋,里面装着我的一个充电器和一盒薄荷糖。
“意姐,你昨天落下的。”她站在门口没进来,眼圈有点红,“刘梅今天一大早就在群里说你违反竞业协议,要去起诉你。”
我接过袋子,让她进来说。她摆摆手:“我得赶紧回去,张总今天开早会,点名所有人必须到。我来送东西是偷跑出来的。”
她压低了声音:“周凯昨天晚上在公司通宵,好像是整理什么材料。意姐你自己小心,我听到刘梅打电话,说什么‘禁止同业竞争’、‘三年内不能去同类公司’的话。”
我说知道了,让她快回去。她走了两步又回头:“意姐,你那个加密盘……小心点放。”
她说完就跑下楼了,脚步声咚咚咚的。
我关上门,站在玄关把豆浆喝了。六年前入职的时候,张总让我签过一份竞业协议,里面确实有一条“离职后三年内不得从事同行业相关工作”。但那条协议有一条附加条款——如果公司单方面调岗并降低薪酬,员工有权解除竞业限制。
这是我当年入职的时候,上一任人事经理特意加进去的。那位大姐干了两年就走了,走之前跟我吃过一顿饭,说小林你记住了,这条是你保命的东西。
我当时没太当回事,现在想想那位大姐才是真明白人。
我吃完早饭收拾了一下,换了一身干净衣服。深蓝色衬衫,黑色长裤,头发扎起来。镜子里的自己看着还算精神,就是眼底有一点青,昨晚睡得不太好。
九点四十出门,恒创集团的大楼在新街口那边,三十多层,玻璃幕墙在太阳底下亮闪闪的。我从前公司那栋矮楼出来惯了,猛地站在这种大楼前面,还有点不习惯。
前台登记,刷身份证,拿访客牌,上楼。
赵启明的办公室在二十八楼,落地窗能看见大半南京城。我到的时候他正站在窗前打电话,看见我进来,抬手示意我坐。他大概五十出头,头发灰白,身材偏瘦,说话声音跟昨晚电话里一样稳。
等我坐定了,他也挂了电话过来,亲手给我倒了杯水。
“昨晚睡得怎么样?”他问。
“还行。”我说。
他没绕弯子,开门见山:“我看了你那个物流调度算法,思路很新。恒创现在的调度系统是五年前外包做的,效率一般。今年我们上了新仓储,业务量翻了倍,系统已经撑不住了。我需要一个人从头搭一套新的。”
他递过来一份方案大纲,我翻了两页,里面写的技术路线跟我去年做的那个项目思路高度吻合。
“你去年那个开源项目,三十七次更新,所有代码我都看过。”赵启明说,“你的水平,做个技术负责人绰绰有余。薪资这块,按主管级别走,月薪三万起,试用期一个月,转正再加绩效。”
三万。
比我在原公司还高八千。
但我没马上点头。
“赵总,”我说,“我昨天刚离职,原公司那边可能有一些……”
“竞业协议是吧。”他摆摆手,“我打听过了,你签的那份协议附带调岗条款,公司单方面降薪调岗,竞业限制自动失效。法律上站不住脚的。”
他说得很笃定,显然已经做过了功课。
我在椅子上坐直了一点。他昨晚才“听说”我离职,今天连竞业协议的条款都查清楚了。这个信息获取的速度和精度,不太像是临时起意。
“赵总,我能问一句吗?”我说,“您是什么时候开始关注我的?”
他端起茶杯喝了一口,笑了笑:“你那个开源项目的第一版,是去年三月份上传的。我当时就注意到你了。”
去年三月份。
那时候我还在前公司做技术主管,张总在季度会上说“大家要有点上进心,平时多学习”。我那个开源项目是利用周末时间写的,纯粹是个人爱好,从来没用公司的时间做过。
赵启明从抽屉里拿出来一个文件夹,翻开给我看。里面打印着我那个项目的所有版本迭代记录,每一版的更新日志旁边都有手写的批注。
“我干了二十多年技术,现在虽然管业务多了,但看代码的习惯没丢。”他说,“你那个项目里的路径优化算法,国内能做出来的不超过十个。大专学历怎么了,这行看的是代码不是文凭。”
他说“大专学历”四个字的时候语气很平,没有刻意替我鸣不平的意思,但也没半点轻视。
我鼻子有点发酸,压住了。
“我考虑一下,”我说,“明天给您答复。”
赵启明点头:“不急,这个岗位我给你留着。”
临走的时候,他在门口叫住我,递给我一张名片:“上面这个手机号是我私人号,二十四小时开机。有什么麻烦,随时打。”
我接过名片,上面只有名字和号码,没有职位抬头。名片纸质很厚,摸着就有分量。
下楼的时候太阳正好,照在大楼玻璃上反光刺眼。我站在路边等公交,手机刚开机,消息哗啦啦涌进来。
小周发了条语音,声音带着哭腔:“意姐,张总把竞业协议拍照发大群了,说你要去同行公司就是违约,要告你赔三倍年薪……周凯在群里说你有公司机密数据,要报警……”
我听完,把手机揣回兜里。
公交来了,我上车找了后排靠窗坐下,车晃晃悠悠开出去。
口袋里的加密盘硌着大腿,硬邦邦的。
(赵启明名片背面有一行手写的小字,我上车才看见。上面写着:恒创法务部随时待命。原来他早就知道我会遇到什么事。)
第四章 深夜的加密盘
到家快中午了,我煮了包泡面,加了个鸡蛋。吃完坐在沙发上,把加密盘插进电脑。
盘里分了四个文件夹。第一个是系统全量备份,大概十几个G的代码和数据库文件。第二个是我平时整理的技术文档。第三个里面存的是我自己截的图和随手记的笔记。第四个文件夹只有我一个人知道密码,里面只有三样东西。
张总三年来的所有向上汇报PPT原件。周凯所有自称“自主研发”的项目原始日志。还有一份我从服务器日志里反推出来的财务明细——去年十二月二十三号凌晨两点,从公司内网导出并外发的用户数据表,以及后面跟着的一笔三百万补贴申报的审批链路。
前两样东西证明周凯的成果来源,第三样东西指向的东西更深。
我盯着那份财务明细看了很久。导出的用户数据表包含全公司客户的联系方式、交易记录、合同金额。这些数据属于公司核心资产,按规定只能在授权范围内使用。而去年那笔三百万的补贴申报里,有一部分客户的交易数据被做了调整,使得公司看起来符合某个政策补贴的门槛。
调整数据的时间,正好是数据导出后的第三天。
申报成功之后,张总在集团内部大会上受了表彰,拿了年度最佳管理奖。周凯作为项目核心成员,奖金拿了十万。
这些事当时没人知道。数据调整是在测试环境里做的,生产环境的数据没动,所以审计查不出来。但系统日志不会骗人——测试环境的操作记录,一样会写在日志文件里。
我当初备份的时候只是顺手多保存了几个日志文件。那时候我就觉得哪里不对劲,但说不上来。现在把所有信息串在一起看,就清楚了。
面吃完了,汤也喝干净了。我把电脑合上,加密盘拔下来收进抽屉里。
下午两点多,陈默打电话回来,说今天能早点下班,问我晚上想吃什么。我说都行。他听我语气有点沉,问怎么了,我说没事,工作上的事明天再说。
挂了电话我躺在床上发了会儿呆。天花板上有一块水渍,像地图的形状。楼下的老太太在放越剧,咿咿呀呀的,隔着楼板传上来,听不太清唱的是什么。
手机又响了一次。这次是陌生号码,归属地不是南京,是上海。我接起来,那边是一个年轻男人的声音:“林小姐你好,我是前程科技的HR,我们在技术社区看到你的开源项目,想邀请你来上海面试……”
“谢谢,暂时不考虑换城市。”我说完挂了。
接下来两个小时里,又打了三个类似的电话。成都一家、深圳一家、还有北京的一家创业公司,全都说是在技术社区看到了我的开源项目。
我那个项目一共才三百多star,不是什么爆款。怎么一夜之间冒出这么多猎头来。
后来小周发消息告诉我答案。她在群里看到有人转发了一条技术社区的帖子,标题很直接:“一个被降职4000的技术主管,她的代码有多强”。帖子里贴了我那个开源项目的截图、更新记录、还有几条算法核心代码片段。发帖人的ID是匿名的,但关注列表里有一个熟悉的名字——赵启明的恒创集团认证账号。
小周说:“意姐,现在整个技术圈都在传你的事。”
我把截图放大看了看。发帖时间是今天凌晨两点,帖子发出去之后,四个小时内被转了一千多次。评论区炸了锅,有人扒出来我在前公司做的几个项目,说这些系统的底层全是我的代码。还有人提到了张总的名字,问是不是去年拿奖那个。
我关掉页面,把手机放在茶几上。
下午的阳光从窗户斜着照进来,落在书架旁边那张合影照片上。照片里的六个人站在桂花树前面,天很蓝,大家表情都放松。张总站在最中间,一只手搭在我肩膀上,笑得很有领导风范。
那棵树是公司开业那年种的,我入职的时候刚过第一个秋天,小小的,还没我高。六年过去长到二楼窗户那么高了。
桂花应该快开了。
但我不在那个楼里了。
我想起去年秋天,桂花开了满院子,香味从窗户飘进来,办公室里大家加班的时候都开着窗。小周还摘了一把放在茶杯里泡水喝,说这是公司的福利。
那时候张总在群里发消息说:“大家辛苦了,等项目上线我请客吃饭。”
项目上线之后那顿饭一直没吃上。张总说忙,下个月,下下个月,再后来就没人提了。
现在回头想想,那会儿大家是真实在。实在到连一顿饭都记了半年。
晚上六点半,陈默回来了,买了半只盐水鸭和一盒桂花糕。他把菜摆上桌,开了两罐啤酒,冲我举了举杯子:“来,今天家里有喜事。”
“什么喜事?”我问。
“你那个开源项目火了。”他说,眼睛亮晶晶的,“我下午在朋友圈看见好几个人转,说南京出了个技术牛人。我仔细一看,那不是我女朋友嘛。”
我愣了一下,然后笑了。端起啤酒跟他碰了一下,泡沫洒出来一点在手指上,凉凉的。
那天晚上我们吃了顿饭,聊了些有的没的。他问我工作的事,我说有个新机会在谈。他说那挺好,支持你。
睡前我把手机放在床头柜上。屏幕安安静静的,一个未接都没有。
张总的电话,终于停了。
(但我不知道的是,那天晚上九点,张总给法务打了第二个电话。他说:“那个竞业协议如果站不住脚,有没有别的办法。比如,说她泄露公司商业秘密。”法务在电话那边沉默了很久,说:“张总,你得想清楚,这事反查起来,谁吃亏不一定。”)
第五章 法务部的沉默
第三天早上,我去了恒创集团签了入职意向书。
赵启明没有多问,只在签字之前说了一句:“你今天不来我也会打电话的。这个岗位,我等你。”
我签完字出来,他让助理带我参观了技术部的办公区。恒创的技术团队大概四十多人,年龄普遍比我大,有几个看着像四五十的老工程师,工位上贴着各种技术贴纸,墙上有一块巨大的白板,上面画满了架构图。
带我参观的助理姓何,是个二十多岁的姑娘,说话利索。路过茶水间的时候她小声跟我说:“赵总昨天下午把技术部的所有人都叫到会议室,说来了个新负责人,让我们配合。大家问是谁,赵总把你的开源项目投屏放了一遍,说,你们谁能在半年内写出这种水平的算法,我就把这个负责人的位置给谁。”
“有人接话吗?”我问。
“没人。”她说,“有几个老工程师看完之后鼓掌了。”
我站在技术部的门口往里看了一眼。里面很安静,键盘声噼里啪啦的,没人抬头看我,但那种安静里没有排斥的意思。干技术的都懂,服不服一个人,看代码就行了。
办完入职手续下楼,我在大厅里碰见了一个熟人。
前公司的人事经理——就是六年前让我加竞业协议附加条款的那位大姐。她姓梁,大我十来岁,走的时候说是去了一家国企。没想到在恒创的大厅里碰见她。
“小林!”她先认出我,走过来拍了拍我的胳膊,“听说你来了?太好了。”
她穿着恒创的工牌,职位写的是行政总监。我这才反应过来,她当年从原公司离职之后来了恒创,而且干到了管理层。
“梁姐,那份竞业协议的附加条款……”
“我加的。”她笑着说,“当年我就看出来张总那个人心术不正。那会儿你刚入职,啥也不懂,我看你技术好又老实,怕你以后吃亏,就多给你留了个后路。没想到真用上了。”
她看了一眼手表,说:“中午有空吗?我请你吃饭,顺便跟你说点事。”
我们去了大楼旁边的一家小馆子,人不多,找了个角落坐下。梁姐要了两碗鸭血粉丝汤,边吃边跟我说。
“张总那边的事,我多少知道一些。”她夹了一筷子粉丝,“去年那笔补贴申报,财务那边有人跟我提过一嘴,说数据有点问题。我当时已经不在公司了,也没多问。但你那个加密盘里要是存了日志文件,这事就能说得清楚。”
“你怎么知道我有个加密盘?”我放下筷子。
“小周跟我说的。”她说,“那姑娘聪明,知道你留了东西。她昨天打电话跟我说,张总在群里叫嚣要告你泄露商业秘密。我让她别慌,今天等你来了当面告诉你。”
她把声音压得更低了:“张总那笔补贴是三百万。这事要是捅出去,他不光是丢工作的事。你做任何决定之前,先想清楚自己要什么。”
“我要的很简单。”我说,“好好做技术,好好过日子。他们别来惹我,我也不想惹事。”
梁姐看了我一会儿,点了点头:“那就好。那你就按自己的节奏走。”
从馆子出来,太阳很大,我站在路口等红灯。手机震动了一下,是赵启明发的消息:“明天正式入职,技术部九点半开晨会,你主持。”
我回了个“好”字。
绿灯亮了,我过了马路。
身后那栋恒创的大楼在阳光底下亮堂堂的,玻璃幕墙上映着云。我走了几步又停下来,回头看了一眼——二十八楼赵启明的办公室窗户开着,他站在窗边,手里端着一杯茶,正好也往下看。
隔着几十米的距离,他冲我点了一下头。
我转身走了。
那天下午我哪也没去,回了出租屋,把加密盘从抽屉里拿出来,又插上电脑看了一遍那些文件。梁姐说的话在脑子里转了好几圈:“你做任何决定之前,先想清楚自己要什么。”
我想清楚了。
我要的不是报复,也不是把谁送进去。我要的是安安静静做我的技术,去恒创搭那套新系统,让更多人用上更好的物流调度方案。
至于那个加密盘,它就在那儿。我可以不用它,但它必须在我手里。
就像六年前梁姐让我签那份附加条款时说的——这东西你不一定用得上,但你得有。
天快黑的时候小周发来一条消息,是一张截图。前公司的工作群里,有人发了恒创集团官网上新挂的招聘公告,技术负责人那栏写着我的名字。
截图下面,周凯发了一行字:“这么快就入职了?等着收律师函吧。”
刘梅跟着发了个“附议”的表情。
然后张总在群里说了一句话:“大家安心工作,公司会依法维护权益。有些人手脚不干净,走不远。”
小周在消息底下问我:“意姐,你怕不怕?”
我给她回了一句:“不怕。”
然后我把手机放下,去厨房给自己倒了杯水。
窗外的天快黑了,南京城的万家灯火陆陆续续亮起来。远处有晚霞,橘红色的,烧了半边天。
明天要上班了。
(那天晚上九点半,前公司的财务主管给梁姐打了个电话。她说梁姐,我看了你发给我的那个日志截图,那笔补贴申报里的数据调整,用的是我的账号。但我那天请假了,不在公司。她说到最后声音发抖:我账号的密码,周凯知道。)
第六章 第一次晨会
十月一号,我正式入职恒创集团。
早上八点半到公司,前台换了张新面孔,看见我刷工牌进来,笑着打了个招呼。我点点头进了电梯,二十八楼。技术部里来了大半的人,有人端着咖啡看代码,有人趴在桌上补觉,角落里两台显示器放着昨晚跑的测试数据。
我站在门口看了看时间,还有一小时开会。
结果九点不到,赵启明就推门进来了,手里夹着一沓打印纸,冲我招招手:“来,先把这个看了。”
我接过来翻了翻,是旧系统的全套技术文档。写得那叫一个乱,注释七拼八凑,光“TODO”标记我就数了十几个。有些模块的开发者署名早在三年前就离职了,后面接手的换了三拨人,代码风格五花八门,一个类文件里能同时出现驼峰和下划线两种命名法。
“外包做的,当时图便宜。”赵启明说,“现在业务量上去了,天天报警。上周五晚上仓储那边卡了一单,整整四个小时才恢复,客户电话打到我这来骂了半小时。”
我合上文档:“给我两周,我把架构方案拿出来。”
“不着急,你先熟悉环境。”他说,“今天晨会你主持,跟大家认识认识。”
九点半,技术部的会议室坐满了人。四十多号人挤在一个长条桌周围,有人没地方坐就靠在墙边站着。投影仪开了,白墙上一片白光。我站在最前面,没准备PPT,就拿了支笔在白板上写了个字——“稳”。
“旧系统的问题不在功能上,”我转过来面对大家,“在架构。功能再多的系统,底层不稳,业务一涨就崩。接下来两周我会出一套新架构方案,到时候按模块拆给大家做。每个人负责什么,我会根据你们的技术栈来分。有不熟悉的模块也没关系,我带着做。”
底下安安静静,都在看白板上那个“稳”字。
一个四十来岁的老工程师举了举手,我示意他说。他推了推眼镜:“你那个开源算法我看了,里面那条最短路径优化思路,以前没见过。你是参考了哪篇论文?”
“没参考论文,”我说,“是我自己推的。前年给前公司做仓储调度的时候遇到一个问题,车多路少,老是堵,我就自己写了一套动态权重算法。后来下班了抽时间整理出来开源的。”
他又推了推眼镜,没再问了。但我看见他在笔记本上记了什么东西。
旁边两个年轻工程师凑在一起嘀咕了几句,声音不大,我听见一句“赵总挖来的人确实不一样”。
晨会开了四十分钟。我把旧系统的模块挨个捋了一遍,每个模块的负责人、技术难度、现存问题都标在白板上。白板写满了,又擦掉一遍。
散会的时候大家陆陆续续往外走,那个老工程师路过我身边,放了一张纸条在桌上。我展开一看,上面写着一个算法逻辑的优化建议,手写的,字很工整。
我追出去两步:“师傅贵姓?”
“姓刘,叫我老刘就行。”他摆摆手走了。
下午开始看代码。旧系统的代码量不小,我一行一行过,边看边做笔记。太阳从落地窗照进来,光斑从桌角慢慢移到中间又移走,不知不觉天就暗了。
六点整,赵启明来技术部转了一圈,看我还坐在工位上,敲了敲我桌面:“第一天就加班?别搞太晚。”
“看完这几行就走。”我说。
他走了之后我又看了半小时,把最后一个模块的代码结构整理完。合上电脑的时候,手机亮了。梁姐发的消息,就一句话:“前公司今天有人来恒创打听你了。说是有个叫周凯的,打电话到前台,问你是不是在这里上班。”
我把手机放回桌上,盯着屏幕看了一会儿。前台是新来的,不懂情况,大概随口就说了。但周凯这个电话打过来,说明张总那边还在盯着我。
他们到底在怕什么?
我那个加密盘里的东西,我从来没有对任何人公开过。备份文件在我的私人盘里安安静静地待了三个月,我连陈默都没告诉过。张总不知道我手里有什么,但他肯定在担心我手里有东西。
一个心里没鬼的人,不会这么紧张。
下班的时候天全黑了,新街口那边霓虹灯亮得晃眼。我走在路上,脑子里还在转那套新架构的事。恒创的业务逻辑比我前公司复杂得多,光仓储节点就分布了十几个城市,每个节点的数据格式都不一样。要把这些整合成一套统一的调度系统,不是个轻松的活。
但我喜欢这种挑战。
路过小区门口那个水果摊,老板娘认识我,招呼说:“小林今天回来晚啊?橘子新到的,拿几个回去吃?”
我说好,挑了几个橘子。装袋的时候她又说:“昨天有个男的来打听你,说是你老同事,问你是住几栋几零几。我说不知道,我们小区几百户人家我哪记得住。”
我拎着橘子站在路灯底下,橘子的皮在光下面泛着青黄色。
“那人长什么样?”
“瘦高个,戴眼镜,看着挺精神的。”老板娘想了想,“他说他姓周。”
我谢过老板娘,拎着橘子回了家。
进了门把橘子放在茶几上,没开灯,先站在窗前往下看。楼下路灯亮着,有人在遛狗,有老太太在长椅上坐着,小区安安静静的。
没看见姓周的。
我拉上窗帘,开了灯,把橘子剥了一个吃。很甜,汁水足,就是有点酸尾巴。
陈默加班还没回来。屋里安静,我坐在沙发上,对着茶几上那个加密盘看了半天。
最后把它重新收进了抽屉最里面。
(后来我才知道,周凯那天不光去了我住的小区,他还去了恒创大楼旁边的咖啡厅坐了一整个下午。前台小姑娘说,那个戴眼镜的男的问她林知意在哪个部门、工位在几楼。小姑娘被问烦了,说你找她打她电话呀,问我干什么。周凯笑了笑,说电话打不通。)
第七章 桂花开了
接下来一周,我每天九点到公司,晚上七点走,中午跟技术部的同事一起在食堂吃饭。恒创的食堂比前公司好多了,自助式的,菜品每天换,周三有红烧肉,周四有清蒸鱼。
老刘跟我坐一桌,每次都挑靠窗的位置。他话不多,但技术上的事一点就透。我跟他说新架构的底层要用消息队列做异步解耦,他点了点头,下午就把他之前写过的一个消息中间件的测试数据发给我参考。
技术部的氛围跟我以前待的地方不一样。大家各干各的,很少有那些虚头巴脑的会,也没人整天盯着谁几点来几点走。偶尔遇到技术难题了,三四个人凑在工位边上讨论一阵,写几行代码试一下,成了就散,不成接着讨论。
我越来越觉得,赵启明挖我来是对的。不是因为我多厉害,是因为这里的人对技术是认真的。
周五下午,老刘忽然走到我工位前,递过来一个保温杯:“给你泡了杯桂花茶,楼下那棵桂花树开了。”
我愣了一下。想起来前公司院子里也有一棵桂花树,每年秋天开满院子。但那棵树什么时候开的,今年大概没人会告诉我了。
“谢谢刘师傅。”我接过杯子。
“客气啥。”他说,“你要是不嫌弃,下周有个技术分享会,你来讲讲那个动态权重算法?”
“行啊。”
我喝了口桂花茶,满嘴都是清甜的香气。
那天晚上下班的时候,我特意从恒创大楼的侧门绕了一圈。楼下绿化带里果然种着一棵桂花树,比前公司那棵还大,金黄色的花密密麻麻缀在枝头,夜风一吹,香味扑鼻。
我站在树下看了一会儿。路灯昏黄的光从树叶缝隙里漏下来,落在脚面上斑斑点点。远处有下班的人说说笑笑走过去,有人骑电动车按着铃,声音在傍晚的空气里传得很远。
手机响了一声,是梁姐。
“小林,有件事我得跟你说。今天下午前公司有人来恒创了,行政那边通知的我。来的不是周凯,是张总自己。他跟前台说找赵总谈业务合作,前台把他带上去了。”
我站在桂花树下,收起了手机。
张总来找赵启明谈业务合作?前公司的业务体量不到恒创的五分之一,两家公司做的方向虽然都是物流相关,但前公司那个盘子,根本够不上跟恒创合作的门槛。
他心里清楚,我也清楚。他根本不是来谈合作的。
“然后呢?”我打字问。
梁姐隔了一会儿才回:“赵总在办公室见了十五分钟。张总出来的时候脸色不太好,走的楼梯,没坐电梯。赵总后来跟行政说了句话——‘以后这个人来,不用往上报了。’”
我把手机揣回兜里,抬头又看了一眼那棵桂花树。香味比刚才更浓了一些,大概是风转向了。
张总亲自来了恒创,又灰着脸走了。赵启明跟他说了什么,我无从知道。但从那句“不用往上报了”的语气来看,应该不是什么愉快的内容。
我想起赵启明给我的那张名片,背面那行字——“恒创法务部随时待命”。
他大概是跟张总提了法务部的事。
我慢慢走回小区,路边水果摊的灯还亮着,老板娘在收摊,看见我喊了一声:“小林,今天橘子特价,五块钱三斤,带点儿?”
“好,来三斤。”
我拎着橘子往家走,走到楼下的时候抬头看了一眼,我家的窗户亮着灯。陈默回来了。
上楼开门,果然是他。他正在厨房炒菜,油烟机嗡嗡响,香味飘出来,是青椒肉丝的味道。他听见门响,探头出来:“今天回来挺早,洗手准备吃饭。”
我把橘子放在茶几上,去洗手。水流过手指的时候,我从镜子里看见自己的脸,嘴角弯着。
陈默端着菜出来,看见我在笑,问:“捡钱了?”
“比捡钱高兴。”我说,“桂花开了。”
他莫名其妙地看了我一眼,把菜放到桌上,又回厨房拿碗筷去了。我坐在餐桌前,筷子摆好,碗里盛好了饭。
桌上的手机亮了。小周发的消息,就一句话,但后面跟着的是一张截图。
截图是前公司群里张总发的通知:“鉴于公司业务调整,周凯同志即日起不再担任项目经理职务,调往业务拓展部,薪资按新岗位执行。”
小周下面跟了一条语音。我点开,她的声音压得很低:“意姐,张总今天从外面回来之后,把周凯叫进办公室谈了半小时。周凯出来的时候脸都白了。他桌上那个‘项目成果展’的相框也收走了。”
我听了两遍。把手机扣在桌上,拿起筷子吃饭。
陈默夹了一块肉放在我碗里:“快吃,凉了。”
我嗯了一声,扒了两口饭。青椒肉丝炒得有点咸,但很香。窗外的桂花香从半开的窗户飘进来,混着饭菜的气味,暖融融的。
那天晚上我睡得特别好。一夜无梦。
(但周凯被调岗的消息传出去之后,前公司底下几层的人开始悄悄议论了。有个跟财务关系好的行政小姑娘说,她那天下班看见周凯一个人在楼梯间里打电话,语气很冲,说“你不能这么对我,那些东西你也有份”。电话那头是谁,她没听见。)
第八章 测试环境里的脚印
周末在家,我把新架构的初版方案写完了。框架搭好,每个模块的分工列得清清楚楚,连老刘提的那个优化建议我也整合进去了。
周一拿到公司给赵启明看,他翻了翻,指着其中一页:“这部分接口设计,跟你去年开源那个项目的思路很像。”
“就是那个思路的升级版。”我说,“那套算法适合小规模调度,恒创的业务量上去了得做分布式改造。”
他合上方案:“那就开干。预算和人力我批,你放手做。”
过了两天,老刘他们就开始按方案跑起来了。我在旁边看着,时不时给点指导。那帮老工程师底子厚,给个方向自己就能折腾出来,省了我很多事。
一切顺顺当当的,唯独有一件事让我心里一直放不下。
那天午休的时候,我翻了一下旧系统的日志。这是职业习惯,接手新系统之前都要摸清楚它的底细。旧系统是外包做的,日志写得潦草,但有一条记录引起了我的注意。
三个月前——也就是我刚下载完加密备份那阵子——恒创的系统被外部IP扫过一次端口。IP归属地显示南京,扫描深度很专业,不是普通的脚本小子。
当时安全部门报了警,查了一阵没查出结果,后来不了了之。
但那个IP地址,我看着眼熟。
我翻了翻自己手机里存的工作记录,找到了一张截图——那是前公司内网的出口IP段。那个扫描恒创系统的IP,跟周凯工位上电脑曾经用过的临时IP,在同一个C段。
也就是说,三个月前,有人在周凯那个网段里扫过恒创的系统。
而三个月前,正是我从内网下载备份之后没多久。
我合上电脑,靠在椅背上想了半天。如果那个扫描真的是周凯干的,他在找什么?找我的备份?还是找恒创的系统漏洞?
不管找什么,说明张总那边在那时候就已经在防着我了——甚至可能是在我撕掉调令之前。
他们是不是早就知道我下载了备份?
这个念头让我后背凉了一下。我反复回想三个月前的场景。那天下载备份是中午休息时间,技术部人不多,我坐在自己工位上操作,旁边小周趴在桌上睡觉,老王戴着耳机看视频,没人注意我在干什么。
但是系统有操作日志。任何管理员权限的账号下载了数据,都会有记录。而张总,是有权限查看那些日志的。
他可能早就在系统里设置过监控。技术主管的一切敏感操作,都自动抄送了一份到他的邮箱。
如果是这样的话,他就知道我手里有备份。他知道我手里有东西,但他不知道具体是什么,也不知道我把东西存在了哪里。所以他才紧张,才让周凯来找我的住处,才亲自去恒创找赵启明。
他想在我出手之前把事情压下去。
我站起身来去茶水间接了杯水。站在窗前往下看,楼下那棵桂花树在风里轻轻摇着,金黄色的花瓣落了一地。
手机震了。赵启明发的消息,让我去他办公室。
我放下杯子过去。赵启明坐在办公桌后面,面前摊着一份文件。他脸色比平时严肃一些,见我进来,示意我关门。
“前公司那边的事,你打算怎么处理?”他开门见山。
“我没打算主动处理什么。”我说,“他们别来惹我,我就不提那些事。”
赵启明看了我一会儿,点了点头。他把面前那份文件推过来给我看。我扫了一眼,是一份法律意见书,恒创法务部出的。上面写得很清楚:恒创集团从未收到过任何关于我方员工泄露商业秘密的有效指控。针对不实传言,我司保留追究法律责任的权利。
“这份东西我还没发出去,”赵启明说,“要不要发,你决定。”
我看了半天那几行字,最后说:“先留着吧。我说了,只要他们不来惹我,我不动。”
“那就留着。”他把文件收进抽屉里,“不过我得提醒你一句,你不动不代表他们不会动。有些人你给他留面子,他以为你好欺负。”
我站在他办公桌前,想了一会儿。
他说得对。
我手机里还有小周发来的那张截图,周凯被调岗之后的工资流水——从前公司的内部系统流出来的,有人偷偷拍了一张。周凯的月薪从两万二降到了一万二,降幅比我当时还大。
有同事在底下偷偷给小周发消息说:“周凯今天在走廊上跟张总吵起来了。张总说这是组织的决定,周凯说当初让我干那些事的时候你怎么不说组织。走廊上好几拨人听见了。”
我放下手机,从赵启明办公室走出来。
走廊尽头的窗户开着,桂花香飘进来,比前几天更浓了。秋天越来越深,树下那圈泥土上落满了金黄。
我站在窗前看了一会儿,转身回了工位。
那一页日志还开着。屏幕上那串IP地址在反反复复亮着,像一只猫的眼睛。
(法务意见书末尾还有一行附加说明,是用红笔写的:“另,经查,三百万补贴申报所涉客户名单中,有十二家企业的联系方式与恒创集团供应商名录重合。此事若被关联审查,原公司可能面临双重追责。”)
第九章 周凯来了
周三下午,技术部正在跑联调测试,我盯着监控屏上的数据流,忽然前台打了电话上来:“林主管,楼下有位姓周的先生找您。”
我把鼠标放下。
姓周的。周凯。
“让他上来吧。”我说。
旁边老刘听见了,抬头看了我一眼,没说话,但手放在键盘上没动。我冲他摆摆手:“没事,聊两句。”
五分钟后电梯门开了,周凯走出来。他瘦了一些,戴的那副眼镜还是原来那副,镜片反光看不清眼神。穿了件灰色夹克,手里什么也没拿。
他站在技术部门口没进来,我也没请他进来。我们就站在走廊上,隔了两步远。
“林知意。”他先开口,声音比之前低了很多,“我想跟你谈谈。”
“谈什么?”
他看了一眼我身后的技术部,压低声音:“那个备份,你知道我说的是哪个。三个月前你下载的那些东西,张总查到了。他一直在找你藏在哪儿。”
“我没藏。”我说,“东西在我私人盘里,我自己的东西想放哪儿放哪儿。”
周凯的嘴角抽了一下。他往前凑了半步,声音压得更低:“你手里那些东西对张总是个威胁,对我也是。我承认,我以前干的一些事……不光彩。但那些事不是我自己要干的,是他逼的。”
“他逼你拿我的代码?”
“他说你写的东西好,让你挂名申报能拿奖。”周凯搓了搓手指,“我当时刚转岗,想站稳脚跟,就没多想。”
他说话的时候眼神一直没敢直视我。这点我倒不意外,周凯这个人从来都是这样的,正面刚的时候靠张总撑腰,真要面对面谈了,他连看人的胆量都没有。
“你今天来找我,想说什么?”
周凯沉默了几秒钟,从夹克口袋里掏出一个U盘,举在我面前:“这里面是我存的一些东西。张总让我修改财务数据的记录、跟外部合作的往来邮件……你要是需要,我可以给你。”
我看着那个U盘,没接。
“你这是想拿这些东西换我闭嘴?”
“不是……”他声音有点发颤,“我是想说,你手里的东西要是放出来,我肯定完了。但张总也不会好到哪里去。你只要不动那些数据,我保证以后不再找你的麻烦。”
走廊里安静了几秒。技术部里有人出来倒水,看见我俩站在那儿,又缩回去了。
我看着周凯。他站在走廊的灯底下,影子缩在脚边,瘦了一大圈。这个人当初拿着我的代码去申报创新奖的时候,穿得人模狗样的,在公司大群里发红包,说“感谢团队支持”。那时候的周凯,跟眼前这个灰扑扑的人,不像同一个人。
“U盘你拿回去。”我说,“我不需要你的东西。我也不打算告谁、举报谁。但你回去告诉张总,那份备份在我手里,只要他不乱来,我也不会乱来。”
周凯把U盘攥在手里,指关节发白:“他真的会乱来。你不懂,他这个人,你越退他越进。”
“那他要做什么?”
周凯张了张嘴,没说出口。最后他把U盘揣回兜里,往后退了一步:“我来找你这事,你别告诉赵总行不行?我……我还想在这行混下去。”
我没答应也没拒绝。他转身走了,脚步声在走廊尽头渐渐小了。电梯叮的一声响,他进去了。
我站在走廊上没动。桂花香从楼道窗户飘进来,甜丝丝的。秋天的阳光很淡,照在走廊的地砖上不怎么暖和。
周凯最后那句话一直在脑子里转——“他这个人,你越退他越进。”
我退回工位,坐下。老刘端了杯茶放我桌上,没问什么。
电脑屏幕上,测试数据还在平稳跑着,一条条绿线拉过去,干干净净的。
(那天晚上周凯回到前公司,发现自己的工位已经被清空了。电脑搬走了,抽屉里的东西装在一个纸箱里放在地上。行政小姑娘说张总吩咐的,让你明天不用来了。周凯站在那个纸箱前面愣了很久,最后弯腰把箱子抱起来,从后门走了出去。)
第十章 匿名邮件
那天下班前,小周给我打了个电话。她声音很急:“意姐,公司出事了。今天下午集团总部来了审计组,把财务室给封了。”
我握着手机站住了。
“为什么审计?”
“有人匿名举报,说咱们公司去年那笔补贴申报存在数据造假。”小周咽了口唾沫,“举报材料里附了很详细的证据,包括系统日志截图、数据修改记录、还有一份内部邮件截图。张总今天下午被叫去总部谈话了,到现在没回来。”
我沉默了一会儿。
匿名举报。详细的证据。系统日志截图。
我那个加密盘还在抽屉里,谁也没动过。
“你知道是谁举报的吗?”我问。
“没人知道。”小周说,“但我听说,今天早上周凯去公司把自己的东西搬走之后,有人看见他坐在楼下咖啡厅里用了很久的笔记本电脑。他走之后,那家咖啡厅的WiFi记录里有一个匿名邮箱的登录痕迹。”
周凯。
他那天来恒创找我,说U盘里存了东西。我没要他的U盘,但他手里那些材料,他自己留着。
他给自己留了一条后路。
“审计组来了多少人?”我问。
“七八个,有一个看着像领导的,直接去张总办公室坐了半小时。刘梅出来的时候脸都是白的。财务主管张姐被叫去问话,到现在还没出来。”
我说知道了,让小周先别慌,照常上班就行。
挂了电话,我站在工位旁边。天快黑了,落地窗外晚霞烧得通红。同事陆续下班,有人跟我打招呼说先走了,我点头回应。
等人都走得差不多了,我坐下来,打开电脑。
前公司的官网还开着,首页上张总那张获奖照片还没撤。照片里他穿着西装站在台上,手里举着水晶奖杯,牙很白,笑得很有派头。
我盯着那张照片看了一会儿,然后关掉了页面。
桌上的手机震了一下,是梁姐发的消息。她说:“小林,消息你大概听说了吧。审计组下午到了,带队的是集团审计部的孙部长。我认识他,这个人查案子很细。不出意外的话,这一周就会有初步结论。”
我给她回了一句:“谢谢梁姐。”
她说:“谢我干什么,又不是我举报的。”
过了两秒她又发了一条:“不过说实话,周凯那小子今天把东西交出去,算是给自己留了条活路。审计组那边如果认定他是配合调查、主动提供证据,处理上可能会轻一些。张总那边就不好说了。”
我把手机放在桌上。
窗外天黑了,大楼里的灯亮起来。技术部这层就剩我一个人,显示器发出的光照着桌面上散落的文件和茶杯。
周凯把东西交出去了。他那天来恒创找我,大概是想试探我手里的备份到底有多少。发现我确实有东西之后,他怕我先出手,于是自己先动了。
聪明。自私。但也算是做了他该做的事。
我靠在椅背上,忽然觉得很累。这半个多月来,从撕掉那张调令到今天,好像过了很久。
抽屉里那个加密盘安安静静地待着,里面的东西我从头到尾没往外发过一封邮件、传过一张截图。但我什么都不用做,事情自己就转了方向。
那个在三百万补贴里做了手脚的人,终究会被查出来。那个拿别人代码去申报奖项的人,终究要面对后果。那个签了竞业协议想拿它来卡我脖子的人,现在正在总部办公室里被审计组问话。
我没动过一根手指头,但事情走到了它该走的地方。
赵启明那天问我打算怎么处理那些事,我说只要他们不来惹我,我就不动。
他们来惹过我了。调令、竞业协议、周凯上门、张总去恒创施压。
但我还是没动。
因为我知道有些事,不需要我动。
我做我的技术,搭我的系统,等我的桂花茶凉了再续一杯。时间会把答案摆在每个人面前。
我关了电脑,收拾好东西下楼。楼下大厅的保安认识我了,笑着打了个招呼:“林主管今天走这么晚?”
“加了会儿班。”我说。
走出大门,夜风凉凉的,桂花香还在。我深深吸了一口气,往公交站走去。
手机响了。赵启明发的消息,就一行字:“新架构方案我看了三遍,很棒。下周开始落地吧。”
我站在路灯底下,把那行字看了两遍。
然后我回了一个字:“好。”
(第二天的太阳照常升起来。前公司的审计还在继续,张总的办公室门关着,窗帘拉得严严实实。恒创这边,技术部的白板上新画了一张架构图,老刘他们围在旁边看着。我站在白板前拿笔在上面画了一个圈,说:“这个模块老刘来带,下周三之前给初版。”老刘推了推眼镜,说:“没问题。”)
第十一章 审计的风向
星期五下午,前公司的审计有了初步消息。梁姐给我发的消息很简短:“审计组确认补贴申报材料中存在数据异常。三笔客户交易的合同金额与实际对账不符,差额总计八十七万。财务主管张姐承认账号被借用,但无法说明修改操作是谁执行的。”
我把消息看了两遍。八十七万,占那笔三百万补贴的将近三成。这么大的缺口,审计组不可能放过。
我问梁姐:“张总那边什么反应?”
“还在总部会议室里没出来。”梁姐说,“孙部长亲自问话,从上午九点到现在,中间只出来上了两次厕所。刘梅跟行政那边说,张总叫了律师,但律师来了之后在休息室等了两个小时,一直没被叫进去。”
律师来了但没被叫进去。这说明审计组掌握的证据足够充分,根本不需要跟你扯法律条文,他们走的是内部监察程序。
快下班的时候小周给我打电话,声音压得很低:“意姐,张总回来了。刚才从总部回来的,脸色发青,走路都有点晃。回来之后直接进了办公室,把门反锁了。刘梅想进去送材料,敲了半天门没人应。”
“周凯那份举报材料,审计组核实了吗?”
“核实了。”小周说,“今天下午审计组的人去了一趟周凯住的地方,待了大概一个钟头出来的时候拿了一个牛皮纸袋。刘梅说里面装的是打印出来的邮件截图和日志文件原件。”
周凯把东西交得很彻底。从他去恒创找我的那天来看,他应该已经准备好后面的事了。
我说:“小周,你这几天注意安全。该上班上班,不该说的别说。”
“我知道的意姐。”她说,“我就是心里有点慌,公司乱成这样,都不知道下个月工资还能不能正常发。”
“能发。”我说,“恒创这边赵总跟我说过,前公司是集团全资子公司,审计归审计,员工的工资和合法权益不会受影响。”
小周在电话那边松了口气:“那就好。”
挂了电话,我坐在工位上没动。旁边的落地窗外夕阳正好,橙红色的光铺了一桌。我盯着那些光斑看了一会儿,赵启明从走廊那头走过来,手里端着杯茶,往我工位这边看了一眼。
“还没走?”
“正准备走。”
他在我旁边的空椅子上坐下来,喝了口茶:“前公司的审计结果,你听说了吧?”
“听说了。”
赵启明把茶杯放在桌上,看着他手指上的茶渍:“集团那边今天下午开了一个临时会议,讨论对张总的处理方案。不出意外的话,下周一会有正式文件下来。我提前跟你说一声,让你有个心理准备。”
“什么处理方案?”
他看了我一眼:“调离管理岗位,接受进一步审查。补贴申报的事如果没有更严重的问题发现,大概率是记大过、降职、追回奖金。但如果有其他问题被挖出来,那就不好说了。”
我点了点头。
赵启明站起来,拍了拍椅背:“走吧,下班了。别老加班,你那个新架构该跑的数据明天再跑也来得及。”
他走了两步又回头:“对了,下周三有个集团技术交流会,各子公司的技术负责人都会来。你准备一下,讲讲你那套调度算法的思路。我帮你报了名。”
他说完就走了,脚步声在走廊里渐渐远。
我坐在那里把他的话过了过脑子。集团技术交流会,各子公司技术负责人都会来。也就是说,前公司那边现在的技术负责人也会来。
前公司现在的技术负责人是谁?张总调岗之后,原来那个位置空出来了,暂时由谁在顶?
我不太清楚,但也不打算打听。
那天下班回家,路过水果摊的时候老板娘叫住我:“小林,今天有新到的柿子,软糯得很,拿几个回去?”我买了一把柿子,拎着上楼。陈默今天又加班,屋里黑着灯。我开了客厅灯,把柿子放在桌上,去厨房下了碗面条。
吃面的时候手机亮了。小周发来一条消息,是一张照片。照片里拍的是前公司一楼大厅的公告栏,上面贴了一张新的通知:“经集团研究决定,即日起张明同志不再担任本公司总经理职务,相关工作由副总经理暂代。公司各项业务照常运行,请全体员工安心工作。”
通知的落款是集团人事部,时间是今天下午五点。
张明。那是张总的全名。在公司六年,所有人都叫他张总,我差点忘了他全名叫这个。
通知贴出来的时候,大厅里围着不少人看。小周说张总下午六点多从侧门走了,手里拎了一个公文包,没开车,也没让任何人送。刘梅在办公室哭了,说自己什么都不知道。
我把照片放大看了看。通知是普通的A4纸打印的,盖了红章,字迹清晰。贴公告栏的位置以前贴的是张总的获奖喜报,现在换了。
我关了手机,吃完面条洗了碗。柿子软了,捏了一个剥皮吃,甜得粘牙。
窗外的天彻底黑了。楼下有人放了一串小烟花,大概是哪家孩子过生日,噼里啪啦响了几秒钟就没了。烟花的亮光在窗玻璃上闪了一下,然后暗下去。
我在沙发上坐了一会儿,站起来把加密盘从抽屉里拿了出来。
盘还插在电脑上,里面四个文件夹整整齐齐。我盯着它们看了几秒,然后动手把第三个文件夹里的所有截图和笔记——那些关于补贴申报数据异常的记录——复制了一份出来,存到了桌面新建的一个文件夹里。
然后我打开邮箱,给梁姐发了一封邮件。内容只有一句话:“梁姐,我这里有补贴申报相关的一些日志记录备份。如果审计组需要原始数据佐证,我可以提供。”
我按了发送。
做完这件事,我把加密盘从电脑上拔下来,重新放回抽屉。桌面那个新建的文件夹我没删,但设了个简单的密码。
如果审计组需要,我能给。如果他们不需要,这些东西就继续安安静静地躺着。
我起身去洗了把脸,站在镜子前端详自己。半个月前撕掉调令那天,镜子里的自己眼睛发红,嘴唇抿得紧紧的。现在再看,神色松了许多,眼底虽然还有淡淡的青,但整个人看起来是舒展的。
有些事急不得。时间会给每个人应该得到的东西。
(那天晚上我睡着之后,手机收到了一条陌生号码发来的短信。短信只有三个字:“谢谢你。”号码归属地是南京,尾号跟周凯以前在公司内部通讯录上留的那个一模一样。我没回,翻了个身接着睡了。)
第十二章 技术交流会
周三早上八点半,集团的交流会在总部大楼的会议厅举行。我穿了件深灰色西装外套,里面是白衬衫,头发扎了个低马尾。赵启明在门口等我,见了面上下打量一眼:“精神。”
会议厅不小,摆了六排长桌,坐了大概七八十号人。各子公司的技术负责人挨个上台讲自己的项目和经验。有人讲仓储自动化,有人讲数据分析平台,有人讲接口标准化。底下的人时不时举手提问,气氛挺热络的。
轮到我的时候是上午倒数第二个。
我走上台,没带PPT,只把电脑接了投影,白底黑字打了一页,上面写了题目:“动态权重算法在物流调度中的实际应用”。
底下安静下来。我扫了一圈,坐在第三排左边的那个人有点眼熟,想了半天才认出来——那是前公司现在的代理技术负责人。姓马,以前是张总手下的运维组长,老实巴交一个人,跟张总不算亲近,但也不得罪人。
他看见我站在台上,表情有点惊讶,但很快朝我轻轻点了一下头。
我收回目光开始讲。从业务痛点讲到算法思路,从模型设计讲到落地效果。中间穿插了两段实际跑出来的数据对比,旧系统和用了我那套算法之后的新方案,调度效率提升了百分之四十。
讲到一半的时候台下有人举手,是总部那边一个头发花白的老技术总监:“你这个动态权重的计算逻辑,在节点数量超过五十个的时候会不会出现收敛过慢的问题?”
“会。”我说,“所以我在算法里加了一个预剪枝的环节。具体来说就是……”
我在白板上画了张简单的示意图,解释了预剪枝的逻辑。那位总监边听边点头,等我讲完了,他站起来鼓了两下掌。
接下来提问的人多了起来,有人问技术选型,有人问数据一致性保障,有人问和现有系统的兼容性。我一个一个答,没敷衍任何一个问题。
大概讲了四十分钟,主持人在旁边示意时间到了。我关掉投影,准备下台,台下忽然有人站起来说了一句:“林知意,我有个额外的问题可以吗?”
我抬头一看,是前公司的马组长。他推了推眼镜,声音不大但清晰:“我想问一下,这套算法你是什么时候开始写的?”
全场安静了几秒。我站在台上,跟他对视。
“前年。”我说,“当时用的是下班之后和周末的时间。”
马组长点了点头,坐下了。他旁边两个其他公司的人凑过去小声问什么,他摆了摆手没回答。
我走下台的时候,赵启明在过道旁边伸手跟我碰了一下拳头。他没说话,但嘴角翘着。
接下来的交流会我坐在底下听别人讲,偶尔记两笔笔记。到中午散会的时候,马组长走过来找我。他比上次见面的时候瘦了点,穿着件藏蓝色的夹克,手里拿着一个笔记本。
“林工。”他叫我,“方便说两句话吗?”
我跟着他走到会议厅外面的走廊上。窗外的太阳很好,照在走廊的大理石地面上反光。马组长把笔记本夹在腋下,两只手搓了搓。
“那个……张总的事,”他声音有点干,“集团那边的正式处理昨天下来了。记大过,追回全部奖金,调离管理序列。暂时保留职位但没有任何审批权。”
“我知道。”我说。
“我来找你,其实是想跟你说声对不起。”他看着我,“以前在公司的时候,我也知道一些事……周凯拿你代码的事,我多少听到过风声。但我没吭声。我在公司就是个干活的,不想惹麻烦。”
他说这话的时候眼神有点躲闪,但语气是认真的。
“马组长,你不用跟我道歉。”我说,“你在那个位置上,保自己是正常的。”
他摇摇头:“不是这个意思。我是想说,以前那种环境,大家都不敢说话。你走了之后我才发现,有些事不去说,它永远不会变。今天听你讲那个算法,我觉得……你做的东西值得被更多人看见。”
他说完这段,像是松了口气,朝我点了一下头,转身走了。
我站在走廊里,看着他的背影走远。阳光照在他藏蓝色的夹克上,亮闪闪的。这个人在前公司待了八年,从不站队、不表态,什么事都是“听领导安排”。今天能当着那么多人的面站起来问那个问题,恐怕是他这几年来说过的最大胆的一句话。
不是每个人都有勇气在沉默中开口。但他今天开口了。
我回到会议厅的时候,赵启明正跟几个人在聊天,看见我进来冲我招了招手:“来,介绍你认识一下。这是总部技术中心的陈主任,他对你那个预剪枝的思路挺感兴趣的。”
我跟陈主任握了手,聊了几句技术细节,约了下周找时间再深入交流。
散会的时候已经快一点了,肚子咕咕叫。赵启明说走,食堂今天有小炒肉。我跟在他后面往外走,路过大厅的时候又看见了那个公告栏——这次是总部的公告栏,上面贴着一排各子公司新季度技术成果展示的报名表。
我的名字已经填上去了,在恒创集团那一栏,标题是“基于动态权重算法的智能物流调度系统”。
赵启明填的。字迹工整,一笔一划。
(那天下午我回到恒创,老刘他们已经在跑新系统第二轮测试了。数据流比上周更平稳,监控屏上一片绿。老刘见了我,抬头说了句:“林工,你那个算法,比我想象的还好用。”我站在他背后看了一会儿屏幕,没说话。绿线一条一条拉过去,稳得像地平线。)
第十三章 花落了,人走了
那周周五,前公司的审计结论正式出来了。梁姐转给我的内部通报文件里写得很清楚:补贴申报数据异常属实,涉及修改交易金额的企业十二家,累计调整金额八十七万。主要责任人张明记大过处分,追回全部奖金,调离管理岗位,接受经济责任审计。周凯因主动提供证据、配合调查,给予警告处分,薪资恢复至原岗位标准。
我看了几遍最后那行关于周凯的。警告处分,薪资恢复。
他赌对了。
主动交代、提供证据、配合调查,把自己从事件的主要参与者变成了“协助调查人”。虽然程序上脱不了干系,但处理起来确实从轻了。
那天下午我收到了周凯发来的消息。是一条很短的文字:“我在新公司上班了。很普通的小公司,做外包的,试用期工资不高但够用。以后咱们应该没什么交集了,但还是想说一句,对不起。”
我看了那条消息两分钟,最后回了一个字:“好。”
没什么可多说的。他做了他该做的,我也做了我该做的。两条路从那个路口分开,各走各的,挺好。
下班的时候,赵启明在电梯口碰见我,跟我说:“张明今天下午去总部办交接了。他那个办公室的门锁已经换了,新钥匙给了马组长。”
“马组长转正了?”
“暂代。”赵启明说,“不过基本就是他了。集团那边觉得他稳重,不惹事,技术底子也还行。”
电梯来了,我俩走进去。电梯里只有我们两个人,门关上之后安静了两秒,赵启明忽然说:“你那个加密盘里的东西,还留着?”
我转头看了他一眼。他表情很平静,像是随口一问。
“留着。”我说。
“打算怎么处理?”
“不处理。”我说,“就放着。”
赵启明点了点头,没再问了。电梯到了一楼,门打开,他率先走出去,回头冲我摆了摆手:“周末好好休息,下周新系统上第一轮压力测试,够你忙的。”
他走了。我站在大厅里看着他的背影穿过旋转门,消失在街对面的车流里。
周末在家,我把加密盘从抽屉里拿出来,插上电脑,把里面跟前公司所有相关的文件——系统备份、日志记录、截图笔记——全部拖进一个文件夹,然后加密压缩,上传到了一个网盘里。
网盘的密码我设了很长一串数字,记在了一个本子上,合上本子塞进书柜最顶层。
然后我在电脑上把本地文件彻底删除了。
回收站清空的时候,进度条走了一秒就没了。桌面上干干净净,就像那些文件从来没存在过一样。
做完这件事我站起来伸了个懒腰。窗外天气很好,十月中旬的南京,阳光不那么毒了,风里带着桂花的余味。楼下的桂花树花瓣落了满地,金黄的一层铺在泥土上。
陈默从卧室出来,看见我站在窗前发呆,凑过来问:“干嘛呢?”
“没干嘛。”我说,“下午出去走走吧,今天天气好。”
他说行啊,去玄武湖。
那天下午我们去了玄武湖。太阳暖洋洋的,湖面上有风,吹得波纹一层层铺开。环湖路上走路的人不少,有推婴儿车的,有遛狗的,有老头老太太坐在长椅上下棋。
我们在湖边走了大半圈,在椅子上坐了一会儿。陈默买了两个冰淇淋,我一个他一个,坐在那儿吃。奶油化了淌到手指上,他用纸巾给我擦了一下。
“你现在心情好像挺好的。”他说。
“是挺好的。”我说。
工作的事我没跟他说太多细节,他就知道我换了工作、待遇好了、以前的领导出了事。他也没多问,就说了句“那就行”。
那会儿太阳快下山了,湖面上映着一大片金色的光,晃晃悠悠的。有人撑着小船从湖心划过来,桨在水面上划出一道道涟漪,把金光的倒影搅碎了又合上。
我坐在椅子上,手里剩了半截蛋筒,咬了一口,嘎嘣脆。
那只加密盘里的东西上传到网盘之后,我没再打开过。以后大概也不会了。
有些东西放在那里,不是为了用它,是为了让自己安心。
前公司院子里的那棵桂花树,今年还会开。只不过我已经不在那个楼里了。
恒创楼下也有一棵,开得比那棵还好。
(周日的晚上,我收到了一封来自集团总部的邮件。邮件是技术中心陈主任发的,正式邀请我参加下个月在上海举办的行业技术峰会,作为演讲嘉宾之一,分享物流调度的算法实践。我回复了“接受邀请”。邮件发出去的那一刻,我正坐在客厅的地板上跟陈默一起剥橘子,橘子皮堆了一小堆,满屋子都是酸酸甜甜的气味。)
第十四章 老同事来访
十月底,新系统上线了第一版。
那天上午十点,仓储那边的第一单业务走完了全流程。老刘盯着监控屏,从头到尾看着数据流跑了一圈,全程没有报错,延迟稳定在两百毫秒以内。他摘下眼镜揉了揉眼睛,转过来冲我比了个大拇指。
赵启明也在旁边站着,看完整个流程之后没说什么话,但那只端着茶杯的手一直没放下。等业务走完了,他把茶杯往桌上一放:“走,中午我请客。”
那天中午技术部所有人去了楼下那家小馆子,赵启明掏的钱,点了满满一桌子菜。老刘坐在我旁边,夹了一筷子红烧肉塞嘴里,含糊着说:“林工,这个系统要是早一年上线,去年双十一咱也不至于崩三回。”
“那是我没来恒创。”我说。
“这倒是。”老刘笑了,“你早来了我也不一定信你,程序员都有职业病,总觉得别人的代码不如自己写的。”
旁边的年轻工程师插嘴:“刘师傅你那个优化建议林主管都用了,你还不信她?”
“信了信了。”老刘摆筷子,“下个模块写完了让她审,她审完了我再上线。”
桌上的人都笑了。
吃完饭回公司的时候,前台小姑娘叫住我:“林主管,楼下有位姓周的女士找您,说是您以前的同事。”
我站在大厅里想了想。姓周的女士,以前同事……周凯的姐姐?不对,周凯没有姐姐。我走到大厅一看,坐在休息区沙发上的是刘梅。
她穿着便装,没穿职业装。头发散着,脸色不太好,眼圈底下一片乌青。看见我走过来,她站起来,手里攥着一个文件袋。
“林知意。”她叫我名字的时候声音有点抖,“我能跟你聊两句吗?”
我看了看时间,午休还有一个小时。“行,旁边有个咖啡厅。”
我们去了大楼旁边的星巴克,各要了杯美式,找了个角落坐下。刘梅端着杯子暖手,喝了一口才开口。
“张总的事,你应该都知道了。”
“知道。”
刘梅把那个文件袋放在桌上,推到我面前:“这是他让我转交给你的。”
我没接。“什么东西?”
“他说……”刘梅的声音低下去,“他说是他欠你的。六年的奖金、提成、还有你的代码被拿去申报的补偿。他算了个总数,三十七万。让我务必交到你手上。”
我把咖啡杯放下,看着桌上那个文件袋。牛皮纸的,封口处贴了一张透明胶带,没有签名也没有任何标记。
“他自己为什么不来?”
刘梅吸了一下鼻子:“他去上海了。集团那边的后续调查还没完,他现在处于一个……很尴尬的状态。集团内部通报虽然没有公开他的名字,但是行业内已经传开了。他待在这里待不下去了。”
“三十七万,”我说,“他算得很细。”
“他说你写那个调度算法的价值远不止这点钱,但他现在能拿出来的只有这些。”刘梅把文件袋往我面前又推了推,“我今天是受人之托,东西送到了,你收不收是你的事。”
她站起来的时候,咖啡还有大半杯没动。临走前她看了我一眼:“我跟你说实话吧林知意,以前在公司的时候,我对你有些事做得挺过分的。调令那件事也是张总让我去的,但我不该那么明目张胆地当着全办公室的人把东西甩你桌上。”
我没说话。
她低下头:“对不起。”
说完这三个字她就走了。步子很快,推门出去的时候风带进来一阵凉的,桌上的纸巾被吹起来一张飘到地上。
我坐在那里,面前是那个文件袋。
咖啡杯里的美式凉了,我端起来喝了一口,又苦又涩。窗外的街上车来车往,刘梅的身影已经走远了,人群里找不见了。
我把文件袋拿起来掂了掂。不重,里面大概是支票或者转账凭证之类的。
三十七万。
六年的工时折算成钱,确实差不多是这个数。但那些通宵改bug的夜晚、被拿走的代码、被署上别人名字的项目,我不知道该怎么折价。
最后我把文件袋收进了包里。没有打开。
下午回到工位继续做系统优化,老刘过来跟我讨论一个接口的响应超时问题,我俩蹲在显示器前面改了半小时的配置参数,把超时时间从五百毫秒调整到了三百,测试了三轮,稳了。
快下班的时候赵启明从我工位后面经过,看见我包里露出来的那个牛皮纸袋一角,多看了一眼,但没问。
我把它往里塞了塞。
晚上回家把文件袋拿出来,拆开封口的胶带。里面是一张转账凭证,收款人写的是我的名字,金额三十七万,附言栏里写了五个字:“林知意收。张。”
我把凭证放回文件袋里,搁在书架上那张团队合影旁边。
照片上六个人站在桂花树前面,张总的手搭在我肩膀上。那时候天很蓝,大家笑得都挺开心。
照片我没扔。
这个凭证我也留着。
但人已经往前走了,不会再回头看。
(那张凭证的日期是张总去上海之前那天开的。转账记录里显示他从自己的个人账户里转的,不是公司的钱。三十七万不算小数目,他大概把自己的积蓄腾了大半出来。刘梅说他在办完转账那天晚上在办公室里坐了一整夜,第二天早上走的。走的时候办公室门没锁,钥匙放在桌上,底下压了一张纸条,上面写着“对不起”三个字。)
第十五章 新来的实习生
十一月初,技术部来了个实习生。
小姑娘叫苏晓,南邮的大四学生,瘦瘦小小的,扎个马尾,说话声音细细的。赵启明把她带到技术部,让我安排岗位。
我翻了翻她的简历,里面列了几个课程项目和一个暑假实习经历。实习经历那一栏,写的是一家物流公司——就是我以前那家。
“你暑假在哪实习的?”我问她。
她脸一下子红了:“在……在恒达物流。就是之前那家。”恒达物流是前公司的全称,但外面人很少这么叫。
“哪个部门?”
“技术部,跟着周凯组长做过两个月的仓储模块维护。”她说话的时候手指绞着衣角,“后来张总那件事出了,我就走了。赵总说您以前也是那家公司的,我想着您可能会介意……”
“我介意什么?”我说,“你是个干活的,又不是你做错了事。”
苏晓抬起头看了我一眼,眼圈有点泛红,但忍住了。
我给她分了个小模块——新系统的前端监控面板,数据展示的部分,难度适中,让她试着手写。她把需求文档拿过去看了半天,下午就出了一版设计草图,画在白板上的,条理清楚,该有的信息点一个没漏。
老刘路过看了一眼,跟我说:“这姑娘有底子。”
接下来一周苏晓天天坐我旁边工位上写代码,遇到不会的就问我。她悟性不错,一个问题讲一遍就能举一反三。我跟她说交互细节的时候她拿个小本子记,字写得又小又工整,密密麻麻的,像学生的笔记。
周五下午她做的监控面板初版跑通了,数据从后台拉出来实时刷新,图表线条流畅,颜色搭配也舒服。赵启明路过的时候停下来看了几秒,跟她说了一句:“不错。”
苏晓转身的时候我看见她偷偷笑了一下。
那天晚上下班,她来我工位旁边站着,小声说:“林主管,我想跟您说个事。”
“你说。”
“您以前在恒达的事,我听说过。周凯组长……他是带我的人,他那个人不坏,就是胆子小,领导让干什么就干什么。张总那件事出来之后,他来找过我一次,跟我说‘你将来要是找工作,别跟别人提是我带你的’。”苏晓顿了顿,“我当时没明白他什么意思,后来听说您也在这边,我才懂了。”
“周凯让你别提他?”
“嗯。”她说,“他说他做的那些事不光彩,怕连累我。”
我看着她。她站在灯下面,马尾扎得有些歪,大概是下午趴在桌上睡觉压的。
“你做得很好。”我说,“安心在这干,以前的事翻篇了。”
她用力点了点头,背上包走了。
我关电脑的时候看了一眼窗外。天黑了,对面楼的灯陆续亮起来。楼下桂花树的花已经落得差不多了,叶子开始变黄。秋天快过完了。
我在工位上多坐了几分钟,把苏晓今天提交的代码过了一遍。风格干净,注释完整,变量命名很规范。虽然有些细节还能优化,但对一个大四实习生来说,已经超出了预期水平。
老刘还没走,在那边整理测试数据。我过去把代码调优的建议跟他讲了,他点点头,说明天让苏晓改。
“你对她挺上心的。”老刘说。
“好苗子,多带带。”
老刘关了电脑站起来穿外套:“林工,你这个人吧,就是太实在。搁以前那公司,你带了那么多人,有几个记得你的好?”
我想了想。小周记得。老刘现在也算。苏晓刚来一周,但以后大概也会记得。
“那就行了。”我说。
我俩一起下楼,老刘骑电动车走了。我站在大楼门口吹了会儿风,十一月的夜风有点凉了,我把外套拉链拉上。
手机响了,是小周发的消息:“意姐,我收到恒创的面试通知了!下周来面测试岗,赵总让我去。”
我站在路灯底下,把那条消息看了两遍,回了一句:“好好准备,我在技术部等你。”
那边秒回了一个表情,三个撒花的小人。
我把手机揣回兜里,往公交站走。街边的梧桐树叶黄了大半,风吹过来簌簌地落,踩在脚底下脆脆的。
新系统跑稳了。苏晓来了。小周也要来了。
秋天快结束了,但日子才刚开始。
(苏晓后来跟我说,她来恒创面试之前,周凯给她打过电话。周凯在电话里说:“你要是去了那边,好好干。林知意这个人,值得跟。”苏晓问他现在在哪,他说在一家小公司写代码,挺好的。然后就把电话挂了。)
第十六章 小周的面试
小周来面试那天是个星期一。南京降温了,她穿了件米白色的大衣,围了条灰色围巾,站在恒创大厅里冲我招手的时候鼻尖冻得红红的。
我把她领到楼上,让她先在休息区坐会儿,等面试官来。她坐下来东张西望地看了一圈,小声跟我说:“意姐,这儿真气派,比恒达好太多了。”
“安心面你的,该会的你都会。”
她面试大概四十分钟。出来的时候表情还算轻松,冲我比了个"应该还行"的手势。下午人事那边就出了结果,过了,下周一入职,测试岗,薪资比她在前公司高了两千。
小周给我发消息的时候连着发了六个感叹号。我回了三个。
那天晚上她非要请我吃饭,说庆祝一下。我们在公司附近找了家小馆子,点了两碗面和一盘酱牛肉。她边吃边跟我说这阵子公司的情况。
"刘梅走了,上个月交的辞职报告。"小周扒拉着面条,"财务张姐被调去总部了,说起来算是升了,但跟审计那事有关的人该走的都走了。马组长现在管技术部,人挺实在的,不会来那些虚的。"
"你呢?走的时候顺利吗?"
"挺顺利的。"她说,"马组长亲自给我签的离职表,还说了句'以后好好干'。以前张总在的时候,谁敢跟离职的人说这种话。"
她吃了一口面又停下来:"意姐,你说那个公司现在是不是干净了?"
我想了想:"比之前干净。那些人走了,剩下的人能踏踏实实干活。"
她点点头,把碗里的汤也喝了。
从馆子出来的时候天已经黑透了,风里带着凉意。小周裹紧大衣跟我并排走了一段路,快到路口的时候她忽然说:"意姐,谢谢你。"
"谢我什么?"
"谢你以前在公司罩着我。"她说,"那会儿你什么都不说,但大家都知道你扛了多少。我那时候刚毕业什么也不懂,你教我写代码、教我回客户邮件、帮我挡了好几次张总的刁难。这些我都记着。"
她说完怕肉麻似的,快走了两步,回头冲我摆了摆手:"走了!下周见!"
然后小跑着过了马路,大衣的下摆被风掀起来,像只灰色的蝴蝶。
我站在路口看着她跑远,绿灯亮了又灭,灭了又亮。街对面有家奶茶店灯光暖黄,小周推门进去之前又回头看了我一眼,冲我比了个大拇指。
我笑着冲她摆了摆手。
回到家陈默已经在了,正把晒干的衣服叠好往柜子里放。我换了拖鞋进去帮忙,他递过来一件我的毛衣:"今天外面冷吧,看你鼻子红的。"
"降温了。"我说,"下周该穿羽绒服了。"
他嗯了一声继续叠衣服,叠到我的袜子的时候忽然说:"对了,我今天碰到以前一个客户,聊了几句。他说你们这行今年行情挺好,到处在招人。你那个新公司……稳当吧?"
"稳当。"我说,"赵总这个人靠谱。"
"那就好。"他把叠好的衣服码整齐,"你以前那家公司的事我在网上看到有人讨论了,说那边管理层换了不少人。你出来得真是时候。"
我靠在衣柜边上看着他叠衣服,忽然觉得这个场景挺踏实的。他在家里从来不谈什么大道理,就是每天买菜做饭叠衣服,晚上回来问我今天怎么样,我说还行他就点点头。
这就挺好的。
那天睡前我最后检查了一遍邮箱,看到技术中心陈主任发来的参会确认函。上海峰会下周三,我的演讲安排在上午十点半,时长四十分钟。
我回复了确认,把演讲大纲又过了一遍,然后关了电脑。
窗外风声呼呼的,天气预报说今晚最低零度。我缩进被子里,陈默已经打起了小呼噜,被子裹得像个茧。
冬天要来了。
但屋里暖和。
第十七章 上海峰会
周三早上五点我就醒了,赶高铁去上海。天还没亮,站台上风很大,我裹着羽绒服拎着笔记本电脑站在候车队伍里。旁边一个大哥拎着公文包打着哈欠,我俩对视一眼都笑了。
高铁上一个多小时的路程,我把演讲内容在脑子里过了两遍。到上海站的时候八点刚过,换地铁去会场,出站的时候太阳已经出来了,但风还是冷。
峰会会场在一家五星酒店的会议中心,签到台前面排了长队。我拿了胸牌和资料袋,进主会场找了个靠前的位置坐下。来的人不少,我扫了一圈,有熟面孔——几个之前技术交流会上见过的人冲我点头打招呼,还有几个我不认识但看胸牌上的公司名都是行业内排得上号的。
上午的议程从九点开始,前面几个嘉宾讲的都是大数据和人工智能方向的应用。到我的时候主持人报了一下名字和题目,底下响起一阵不算大但很清晰的掌声。
我走上台,大屏幕上打出了演讲标题。站在那个位置往下看,黑压压一片人头,好几百号人。说不紧张是假的,手心有点潮,但灯光打在身上暖烘烘的,倒也压住了。
我做了个简单的开场:"大家好,我是林知意,来自南京恒创集团。今天想跟大家分享的是物流调度系统里面一个很具体的问题——动态权重的落地实践。"
我的声音在会场里传开来的时候,心里那点紧张反而落了下去。
四十分钟讲下来,中间有三次提问打断,都是技术细节相关的,我都一一回应了。讲完最后一张图的时候,主持人示意我还有时间,可以再讲一段。
我就把新系统上线第一周遇到的几个实际问题拎出来讲了一遍,包括那个接口超时的调整过程。底下有人在拍照,有人在记笔记。
散场的时候不少人过来交换名片,有个在北京做物流平台的架构师跟我聊了十几分钟,加了我微信。还有一个是大学老师,说想把我那个算法案例编进教材里。
我在会场门口碰到了集团总部的陈主任,他刚从另一场分会场出来,见面就拍了我肩膀一下:"讲得不错。有几个人过来跟我说想跟恒创合作,都是看了你的演讲之后来的。"
"那挺好。"我说。
"赵总今天没来,但他让我替他带句话。"陈主任说,"他说你那个调度系统要是能稳定跑满三个月,恒创明年就把它打包成产品往外推。你来做产品负责人。"
产品负责人。又是一个新台阶。
我说:"等系统稳定了再说。"
陈主任笑了笑,没继续这个话题。他看了看手表:"下午还有个圆桌论坛,你来不来?"
"来。"
下午的圆桌论坛规模小一些,十来个人围着一张长桌讨论行业趋势。我坐在靠窗的位置,阳光从落地窗照进来,晒得人暖洋洋的。轮到我发言的时候我简单讲了讲中小型物流企业在技术转型中遇到的常见困难,提了几个实操层面的建议。
散会的时候天已经快黑了。我在会场外面站了一会儿,上海的风比南京还冷,但夜景漂亮,对面写字楼的灯一排一排亮着,像天上落下来的星星。
手机响了。赵启明发的消息:"听说你今天反响很好。回来请你吃饭。"
我站在路灯底下回他:"好。"
回去的高铁上人不多,我靠窗坐着看外面的夜色。城市的灯光渐渐变成稀疏的星点,田野和村庄在黑暗里一闪而过。笔记本电脑里的演讲稿文件夹我暂时合上了,屏幕上是空的桌面。
手机又震了一下,是小周发来的消息:"意姐,我看直播了!你讲得太好了!我跟苏晓在公司一起看的,她激动得把手里的杯子都碰倒了。"
紧接着又是一条,是苏晓发的语音。我点开听,她声音有点兴奋:"林主管,您今天太厉害了!我把我能记的都记下来了,明天找您请教几个地方!"
我把两条消息都回了,把手机放回口袋。
窗外有一列反方向的高铁呼啸着过去了,两车交汇的瞬间,玻璃窗上闪过一道光,亮得像流星。
我在那道光里坐直了身体。车窗玻璃上映着我的脸,嘴角是往上弯的。
第十八章 产品化的路
从上海回来之后,工作节奏又上了一个台阶。
新系统运行满一个月的时候,赵启明组织了复盘会。会上把运行数据全都拉出来过了一遍,系统稳定性百分之九十九点八,平均响应时间比旧系统降低了百分之六十,仓储那边的投诉率下降了将近八成。
财务那边算了一笔账,光双十一那一周,新系统就帮公司省了将近二十万的人力成本——以前要额外招的临时调度员全都不用招了,系统自己跑得稳稳妥妥的。
赵启明在会上的总结很简短:"这个系统,明年打包成产品对外卖。林知意来牵头产品化的事,技术部配合。"
他说完之后转向我:"三个月时间,行不行?"
我想了想,说:"行。"
会后的半个月里,我开始整理产品化的思路。老刘负责底层稳定性的加固,苏晓被拉去帮忙写用户手册和配置文档,小周带着新来的两个测试同事做全量回归。所有人都忙了起来。
那天下午我在办公室跟老刘讨论产品定价策略的时候,忽然觉得有点恍惚。半年前我还在前公司那个空调坏了的小隔间里改着第三版架构方案,汗珠子顺着脖子往下淌。现在坐在恒创温暖的办公室里讨论产品上线的事了。
老刘见我在发呆,敲了敲桌面:"林工?你想什么呢?"
"没什么,"我回过神,"刚才说到哪了?"
"说到标准版和旗舰版的区别。"
"对,"我重新拿起笔,"标准版覆盖基础调度功能,旗舰版加上智能预测模块。价格差在两倍左右,目标客群不一样。"
老刘点了点头,拿笔记下来。
那天晚些时候赵启明路过技术部,看见满屋子人各忙各的,站在门口看了几秒。我跟他对了个眼神,他冲我挑了挑眉毛,没说话就走了。
晚上七点多我下班的时候,在电梯里碰见梁姐。她现在是行政总监了,穿着件驼色的羊绒大衣,手里拿了个保温杯。
"忙呢?"她问。
"忙。"我说,"产品化的事。"
"我听赵总说了。"她喝了口水,"小林,你这一年的变化我是一路看过来的。去年这时候你还在那个破楼里加班呢,谁能想到今年你在恒创牵头做产品了。"
"我也没想到。"我说。
电梯到了一楼,我俩一起走出去。梁姐在大厅里站住了,看了看我:"你那个加密盘,后来还有打开过吗?"
"没有。"我说,"上传网盘之后就没再动过。"
她又喝了口水,说:"那就对了。有些东西放在那里,不是为了拿来用的,是为了让自己能睡个踏实觉。"
她说完拍了拍我胳膊:"走了,明儿见。"
我看着她的背影走出旋转门。她在恒创干了快五年了,从人事经理做到行政总监,一步一步自己走出来的。她留给我的那份竞业协议附加条款,像一颗种子,当年不起眼,关键时刻长成了挡住风雨的树。
那天晚上到家我打开书架上的文件夹,把那张三十七万的转账凭证拿了出来,看了几秒,又放了回去。旁边那张团队合影上,六个人的脸在灯光下泛着旧照片特有的暖黄色。
我伸手摸了摸照片表面,凉凉的。但指尖触过的地方留下了一点温度。
然后我关上文件夹,把书架那一层重新码好。
外面起风了,窗框嗡嗡响。但屋里暖和,灯光明亮。
第十九章 两个电话
十二月中的一天,下着雨。南京冬天的雨不大,但阴冷阴冷的,打在脸上跟针扎似的。
那天下午我在工位上做产品报价方案,手机响了两声。第一个是小周打来的,说她测试环境上发现了一个小bug,问怎么处理。我跟她说了排查方向,挂了电话继续干活。
过了大概半小时,手机又响了。这次是个陌生号,归属地上海。
我接起来,那边安静了两秒。然后一个熟悉的声音传过来:"喂,林知意,是我。"
张总。
我握着手机停顿了两秒。他的声音跟以前不一样了,沙沙的,像感冒了没好的那种闷劲儿。
"你好。"我说。
"我……没什么事,就是打个电话。"他说,"我从上海这边听说你在做产品了,恭喜你。"
"谢谢。"
又安静了几秒。电话那头隐约有风声,他大概是在室外打的。
"以前的事,"他开口说了一句又停住了,像是咽了一口什么,"我欠你的。那个钱你收到了吧?"
"收到了。"
"那就好。"他说,"别的我也不多说了。你好好干你的,别回头。"
电话挂断了。
我握着手机坐在工位上。窗外的雨啪嗒啪嗒打在玻璃上,沿着玻璃面淌下来一道道水痕。楼下街道上有人打着伞匆匆走过,伞面五颜六色的。
老刘从旁边探头看了我一眼:"谁啊?"
"没谁。"我把手机放回桌上,"以前的一个人。"
他没再问了。
雨继续下着。大概过了十几分钟,手机又震了。这次是陈默打来的:"下雨了,你带伞了吗?我今天能早下班,去接你吧?"
我说带了伞,不用接。他说那行,晚上回去给你炖个排骨汤暖和暖和。
挂了电话之后我看着窗外笑了。窗玻璃上自己模糊的倒影跟外面的雨融在一起,看不太清五官,但嘴角那个弧度很清楚。
第二个电话后来我再也没有接到过。张总的号码从通话记录里沉下去,被新的消息和电话一点点覆盖,最后翻了好几页才找得到。
但我没删那条记录。
那通电话很短,大概不到两分钟。他没有道歉,没有解释,也没有找任何借口。就说了那么几句,然后就挂了。
有些话不用说全。人都明白。
那天晚上陈默炖了排骨汤,热腾腾的端上桌,汤面上浮着一层金黄色的油花。我喝了两碗,从胃里暖到手指尖。窗外的雨还在下,敲着雨棚啪嗒啪嗒的,像有人在轻轻敲鼓。
我把手机放在桌上,屏幕安安静静的。通话记录里那个上海号码静静地待在那里,旁边标注着当天的日期和时间。
大概很久之后我翻到它的时候会想起来——那天下午下着雨,有人从上海打来电话说了一句"你好好干你的,别回头"。
到那时候我应该会把这个记录删掉。
但那天晚上我没有。
第二十章 桂花又开(大结局)
转眼到了第二年秋天。
九月底,恒创的新产品正式上线发布了。产品名叫"智途",物流调度SaaS平台。上线第一周签了七家客户,第二周又加了四家。赵启明在季度会上通报了数据,说预计年底前能突破五十家。
发布会那天我站在台上讲了十五分钟的产品演示。台下坐着客户、投资人、还有好几个技术媒体的记者。灯光打下来的时候,我忽然想起去年在上海峰会上的场景。那时候底下黑压压的人头让我手心里出了汗,现在站在同样的位置上,倒觉得那些光暖暖的,让人踏实。
发布会结束之后合影的时候,技术部所有人都上了台。老刘站在我左边,小周站在右边,苏晓踮着脚站在后排露出半张脸。赵启明没上来,站在台下举着手机给我们拍照。
"都看我这边——笑一个!"他喊。
闪光灯亮起来的那一瞬,我听见身后小周在笑,前面苏晓在喊"等一下我头发乱了"。老刘板着脸站的笔直,但嘴角是翘着的。
照片后来发到了技术部的群里。我看了一眼,照片上所有人都在笑,阳光从会议厅的落地窗照进来,每个人的脸上都有光。
那天下午我请假提前走了。陈默说晚上出去吃饭庆祝一下,我说行,但我想先顺路去个地方。
我坐公交去了前公司那条街。
那栋矮楼还在,外墙重新刷了一遍漆,颜色从灰白变成了米黄。门口的招牌换过了,新公司名我不认识,大概是集团那边整合之后重组的新牌子。门卫也换了人,是个年轻小伙子,刷着手机没抬头看我。
院子里的桂花树还在。
比去年又高了一些,枝叶更密了。金黄色的花密密麻麻缀在枝头,风一吹,满条街都是那股甜丝丝的香味。树下的泥土上落了一层金黄的花瓣,踩上去软软的,像踩在薄薄的地毯上。
我站在树底下仰头看了好一会儿。花比去年开得还盛,香味也浓。阳光从枝叶缝隙里漏下来,在脸上和肩膀上撒了一片碎金。
旁边有个穿校服的小姑娘路过,停下来也看了两眼树,问我:"姐姐,这是什么花?好香。"
"桂花。"我说。
她点了点头,跑走了。书包在背上一颠一颠的,马尾辫甩来甩去。
我在树下站了几分钟,口袋里的手机响了。陈默打的:"你在哪呢?我订好位置了,七点钟。"
"马上到。"我说。
挂了电话我最后看了一眼那棵桂花树。风又吹过来一阵,几片花瓣落在我肩膀上,我伸手轻轻拂掉,转身走了。
公交车上人不多,我靠窗坐着。车窗外的街景一帧一帧滑过去,路边的梧桐叶子开始黄了,有些已经落了大半。阳光从树叶缝隙里照下来,在马路上铺了一层流动的光斑。
手机震了一下。是赵启明发来的消息,就一行字:"今天发布会辛苦了。好好休息,明天接着干。"
我回了一个"好"字。
然后又震了一下。这次是老刘发的,是一张截图——技术部的群里有人在发去年的照片,那张前公司院子里桂花树前的合影。六个人,站在树前面,天很蓝。
谁发的我没注意。照片在群里传了一圈,有人问"这是什么时候拍的",小周回了一句"去年这时候"。
我把那张照片放大看了看。照片里的我穿着蓝色衬衫,头发比现在短一些,嘴角微微弯着,不算笑但也不板着脸。张总的手搭在我肩膀上,旁边的周凯蹲在第一排比了个"耶"的手势。
六个人站在桂花树前面。那棵树那时候还没现在这么高,花也没开这么盛。
但天很蓝。阳光很好。
我把照片缩小,按了保存。然后关了屏幕。
公交车到站了,我站起来下车。街边的饭店门口亮着暖黄的灯,陈默站在玻璃门里面冲我招手。他穿了件新衬衫,头发打理过,看起来比平时精神。
我朝他走过去,推开门,一股热腾腾的饭菜香味扑面而来。
他拉开椅子让我坐下,给我倒了杯温水:"怎么样,今天顺利吗?"
"顺利。"我说。
他举起水杯:"那走一个?"
我也举起杯子,玻璃碰在一起发出清脆的一声响。水在杯子里晃了晃,灯光穿过杯壁映在桌面上,一小片暖黄色的光斑。
窗外的天彻底黑了。南京城的万家灯火次第亮起来,远的近的,高的低的,像谁把一把星星撒在了人间。
远处某个院子里的桂花树应该也开着花。九月底的南京,满城都是桂花香。
那个加密盘还在书柜最里层的抽屉里放着,网盘上的备份也没有动过。有些东西放在那里不是为了用,是为了让自己知道——该走的路走完了,该有的答案都有了,剩下的事情就是好好往前过日子。
陈默夹了一块糖醋排骨放进我碗里。我低头扒了一口饭,又香又甜。
窗外有风吹过,隔着玻璃我好像又闻到了桂花的香味。但我知道那大概只是我的错觉——饭店里的香味是菜,是汤,是热腾腾的人间烟火气。
不过这样也好。
桂花树在我看不见的地方继续开着,落着,来年再开。
而我也在自己的路上走着,一年比一年稳当。
(完)
创作声明:本文为虚构创作,请勿与实际联系。本文所有素材源于互联网,仅用于叙述呈现,请知悉
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.