帮公司修复价值2.8亿的系统,谈好75万酬劳却只给500,我笑着点了根烟:系统还有3分钟彻底报废,现在跪下求我也没用
凌晨三点,我被CEO的电话从出租屋里吼醒,她让我立刻滚回公司修系统,否则扣光三个月工资。
到了公司才发现,价值2.8亿的核心交易系统被人植入了逻辑炸弹,修复难度极高。
CEO当着全技术部的面嘲讽我是没本事的书呆子,财务总监在旁边冷笑。
我看着屏幕上跳动的红色警告码,突然明白了什么——这颗炸弹,是从内部植入的。

1
凌晨两点四十七分,手机第三次震动。
我盯着天花板上的水渍,那块印记从去年夏天就有了,房东说等过完年就修,过完年又说等开春。出租屋的空调早就坏了,冬天靠一床电热毯过活,夏天就硬扛。七月的夜晚闷热得像蒸笼,我翻了个身,看了眼手机屏幕上的名字——苏晴。
接起来,那头的声音像刀子一样锋利:“林逸,你他妈在睡觉?公司系统崩了,你现在立刻给我滚过来。”
“苏总,现在是凌晨三点。”
“我不管你几点,三十分钟之内到公司,否则你这个月绩效全扣,三个月工资也别想要了。”电话那头传来键盘敲击声和嘈杂的人声,整个技术部应该都被叫回去了。
我坐起身,床头柜上摆着一盒红塔山,七块钱一包的那种。我抽出一根点上,深吸一口,尼古丁让混沌的大脑稍微清醒了些。穿衣服的时候,我想起下午下班前系统还一切正常,我做的最后一次提交是在傍晚六点,所有测试用例都通过了,没有任何异常。
从城中村的出租屋到公司,打车要二十五块钱。凌晨的街道空荡荡的,偶尔有一辆洒水车慢悠悠地开过。出租车司机从后视镜里看了我一眼:“兄弟,这个点去科技园,加班啊?”
“算是吧。”
“不容易啊,我儿子也在那边上班,天天加班到十一二点,你这更狠,直接通宵。”
我没接话,看着车窗外的路灯一盏一盏往后退。这座城市有太多高楼大厦,太多灯火辉煌,但那些光从不照进城中村的握手楼里。我住的那间房,一天里只有正午十二点能晒到十五分钟的太阳。
到了公司楼下,门口的保安老周看到我,欲言又止。我刷卡进门,电梯里弥漫着廉价咖啡的味道,地上有打翻的纸杯没来得及擦。二十六楼,技术部的灯全亮着,玻璃门后的会议室里烟雾缭绕,七八个人围在一起。
我推门进去,苏晴第一个转过头来。她穿着一件黑色西装外套,头发一丝不苟地盘在脑后,三十岁的女人保养得当,看起来像二十五。但此刻她眼里的寒光让人后背发凉。
“林大CTO,终于舍得来了?”苏晴把一沓打印纸摔在桌上,“你看看,系统从十一点开始报错,到现在四个小时了,整个交易系统瘫痪,开盘前修不好,你知道公司要亏多少钱?”
我走过去,看了一眼桌上的日志打印件。密密麻麻的错误代码,但有几个关键的数字让我心头一跳——底层架构级别的报错,不是应用层的bug。
“谁在排查?”我问。
技术部的几个同事面面相觑,没人说话。前端组的小张低着头,运维组的刘哥盯着自己的鞋尖,数据库管理员老赵假装在看手机。整个技术部十二个人,全在这儿了。
苏晴冷笑一声:“你不是CTO吗?你问我谁在排查?你的人你管不住?”
我没回嘴,走到自己的工位开机。公司的电脑配置还算不错,双屏显示器,i9处理器,64G内存,是我三年前入职时亲自选的配置。那时候苏晴刚接手CEO的位置,意气风发,说要打造行业最强的技术团队,给我开了四万五的月薪,许诺每年年底分红。
三年过去,月薪没涨过,分红一分没见到。合同里写的“根据公司盈利状况发放年度奖金”,被她解释为“公司去年亏损,没有奖金”。但实际上我知道,公司去年净利润两千三百万。
电脑启动的间隙,苏晴带着王建国走到我工位旁边。王建国是财务总监,四十五岁,地中海发型,永远穿深蓝色西装,永远系一条暗红色领带。他手里拿着一杯星巴克,慢悠悠地说:“小林啊,苏总为了这个系统,这几天都没睡好觉。你是技术负责人,这个责任你得负起来。”
我没理他,打开服务器监控面板。CPU使用率正常,内存占用正常,网络流量也没有异常波动。但从昨晚十一点开始,交易接口的响应时间从50毫秒飙升到了12秒,几乎等于不可用。
“查日志了吗?”我头也没抬地问运维组的刘哥。
“查了,没找到原因。”刘哥的声音很小。
我打开系统日志,一行一行往下翻。前一千行都是常规的访问记录,没有任何异常。翻到第两千行的时候,我突然看到了一个不该出现的东西——一个底层函数的调用记录,而这个函数在三个月前已经被重构删除了。
心脏猛地跳了一下。
我快速敲击键盘,调出这个函数的调用链。它被包装在一个看起来像是正常业务请求的接口里,但解析之后的参数明显是精心构造的。我又查了这个请求的来源IP,显示是公司内部的测试服务器。
“这个IP是谁的?”我把屏幕转向刘哥。
刘哥凑过来看了一眼,脸色变了:“这是……财务部的测试机。”
会议室里突然安静了。
苏晴的脸僵硬了一瞬,但很快恢复了正常:“财务部的机器可能中了病毒,你先想办法修复系统,追究责任的事以后再说。”
我没动,继续盯着屏幕。这个逻辑炸弹设计得很精巧,它不是一次性的破坏,而是一个定时触发的递归函数。从昨晚十一点开始,每执行一次,就会在数据库里生成一个新的死循环线程,呈指数级增长。按照这个速度,到明天早上八点开盘,系统会被完全锁死,所有交易数据全部无法读取。
更狠的是,这个炸弹嵌在了底层架构里,如果强行重启服务器,核心数据库会被自动格式化。
能设计出这种炸弹的人,一定非常了解我们的系统架构。了解每一个接口,每一个漏洞,甚至知道备份策略和容灾机制。
这个人,一定在公司内部。
“能修吗?”苏晴问,语气里带着不耐烦。
“能。”我说,“但是需要时间。”
“多久?”
“三十六个小时,不间断。”
苏晴皱了皱眉,回头看了一眼会议室里的股东们。李副总站在门口,五十多岁的老油条,手里夹着一根烟,正用一种审视的目光看着我。他是公司除苏晴之外最大的股东,持股百分之二十五,平时不怎么管事,但这次系统崩溃关系到公司的生死存亡,他不得不来。
“三十六个小时,开盘肯定是赶不上了。”李副总吐出一口烟,“苏总,你打算怎么办?”
苏晴咬了咬牙,转向我:“林逸,你之前不是提过一个什么奖金方案吗?修好系统,我给你奖励。”
我心里冷笑。三个月前,我主导开发的新支付系统为公司节省了四百万的成本,我提出希望公司兑现合同里承诺的“技术攻关奖金”。苏晴当时说“公司资金紧张,等年底再说”,然后就没了下文。
“苏总,我希望有个书面承诺。”我说。
王建国笑了,笑声里满是嘲讽:“小林啊,你一个打工的,跟老板谈条件?公司养你三年,给你发工资发社保,现在公司有难,你还想要好处?”
我没看他,只盯着苏晴。
苏晴犹豫了几秒,转身走向会议室:“都进来开会。”
会议室的长桌旁坐满了人。苏晴坐在主位,左手边是王建国,右手边是李副总。技术部的人挤在角落,我坐在最末端,面前放着一杯凉透了的白开水。
“林逸,你说说修复方案。”苏晴命令道。
我站起来,走到白板前,画出了系统的架构图。“现在的核心问题是,逻辑炸弹嵌在了底层数据访问层。如果直接删除,触发器会立刻格式化数据库。唯一的办法是先用备份数据搭建一个沙盒环境,在沙盒里逐层拆解炸弹的触发条件,反向编译出移除脚本,然后再在生产环境里执行。”
“说人话。”王建国不耐烦地敲了敲桌子。
“简单说,我需要用三十六小时,把炸弹一层一层拆掉。”
“成功率多少?”李副总问。
“百分之七十。”
苏晴深吸一口气:“好,你修。修好了,公司奖励你七——五万。”
她说到“七”的时候明显停顿了一下,我看出她原本想说别的数字,但临时改了口。七十五万,这个数字听起来不少,但比起系统崩溃可能造成的二点八个亿的损失,连零头都不到。
“我需要书面协议。”我重复道。
王建国从包里掏出一张便签纸,刷刷写了几个字,递给我:“拿着。”
我低头看,便签纸上用圆珠笔写着:“同意奖励林逸七十五万元整。”下面是王建国的签名,没有公章,没有日期,连公司抬头都没有。
“这不算正式协议。”我说。
“小林啊,你是不是不信公司?”王建国的声音陡然提高,“我们这么大的公司,还能赖你七十五万?”
苏晴也笑了,笑容里带着一种居高临下的怜悯:“林逸,我理解你想要保障,但现在最重要的是修复系统。你放心,我苏晴说话算话,修好了,一分钱不会少你的。”
技术部的人都低着头,没人敢说话。我攥着那张便签纸,指尖发凉。窗外天已经开始发白,远处的写字楼亮着零星的灯光,这座城市马上就要醒来,而我的公司正在悬崖边上摇摇欲坠。
“好。”我把便签纸折好放进口袋,“我修。”
苏晴满意地点点头:“这才对嘛。王总,你安排人盯着他,需要什么资源随时调配。”
她站起来,整理了一下西装裙摆,高跟鞋踩在地板上发出清脆的声响。走到门口时,她回头看了我一眼,那眼神像是在看一把用完就可以丢掉的工具。
“对了林逸,”她说,“如果修不好,你这个月的工资全扣,另外公司保留追究你管理责任的权利。”
门关上了。
会议室里只剩下技术部的人。小张抬起头,小声说:“逸哥,你真的要修?”
“嗯。”
“可是……”他欲言又止。
我知道他想说什么。这颗炸弹是从财务部的测试机植入的,而财务部的测试机只有三个人有权限——王建国、他的助理,还有IT部的老张。老张上周刚辞职,走的时候什么都没说,连交接都没做。
“干活吧。”我站起来,走到机房。
机房的空调开得很低,十八度,冷气吹得人骨头疼。服务器机柜的指示灯有规律地闪烁,像某种机械生物的心跳。我打开机柜门,热浪扑面而来——服务器的散热风扇全速运转,发出嗡嗡的低鸣。
我先检查了物理服务器,确认没有硬件层面的损坏。然后连上备份服务器,开始搭建沙盒环境。备份数据有十二个T,全部复制到沙盒需要至少四个小时。
等待的时间里,我坐在机房的地板上,又点了一根烟。烟雾在冷气中扭曲上升,被天花板上的排风扇抽走。我想起三年前入职的那天,苏晴亲自带我参观公司,说她需要一个真正的技术专家来搭建公司的技术壁垒,说她会给我最好的资源和最大的权限。
三年过去了,技术壁垒没搭起来,倒是建起了一堵墙——一堵把我挡在核心决策层之外的墙。
我的年薪合同,她做了手脚。原本谈好的六十万年薪,合同里写的是“基本工资四十五万,绩效奖金十五万,根据公司考核发放”。而负责考核的人,是王建国。过去两年,我的绩效评分都是C,十五万奖金一分没拿到。
我一直忍着,因为我相信技术本身的价值,相信只要做出成绩,总会有人看到。但现在我明白了,在这家公司,成绩不重要,重要的是你会不会跪舔,会不会站队。
小张推开机房的门,探头进来:“逸哥,苏总让你过去一趟。”
“什么事?”
“不知道,她在办公室等你。”
我掐灭烟头,起身走向电梯。苏晴的办公室在二十八楼,整层都是高管区域,铺着厚厚的地毯,墙上挂着看不懂的抽象画。她的办公室门半开着,里面传来王建国的笑声。
我敲门进去,苏晴正坐在办公桌后面,面前摆着一份文件。王建国坐在沙发上,翘着二郎腿,手里又换了一杯新的星巴克。
“林逸,坐。”苏晴指了指对面的椅子。
我没坐,站着等她说。
“刚才董事会讨论了一下,”苏晴的语气变得很随意,像是在聊今天吃什么,“你的修复方案我们觉得风险太大,万一你把系统弄得更糟怎么办?所以董事会决定,让外部团队介入。”
我愣住了:“外部团队?”
“对,我联系了赵明远,他明天一早带人过来。”
赵明远。这个名字我太熟悉了,他是我大学同学,同一个专业,同一个导师。毕业后他去了大厂,混了几年跳槽出来自己开公司,专门做企业系统维护。技术能力一般,但很会来事,在圈子里有不少人脉。
“赵明远对我们的系统架构不了解,他接手要从头开始熟悉,至少需要三天。”我说。
“那是他的事。”王建国插嘴,“人家赵总说了,保证三天内修好,收费只要两百万。你倒好,开口就要七十五万,还不知道能不能修好。”
我明白了。赵明远一定给王建国回了扣,否则以王建国的性格,不会这么积极推荐外部团队。
“苏总,如果赵明远接手,他必须从零开始分析我们的系统架构,三天是最乐观的估计。而且他需要访问核心数据库,里面存储着所有客户的交易数据和隐私信息,一旦泄露……”
“够了。”苏晴打断我,“林逸,你是不是觉得全天下就你一个人懂技术?赵明远做过上百个项目,经验比你丰富得多。你只管配合他就行,其他的不用操心。”
我看着她的眼睛,那双眼睛很美,但此刻里面没有任何温度。我突然意识到,她从一开始就没打算让我修复系统。她叫我来,只是为了让董事会看到她在努力解决问题,等赵明远来了,一切就顺理成章了。
至于七十五万的承诺,不过是一张空头支票而已。
“行。”我说,“那我先回去继续搭沙盒环境,等赵明远来了,我跟他交接。”
“不用了,”王建国站起来,“你现在就回去休息吧,明天赵总来了,你再过来。”
他在“再”字上加重了语气,意思很明确——现在,这里不需要你了。
我转身走出办公室,走廊里的冷气比机房还足,吹得人从骨子里发冷。电梯门打开的时候,我看到技术部的几个同事正探头往这边张望,眼神里有同情,有无奈,也有幸灾乐祸。
回到机房,我看着还在复制数据的服务器,屏幕上的进度条显示完成了百分之六十三。我坐下来,盯着那个缓缓增长的百分比,心里一个念头越来越清晰。
这颗炸弹,我可以拆,也可以让它永远沉默。
但我还需要一点时间。
2
赵明远来得比预想中更早。
早上七点四十二分,我正趴在机房的折叠床上假寐,手机震了一下。是小张发来的消息:“逸哥,赵明远到了,带了一队人,苏总亲自下楼接的。”
我揉了揉眼睛,去洗手间洗了把脸。镜子里的自己看起来憔悴得很,眼睛布满血丝,下巴冒出一片青色的胡茬。昨天到现在只喝了两杯咖啡,胃里泛着酸水。我用冷水拍了拍后颈,强迫自己清醒。
走出洗手间的时候,走廊里已经站了一群陌生人。领头的是赵明远,穿着一件深蓝色的Polo衫,卡其裤,商务休闲鞋,手腕上戴着一块看起来不便宜的机械表。他比大学时胖了不少,肚子明显凸出来,但精神很好,正跟苏晴谈笑风生。
“林逸!”他看到我,笑容更大了,大步走过来伸出手,“好久不见啊老同学!”
我握了握他的手,掌心温热,力度恰到好处,一看就是经常社交的人。
“赵总。”我说。
“叫什么赵总,还是叫我明远吧。”他拍了拍我的肩膀,“苏总跟我说了情况,辛苦你了,接下来交给我就行。”
苏晴站在旁边,脸上挂着得体的笑容:“林逸,你跟赵总对接一下,把系统的情况详细介绍一下。”
我点了点头,带他们去了机房。
赵明远带了四个人,两个看起来像技术,两个穿着西装,估计是商务。技术的那两个人一进机房就开始拍照,对着服务器机柜、网络拓扑图、甚至我昨晚写的修复草稿都拍了照。
“这个沙盒环境是你搭的?”赵明远指着屏幕问。
“对,备份数据已经同步了百分之八十七,再有两个小时就能完成。”
“很好很好,”赵明远点头,“这个沙盒我们可以直接用,省了不少时间。”
我打开系统架构图,把逻辑炸弹的位置、触发机制、可能的影响范围一一说明。赵明远听得很认真,不时提问,问题都很专业,这让我有些意外。看来这些年他也不是完全靠关系吃饭,技术底子还在。
“所以你的方案是在沙盒里反向编译移除脚本?”他问。
“对,先拆解炸弹的触发条件,再逐层剥离。”
赵明远沉默了几秒,然后说:“这个方案理论上可行,但三十六小时太冒险了。我建议用镜像回滚,直接把系统恢复到三天前的状态。”
“镜像回滚会丢失三天内的所有交易数据,”我说,“大概有两万三千笔订单,涉及金额一千四百万。”
“那些订单可以手工补录嘛,”赵明远不以为意,“总比系统崩溃强。”
“手工补录的订单如果和银行对账出现差异,会造成财务混乱。”
赵明远笑了笑:“林逸,你还是这么较真。做生意嘛,有些小问题可以慢慢解决,先把眼前的大火烧灭再说。”
我看了一眼苏晴,她正站在机房门口,双臂交叉抱在胸前,表情若有所思。王建国不知道什么时候也来了,站在她身后,脸上带着一种志得意满的笑容。
“苏总,你怎么看?”我问。
苏晴走进来,高跟鞋踩在地板上,每一步都很稳。她站在两台服务器之间,环顾了一圈,然后说:“赵总,你估计多久能修好?”
“如果采用镜像回滚方案,二十个小时内搞定。”赵明远信心满满。
“二十个小时,”苏晴重复了一遍,嘴角微微上扬,“比林逸的三十六小时快多了。”
“苏总,镜像回滚的风险……”我试图解释。
“林逸,”苏晴打断我,“你的方案要三十六小时,赵总只要二十小时,而且赵总做过的项目比你多得多,你觉得我应该信谁?”
我看着她的眼睛,那双眼睛里有算计,有权衡,唯独没有对技术的尊重。她已经做出了决定,我的意见根本不重要。
“行。”我说,“那就按赵总的方案来。”
赵明远拍了拍我的肩膀:“别灰心,老同学。这次算我欠你一个人情,改天请你吃饭。”
我没说话,走到一旁坐下,看着赵明远的人开始操作服务器。他们的动作很熟练,但有几个步骤明显是错的——他们把回滚指令直接写在了生产环境的命令行里,而不是先在沙盒测试。
“等等,”我站起来,“这个指令不能直接在生产环境执行,你们应该先在沙盒验证。”
赵明远的技术员愣了一下,看向赵明远。赵明远皱了皱眉:“林逸,你是不是太小心了?这个指令我写过上百次,不会有问题。”
“如果回滚脚本和现有数据库版本不兼容,会造成索引崩溃。”
“不会的,”赵明远摆摆手,“继续。”
技术员犹豫了一下,按下了回车键。
屏幕上的日志开始疯狂滚动。前几行一切正常,但到第十七行的时候,一行红色的报错跳了出来——“ERROR: index ‘idx_transaction_time’ corrupted”。
机房里的空气瞬间凝固了。
赵明远的脸色变了,他推开技术员,亲自坐到键盘前,飞快地敲击命令。但红色报错越来越多,像病毒一样蔓延,整个屏幕很快被ERROR覆盖。
“怎么回事?”苏晴的声音尖锐起来。
“索引……索引崩溃了。”赵明远的声音有些发抖,“但没关系,我可以重建索引,只是需要一点时间。”
“多久?”
“四个……不,六个小时。”
苏晴深吸一口气,脸色铁青。王建国站在她身后,表情也不太好看。李副总不知道什么时候也来了,靠在机房的门框上,手里的烟已经烧到了滤嘴。
我坐在角落里,看着这一切,心里忽然觉得很平静。就像暴风雨的中心,四周狂风大作,中间却安静得能听见自己的心跳。
赵明远忙活了两个小时,索引重建了三次,每次都失败。最后一个技术员悄悄对他说了句什么,赵明远的脸色彻底白了。
“怎么了?”苏晴问。
赵明远站起来,擦了擦额头上的汗:“苏总,情况有点复杂。这个逻辑炸弹比我想象的要复杂,它不只是在数据访问层,而是嵌在了存储引擎的底层。镜像回滚不但解决不了问题,反而触发了炸弹的二级防护机制,现在系统比之前更不稳定了。”
苏晴的脸白了一瞬:“你的意思是,系统现在更糟了?”
“暂时……暂时是这样。但我可以想办法,再给我一点时间。”
“多久?”
赵明远张了张嘴,没说出话来。
王建国终于忍不住了:“赵总,你之前不是保证二十小时修好吗?现在两个小时过去了,系统不但没修好,反而被你搞得更烂,这个责任谁负?”
赵明远的脸色变了又变,最终挤出一句话:“王总,这个项目的复杂度超出了预期,我需要重新评估。”
“重新评估?”苏晴的声音冷得像冰,“你知道现在几点了吗?还有一个小时就开盘了,你让我跟客户怎么交代?”
机房里的气氛降到了冰点。技术部的人站在门口,谁都不敢进来。赵明远的团队低着头,像做错事的孩子。苏晴、王建国、李副总三个人站在一起,低声讨论着什么,不时看向我和赵明远。
“林逸。”苏晴终于叫我。
我站起来。
“你的方案,现在还能用吗?”
我走到服务器前,检查了系统状态。索引崩溃导致数据库进入半死锁状态,加上炸弹的二级防护已经被触发,整个系统就像一颗定时炸弹,随时可能彻底报废。
“能用。”我说,“但需要四十八小时。”
“四十八小时?!”王建国叫起来,“之前不是三十六小时吗?”
“之前系统状态相对稳定,现在赵总的操作触发了二级防护,炸弹的复杂度增加了一倍,需要更多时间拆解。”
苏晴咬了咬嘴唇,似乎在做一个艰难的决定。李副总在旁边低声说:“苏总,要不就让他试试吧,现在也没别的办法了。”
苏晴看了我一眼:“好,你来修。四十八小时,修好了,之前的承诺依然有效。”
“我需要书面的正式协议。”我说。
王建国又要开口,被苏晴抬手制止了。她看着我,眼神里有不耐烦,也有无奈:“林逸,我当着这么多人的面承诺了,你还怕我赖账不成?”
“苏总,我不是怕你赖账,我只是想要一份正规的文件。这是公司的制度,也是对我的保障。”
苏晴沉默了几秒,最终点头:“好,我让法务部拟协议。”
她转身走出机房,高跟鞋的声音越来越远。王建国瞪了我一眼,跟了上去。李副总最后一个离开,走之前回头看了我一眼,什么都没说。
赵明远站在服务器旁边,脸上的表情很复杂。他走过来,压低声音说:“林逸,这次算我栽了。但你确定能修好?”
“确定。”
“那个炸弹……你是不是知道什么?”
我看着他,没有回答。
他叹了口气,带着他的人离开了机房。技术部的人陆陆续续散了,最后只剩下我和小张。
“逸哥,”小张小声说,“你真的要修吗?”
“嗯。”
“可是苏总那个人……你信她会给你七十五万?”
我没回答,从口袋里掏出那张便签纸,看了一眼,又折好放回去。
“小张,你去帮我买两箱红牛,再买一条红塔山。”
小张走了之后,机房彻底安静下来。只剩下服务器风扇的嗡嗡声,和空调压缩机间歇性的轰鸣。我坐在屏幕前,打开了一个隐藏的文件夹。
这个文件夹里,存着过去三个月里我做的所有备份。包括系统的完整源代码、数据库结构、所有的配置文件,甚至包括王建国电脑里的聊天记录备份。
我不是一个喜欢留后手的人,但在这个公司待了三年,我学会了一件事——永远不要相信任何人的承诺。
法务部的协议在下午三点发到了我的邮箱。我仔细看了每一页,每一条,确认没有隐藏的陷阱,然后打印出来,签了字,让前台快递到苏晴的办公室。
接下来就是漫长的修复过程。
四十八小时,我几乎没有合过眼。先修复赵明远造成的索引崩溃,然后重新搭建沙盒环境,逐层拆解逻辑炸弹。每一层都比预想的更复杂,设计这个炸弹的人显然对系统了如指掌,甚至利用了三个已经被修复的旧漏洞作为跳板。
第三天凌晨,炸弹的最后一层被拆解。
我盯着屏幕上成功移除的提示,手指悬在键盘上方,迟迟没有按下确认键。
因为在这个过程中,我发现了一个秘密——这个炸弹不只是破坏系统,它还会在触发的同时,把所有客户数据加密上传到一个外部服务器。也就是说,有人不仅想让系统崩溃,还想偷走公司的核心数据。
而上传的目标服务器IP,指向的是一家注册在开曼群岛的空壳公司。这家空壳公司的实际控制人,叫王建国。
我靠在椅背上,点了一根烟。
烟雾缭绕中,屏幕的蓝光映在我的脸上,像一张没有表情的面具。我看着那个IP地址,看着王建国的名字,脑子里飞速运转。
苏晴知道吗?还是她和王建国合谋?
我想起她凌晨三点给我打电话时的急切,想起她在会议室里说“修好系统奖励七十五万”时的爽快,想起她让赵明远接手时的果断。每一个细节都经不起推敲,但如果她和王建国是一伙的,为什么要让赵明远来搅局?
除非,赵明远也是他们计划的一部分。
我把这个可能性记在心里,然后按下了确认键。
系统恢复了。
所有炸弹被清除,所有数据完好无损,交易系统重新上线。从崩溃到恢复,整整三天,公司损失了大约八百万的交易额,但核心数据保住了,客户没有流失,最坏的结果没有发生。
我保存了所有修复日志,复制了三份,分别存在三个不同的加密U盘里。然后把服务器的访问记录全部清理干净,不留任何痕迹。
做完这一切,窗外已经天亮了。
我站起来,活动了一下僵硬的脖子,走出机房。走廊里空荡荡的,技术部的工位一个人都没有。我走到茶水间接了杯水,看到墙上的时钟指向六点四十七分。
手机响了,是苏晴。
“系统恢复了?”她的声音带着一种刻意压抑的兴奋。
“恢复了。”
“太好了!林逸,你真是太棒了!今天下午公司开庆功会,你一定要来!”
“协议签了吗?”
电话那头沉默了两秒:“签了签了,法务部已经盖章了,你放心。下午庆功会上,我当着全公司的面给你发奖金!”
挂了电话,我站在茶水间的窗前,看着远处缓缓升起的太阳。这座城市又开始了一天的忙碌,写字楼里的灯光一盏一盏亮起来,街道上的车流渐渐密集。
我喝完了杯子里的水,把纸杯捏扁扔进垃圾桶。
庆功会。
发奖金。
我笑了笑,那笑容没有到达眼底。
3
庆功会在公司顶层的宴会厅举行。
我到的时候,里面已经坐满了人。苏晴把排场做得很足,请了专业的策划公司布置场地,香槟塔叠了六层,冷餐台上摆着龙虾和牛排,连酒杯都是水晶的。所有员工都穿着正装,三五成群地聊天,气氛热闹得像年会。
我穿着昨天那件皱巴巴的衬衫,走进宴会厅的时候,明显感觉到周围的目光都变了。
“林逸来了。”有人小声说。
人群自动让出一条路,我穿过那些或好奇或同情或幸灾乐祸的眼神,走到角落的一张桌子坐下。小张跟在我旁边,手里端着一杯橙汁,看起来有些紧张。
“逸哥,你饿不饿?我去给你拿点吃的。”
“不用。”
我的目光扫过宴会厅,苏晴正站在舞台旁边跟王建国说话。她换了一身红色的礼服,头发散下来披在肩上,看起来比平时年轻了好几岁。王建国穿着一套藏青色的定制西装,肚子被腰带勒得有些紧,但他的表情很放松,甚至可以说是得意。
李副总坐在第一排的贵宾席上,旁边是几个我不认识的股东。技术部的同事分散在不同的桌子,没有人主动过来跟我说话。
舞台上,主持人开始了暖场。先是回顾了公司过去一年的业绩,然后感谢了各位股东和客户的支持,最后话锋一转,提到了这次系统故障。
“在刚刚过去的危机中,我们的技术团队展现出了非凡的专业能力和敬业精神,尤其是技术总监林逸先生,连续工作四十八小时,成功修复了系统,为公司避免了巨大损失。下面,有请苏总为林逸先生颁发特别奖励!”
掌声稀稀拉拉地响起来。
苏晴走上舞台,手里拿着一个红色的信封。她在聚光灯下站定,笑容端庄得体:“各位同事,各位伙伴,这次系统故障是对我们公司的一次严峻考验。在最危急的时刻,林逸挺身而出,用他的专业和坚持,挽救了公司的核心业务。为了表彰他的贡献,公司决定给予他特别奖励。”
她举起那个红色信封,所有人的目光都聚焦在上面。
“林逸,请上台。”
我站起来,穿过那些目光,走上舞台。聚光灯打在身上,有些刺眼。苏晴把信封递给我,凑近我的耳朵,用只有我能听到的声音说:“拿着,别让我难堪。”
我接过信封,没有打开。
“打开看看啊!”王建国在台下起哄。
“对啊,打开看看!”其他人跟着附和。
苏晴的笑容依然完美,但我看到她的眼神里有一丝紧张。
我慢慢撕开信封,从里面抽出一张纸和几张钞票。
钞票是五张红色的百元大钞,崭新的,连号。
那张纸是一张奖状,上面印着“优秀员工”四个烫金大字,下面盖着公司的公章。
宴会厅里安静了一瞬,然后爆发出笑声。那笑声从各个角落传来,有人笑得前仰后合,有人捂着嘴偷偷乐,有人拍着桌子,有人摇头叹气。
“五百块?”有人喊了一声,笑声更大了。
苏晴举起话筒,声音里带着一种刻意的轻松:“各位,大家别笑。林逸是我们的技术骨干,但年轻人嘛,要多给锻炼机会。谈钱伤感情,公司看重的是他的未来,不是这五百块钱。”
王建国站起来,端着酒杯走到舞台边:“林总监,五百块不少了,够你抽一个月的红塔山了。来来来,我敬你一杯,感谢你为公司做的贡献!”
他把一杯红酒递给我,我接过来,没有喝。
“苏总,”我说,“之前说好的七十五万呢?”
宴会厅里的笑声戛然而止。
苏晴的笑容僵了一瞬,但很快恢复了自然:“林逸,七十五万是口头承诺,具体还要走公司的审批流程。你先拿着这五百块,后续的事情我们再沟通。”
“审批流程需要多久?”
“这个……”苏晴看了一眼王建国,“王总,奖金审批需要多久?”
王建国端着酒杯,慢悠悠地说:“按照规定,超过五十万的奖金需要董事会批准,董事会每季度开一次,下次是三个月后。小林啊,你放心,只要董事会通过了,钱一分不会少你的。”
三个月。
我看着手里的五百块和那张奖状,忽然觉得很可笑。三年前,我放弃了另一家公司开出的八十万年薪,选择了苏晴的邀请,因为她说她要打造一个技术驱动的公司,她说她需要一个真正懂技术的人来帮她实现梦想。
三年过去了,她的梦想实现了,而我的承诺被兑现成了五百块。
“林逸,”苏晴的声音依然温和,但眼神已经开始变冷,“你先把奖金收好,今天是个开心的日子,别扫大家的兴。”
我把五百块和奖状放回信封,然后抬起头,看着苏晴。
“苏总,我有一个问题。”
“你说。”
“这次系统故障,原因查清楚了没有?”
苏晴的笑容终于维持不住了。王建国放下酒杯,脸上的表情变得警惕。台下的李副总坐直了身子,目光在我和苏晴之间来回移动。
“林逸,你什么意思?”王建国的声音沉了下来。
“我的意思是,那颗逻辑炸弹是从财务部的测试机植入的,而财务部的测试机只有三个人有权限。王总,你的权限是不是其中之一?”
宴会厅里的空气凝固了。
所有人的目光都转向王建国,他的脸涨得通红,脖子上的青筋暴起:“林逸,你血口喷人!你有什么证据?”
“我没说炸弹是你植入的,”我的声音很平静,“我只是在陈述一个事实。那颗炸弹的植入IP是财务部的测试机,这是系统日志里清清楚楚记录的信息。苏总,这件事你打算怎么处理?”
苏晴深吸一口气,脸上的表情变换了好几次,最终定格在一种强压怒火的微笑上:“林逸,这个问题我们会在内部调查,今天不是讨论这个的场合。”
“那什么场合适合?”我问,“等炸弹第二次爆炸的时候?”
“你——”
“苏总,”我打断她,“我花了四十八小时修复系统,在这个过程中,我发现了一些很有意思的东西。比如,那颗炸弹不只会让系统崩溃,它还会把所有客户数据上传到一个外部服务器。那个服务器的IP地址,指向一家注册在开曼群岛的公司。”
王建国的脸色彻底变了。
“而这家公司的实际控制人,”我看着王建国,一字一句地说,“是王建国先生。”
宴会厅里炸开了锅。
有人站起来,有人掏出手机录音,有人交头接耳,有人脸色煞白。李副总猛地站起来,手里的酒杯掉在地上,摔得粉碎。
王建国的手指着我,声音发抖:“你胡说!你诽谤!我要告你!”
“好啊,”我说,“报警吧,让警察来查。我也很好奇,为什么一个财务总监要在自己的测试机里植入逻辑炸弹,为什么要把客户数据上传到自己的空壳公司。王总,你能解释一下吗?”
王建国张了张嘴,什么话都说不出来。
苏晴站在舞台上,脸色铁青。她看着王建国,眼神里有震惊,有愤怒,还有一种我看不懂的东西——是恐惧吗?还是别的什么?
“林逸,”苏晴的声音沙哑了,“你先下去,这件事我会处理。”
“好,”我把那个红色信封放在舞台上,“这五百块,就当是我买烟的钱。至于七十五万,我会通过法律途径解决。”
我转身走下舞台,穿过那些目瞪口呆的人群,走出了宴会厅。
走廊里很安静,只有我的脚步声回荡。电梯门打开的时候,我听到身后传来急促的高跟鞋声。
“林逸!站住!”
苏晴追了出来,礼服裙摆在她身后飘荡。她跑过来抓住我的胳膊,指甲掐进我的肉里:“你疯了?你在那么多股东面前说那些话,你想毁了我?”
我甩开她的手:“苏晴,是你们先毁了我。”
“我知道,我知道那七十五万的事是我不对,但我也有苦衷。王建国控制着财务,他不批我也没办法。你给我一点时间,我会处理好的。”
“你要处理的不只是七十五万,还有那颗炸弹。”
苏晴的脸抽搐了一下:“炸弹的事……你真的确定是王建国干的?”
“IP地址指向他的测试机,数据上传到他的空壳公司。你觉得呢?”
苏晴沉默了。
我看着她的表情,忽然明白了什么。她不是不知道,她是不想知道。因为她和王建国的关系,比CEO和财务总监更复杂。
“苏晴,你和王建国的事,我不关心。但公司的事,我不能装作没看见。”
“你威胁我?”
“我只是在保护自己。”
电梯门开了,我走进去。苏晴站在电梯外,看着我,眼神复杂。
“林逸,”她说,“你会后悔的。”
电梯门关上的瞬间,我看到她的脸扭曲成一个我从未见过的表情。
回到机房,我坐在屏幕前,打开了那个隐藏的文件夹。
过去三个月,我一直在收集证据。王建国和苏晴的聊天记录,王建国和赵明远的转账记录,逻辑炸弹的植入日志,客户数据的外传记录——所有的证据都整整齐齐地存在三个加密U盘里。
我原本不想走到这一步。我原本只想修好系统,拿到应得的报酬,然后安安静静地离开这家公司。但五百块和一张奖状,让我彻底清醒了。
在这家公司,在这些人眼里,我从来不是一个人,只是一个工具。一个可以随时被压榨、被抛弃、被羞辱的工具。
我点了一根烟,烟雾在机房的冷气中盘旋。
屏幕上,一个新的程序正在编译。这个程序我在修复系统的时候就写好了,一直藏在沙盒环境的深处。它不会破坏任何数据,不会影响任何业务,它只有一个功能——在指定的时间,把所有的证据打包发送到三个地方:我的邮箱、李副总的邮箱,以及网警的举报平台。
倒计时设定为三天。
我给了他们三天的时间。三天内,如果他们愿意解决问题,我可以删除这个程序,带着那七十五万离开,从此和这家公司再无瓜葛。
但如果他们选择继续欺骗和压榨,那就别怪我不客气。
我关上电脑,收拾好自己的东西。工位上什么都没有,三年来我没有在这里放过任何私人物品,连一张照片都没有。我的生活简单得像一张白纸,除了代码和数据,什么都没有。
走出公司大楼的时候,天已经黑了。
我站在路边,抬头看着这座灯火通明的写字楼。二十六楼的灯还亮着,技术部的人应该还在加班。二十八楼的灯也亮着,苏晴和王建国应该还在商量怎么应对今天的突发状况。
手机震了一下,是小张发来的消息:“逸哥,你没事吧?”
“没事。”
“刚才你走了之后,苏总把我们都叫到会议室,说不许对外透露今天的事,谁说了就开除谁。”
“知道了。”
“逸哥,你真的有证据吗?”
我没有回复,把手机放进口袋。
一辆出租车停在我面前,司机摇下车窗:“去哪?”
我拉开车门,坐进去。
“城中村。”
4
回到出租屋已经是晚上十点。
我打开门,屋里闷热得像蒸笼,电风扇坏了三天没修,空气中弥漫着一股霉味。我把背包扔在床上,从床底下拉出一个落满灰的纸箱,里面是我这些年攒下的所有家当——几本技术证书,一个旧移动硬盘,还有一沓泛黄的大学成绩单。
移动硬盘里有我从入职第一天就开始备份的所有数据。代码库、服务器配置、财务数据、邮件往来,每一样都按日期和类别整理得清清楚楚。我不是一个喜欢记仇的人,但在这个行业待久了,我太清楚什么叫自保。
插上硬盘,打开那个名为“证据”的加密文件夹,里面的内容比我在公司展示的要多得多。
过去三个月,我通过技术手段恢复了王建国电脑里被删除的所有文件。其中有一份名为“保险方案”的文档,详细描述了一个让系统崩溃进而骗取公司商业保险赔偿的计划。文档的创建时间是今年三月十五日,最后修改人是王建国。
更关键的是,文档里提到了一个名字——赵明远。
根据计划,赵明远负责提供技术支持,包括设计逻辑炸弹的初始框架,以及在系统崩溃后以“外部专家”的身份介入修复,收取高额费用。作为回报,赵明远会得到赔偿金的百分之十五,大约四百万。
这就是为什么苏晴会那么爽快地让赵明远接手。不是因为信任,而是因为这是一场事先设计好的局。
但苏晴知道多少?她是主谋,还是被蒙在鼓里的棋子?
我翻出了苏晴和王建国的聊天记录备份。过去半年,他们之间的消息超过三千条,大部分是工作内容,但也有一些私密的对话。比如三月十六日,王建国发给苏晴一条消息:“保险方案你看过了吗?如果成了,公司能拿到八千万赔偿。”
苏晴回复:“风险太大,系统是我们的核心资产,不能出事。”
王建国:“出了事正好换新的,旧系统本来就不行了。”
苏晴:“我再想想。”
这段对话之后,苏晴没有再回复过关于保险方案的消息。但三天后,她批准了王建国提交的一份预算申请,内容是“技术部老旧设备更换”,金额是三百二十万。而这笔钱,最终有八十万转到了赵明远的公司账户。
苏晴不可能不知道。她只是选择了默许。
我关掉文件,靠在椅背上,点了一根烟。
窗外的城中村安静得不像话,偶尔有野猫叫一声,然后又归于沉寂。这片区域住着几万人,大部分是像我一样的外来务工者,白天在写字楼里装体面,晚上回到逼仄的出租屋里卸下伪装。没有人知道邻居是谁,也没有人在乎。
手机忽然响了,是一个陌生号码。
“林逸,是我,李国栋。”
李副总。我有些意外,他平时跟技术部没什么交集,唯一说过的话就是那次会议室里的“让他试试吧”。
“李总,有事?”
“你在哪?方便说话吗?”
“在家,你说。”
电话那头沉默了几秒,然后李副总的声音压得很低:“今天的事,你手上到底有多少证据?”
“足够让王建国坐牢。”
“苏晴呢?”
“那要看她知道多少。”
又是一阵沉默。我能听到电话那头有人在走动,关门声,然后李副总的声音再次响起:“林逸,我做了二十多年生意,见过不少事,但像今天这样当着全公司撕破脸的,你还是第一个。”
“我只是拿回我应得的。”
“我知道,七十五万,苏晴做得不地道。”他停顿了一下,“但你当着那么多股东的面说出王建国的事,你知不知道会造成什么后果?”
“什么后果?”
“明天开盘,公司股价至少跌百分之十五。如果有媒体跟进,跌百分之三十都有可能。公司市值现在四十亿,百分之三十就是十二个亿。”
“那不是我的问题。”
“怎么不是你的问题?你也是公司的员工,公司倒了,你能得到什么好处?”
我冷笑一声:“李总,你觉得公司倒了,我会心疼吗?三年了,苏晴答应我的六十万年薪,我一年只拿到四十五万。她承诺的分红,我一分没见到。我熬夜加班修复系统,她给我五百块和一张奖状。这样的公司,倒了跟我有什么关系?”
李副总被我说得哑口无言。
“李总,我跟你说这些,不是想威胁谁,也不是想搞垮公司。我只是想要我应得的报酬,以及让做错事的人承担责任。如果你能帮我说服苏晴和王建国,我可以不把事情闹大。”
“你想要什么?”
“第一,七十五万,一分不能少,明天到账。第二,王建国必须公开道歉,承认逻辑炸弹是他植入的。第三,苏晴必须在董事会上说明她在这件事中的角色。”
“你疯了吗?王建国怎么可能承认?”
“他不承认也行,我把证据交给警方,让警察来查。到时候就不只是道歉的问题了。”
电话那头传来一声叹息:“林逸,你太年轻了。这个圈子里,不是谁有理谁就能赢的。王建国在行业里混了二十年,关系网比你想象的要大得多。你就算有证据,也不一定能把他怎么样。”
“那我们就试试看。”
我挂了电话。
凌晨一点,我躺在床上翻来覆去睡不着。天花板上那块水渍在路灯的映照下像一张扭曲的脸,盯着我看了很久。我起身又点了一根烟,打开手机,看到朋友圈里有人发了庆功会的照片。
照片里,苏晴站在舞台上举着香槟杯,笑容灿烂得像什么都没发生过。王建国站在她旁边,一只手搭在她肩上,表情得意。宴会厅里觥筹交错,没有人注意到角落里那个空荡荡的座位。
照片下面有人评论:“苏总今天太美了!”“公司越来越好!”“技术部威武!”
我关掉手机,把烟掐灭在烟灰缸里。
第二天早上八点,我到公司的时候,前台的小姑娘看我的眼神很奇怪。她欲言又止,最后什么都没说,低头继续刷手机。
我刷卡进技术部,发现气氛不对。
平时这个时候,技术部的人应该在吃早餐、聊天、刷新闻,但今天所有人都坐在工位上,安安静静的,像在等什么人。小张看到我进来,脸色一变,快步走过来压低声音说:“逸哥,你赶紧走吧。”
“怎么了?”
“苏总昨晚发了全员邮件,说你散布不实言论,损害公司声誉,决定对你进行停职调查。人事部的人在你工位等着,要收你的电脑和工牌。”
我看向自己的工位,果然坐着两个人事部的同事,一男一女,桌上放着一个纸箱和一份文件。
“林总监,”男的人事站起来,表情公事公办,“苏总让我们来收你的电脑和工牌,麻烦你配合一下。”
“停职调查的理由是什么?”
“散布不实言论,损害公司声誉。”
“我说了什么不实言论?”
“这个……你可以在调查期间向公司申诉,我们只是执行命令。”
我看着那两个人事,看着技术部那些低着头的同事,忽然笑了。
苏晴的动作比我预想的快。她昨晚连夜发了全员邮件,把我定性为“散布谣言的人”,然后在所有人面前塑造了一个“被诬陷的好老板”形象。这样一来,就算我拿出证据,也会被说成是“报复行为”。
这是一套很成熟的危机公关打法——先发制人,把受害者变成加害者。
“好,我配合。”我把工牌放在桌上,打开电脑,当着人事的面清空了个人文件,“电脑给你们,但里面的东西是我的知识产权,我已经全部删除了。”
“这个……公司的电脑属于公司资产,里面的所有文件都属于公司。”
“我删的是我个人的代码和文档,不涉及公司业务。如果你们觉得有问题,可以报警。”
人事对视一眼,没再说话。
我收拾好自己的东西,站起来,看了一眼技术部的同事们。小张的眼眶红了,刘哥低着头不敢看我,老赵假装在敲键盘,手指却在发抖。
“林总监,”小张站起来,“我送你。”
“不用了,好好工作。”
我转身走出技术部,走廊里空荡荡的,只有我的脚步声在回响。电梯门打开的时候,我看到苏晴站在里面。
她穿着一件白色的衬衫,头发扎成马尾,看起来像个刚毕业的大学生。但她的眼神很冷,冷得像二月的冰。
“林逸,我没想到你会把事情搞得这么难看。”她走出电梯,挡在我面前。
“我没想到你会把七十五万变成五百块。”
“我说了,那是审批流程的问题。你等三个月不行吗?”
“等三个月,然后呢?你会给我吗?”
苏晴沉默了。
“你不会,”我说,“从一开始你就没打算给我。那张便签纸连公章都没有,就是一张废纸。你让我修复系统,然后随便找个理由打发我,就像过去三年你打发我的每一次一样。”
“林逸,你听我说——”
“不用了。”我打断她,“苏晴,我给过你机会。昨天在庆功会上,只要你当众承认七十五万的承诺,我什么都不会说。但你选择了羞辱我,当着全公司的面,给我五百块和一张奖状。”
“那是王建国的意思!”苏晴的声音突然尖锐起来,“是他让我这么做的,他说你太好欺负了,给五百块就够了。我不同意,但他控制着财务,我能怎么办?”
“你是CEO,你有权否决他的任何财务决定。”
“你不懂,公司里的权力斗争比你想象的要复杂得多。王建国背后有股东支持,我要是跟他翻脸,我的位置也不保。”
“所以你就牺牲我?”
苏晴的嘴唇哆嗦了一下,没有说话。
电梯门开了又关,关了又开。走廊尽头传来脚步声,王建国带着两个保安走过来,脸上挂着胜利者的笑容。
“林逸,听说你被停职了?”他故意提高音量,“真是可惜啊,技术骨干说走就走,公司损失不小。”
我看着他那张得意的脸,从口袋里掏出手机,按下了播放键。
苏晴的声音从手机里传出来:“是王建国的意思!是他让我这么做的,他说你太好欺负了,给五百块就够了。”
王建国的笑容凝固了。
苏晴的脸色瞬间煞白,她伸手来抢我的手机,我侧身避开。
“林逸,你录音?!”她的声音在发抖。
“我只是习惯保留证据。”我把手机放回口袋,“王总,刚才那段录音你听清楚了吗?你的合伙人已经把责任全推到你身上了。”
王建国看向苏晴,眼神里满是愤怒:“苏晴,你这个贱人!”
“王建国,你别听他挑拨!”苏晴的声音尖得刺耳,“他在录音,你别乱说话!”
“我乱说什么?逻辑炸弹的事是你默许的!你说只要拿到保险赔偿,分我三成!”
走廊里彻底安静了。
两个保安站在原地,不知所措。人事部的两个人不知道什么时候从技术部出来,站在门口,脸色发白。
我看着王建国和苏晴,这两个在公司里呼风唤雨的人,此刻像两只被困在笼子里的野兽,互相撕咬,互相指责。
“王总,”我说,“你刚才说逻辑炸弹是苏晴默许的,你有证据吗?”
王建国愣住了。
“苏总,”我转向苏晴,“你说七十五万是王建国的意思,你有证据吗?”
苏晴也愣住了。
“你们都没有证据,但我有。”我打开背包,从里面拿出一个U盘,“这里有王建国电脑里删除的所有文件,包括那份保险方案,以及他和赵明远的聊天记录。还有苏晴的邮件往来,以及公司账户的资金流水。”
我把U盘举起来,让所有人都能看到。
“这里面每一份文件都是铁证。不管是商业欺诈,还是破坏计算机信息系统,都够你们坐三到五年。”
王建国的腿软了,靠在墙上,脸上的血色褪得干干净净。苏晴咬着嘴唇,眼泪无声地流下来,顺着脸颊滴在她那件昂贵的白衬衫上。
“林逸,你到底想怎么样?”她的声音沙哑得像砂纸。
“我说过了,七十五万,明天到账。王建国公开道歉,承认炸弹是他植入的。你在董事会上说明在这件事中的角色。”
“不可能,”王建国摇着头,“如果我在董事会上承认,我就完了。”
“你不承认也一样。U盘里的证据,足够让警察来找你。”
走廊里的气氛压抑到了极点。没有人说话,没有人动,只有空调的风声在头顶嗡嗡作响。
终于,苏晴开口了:“给我一天时间。”
“明天这个时候,我要看到钱到账。”我说,“否则,U盘里的所有证据会同时出现在李副总的邮箱、网警的举报平台、以及三家主流媒体的记者手里。”
我转身走进电梯,门关上的瞬间,我看到苏晴蹲在地上,哭得浑身发抖。王建国站在她旁边,脸色灰白,像一具行尸走肉。
电梯下行,数字一格一格跳动。二十八、二十六、二十四、二十二……
手机震了一下,是小张的消息:“逸哥,你刚才在走廊里说的话,我们都听到了。”
我没回复。
又震了一下:“逸哥,我们都支持你。”
再震一下:“王建国那个混蛋早就该滚蛋了。”
接着是第四条、第五条、第六条,技术部的群里炸开了锅,消息一条接一条弹出来,像海浪一样涌来。
我看着那些消息,忽然觉得眼睛有些酸。
三年来,我一直以为自己是孤军奋战。每天加班到深夜,一个人扛着整个技术部的工作,被苏晴和王建国压榨,被同事疏远。我以为没有人会在乎我的付出,没有人会看到我的委屈。
但现在,看到那些消息,我知道我错了。
有些人不是不在乎,只是不敢说。
电梯到了一楼,我走出去,阳光刺得眼睛有些疼。门口的花坛里,几株月季开得正艳,红色的花瓣在阳光下闪闪发光。
我站在花坛边,点了一根烟。
明天,一切都会有结果。
5
第二天上午十点,我的银行账户到账七十五万整。
短信提示音响起的时候,我正在城中村的早餐摊上吃豆浆油条。老板是个五十多岁的大姐,操着一口浓重的湖南口音,每次都会多给我盛一碗免费的豆浆。我盯着手机屏幕上的数字,把最后一根油条吃完,然后给苏晴发了一条消息:“收到。”
她秒回:“林逸,钱已经给了,U盘可以删了吧?”
“还差两件事。”
“王建国不可能公开道歉,你知道的。”
“那就让警察来跟他说。”
消息发出去之后,那边沉默了整整十分钟。我喝完最后一口豆浆,扫码付了钱,正准备走的时候,苏晴的电话打了过来。
“林逸,我们当面谈。”她的声音听起来很疲惫,像是哭过,又像是整夜没睡。
“在哪?”
“公司楼下的咖啡厅,半小时后。”
我到咖啡厅的时候,苏晴已经坐在角落的位置上了。她没化妆,素面朝天,眼袋很深,头发随便扎在脑后,穿着一件灰色的卫衣,看起来像老了五岁。桌上摆着两杯美式,一杯已经凉了,另一杯还在冒热气。
我坐下,把那杯热的美式推到她面前:“你喝吧,我不喝咖啡。”
她愣了一下,然后苦笑:“你连咖啡都不喝,我居然不知道。三年了,我对你一无所知。”
“这不重要。说吧,你想怎么谈?”
苏晴深吸一口气,从包里拿出一个文件袋,放在桌上推过来:“这是王建国的辞职信,还有他写的道歉声明。他说可以在董事会上宣读,但不能公开。”
我打开文件袋,里面是一张A4纸,上面打印着几行字:“本人王建国,因个人原因辞去公司财务总监职务。对于在系统故障事件中的不当行为,本人深表歉意。”落款处有他的签名和手印。
“不当行为?”我把纸推回去,“他植入逻辑炸弹,窃取客户数据,骗取保险赔偿,这叫不当行为?”
“林逸,你不懂,如果他把所有事情都承认了,公司就完了。股价会崩盘,客户会流失,供应商会断供,几百个员工都会失业。”苏晴的声音在发抖,“你可以恨我,恨王建国,但那些员工是无辜的。小张、刘哥、老赵,还有前台的小姑娘,他们都是靠这份工资养家糊口的。”
我沉默了。
她说得有道理。公司倒了,苏晴和王建国会受到惩罚,但那些普通员工也会跟着遭殃。小张刚结婚,老婆怀孕六个月,正是最需要用钱的时候。刘哥的孩子在上小学,每个月补习费就要三千多。老赵的父母都生病了,医药费压得他喘不过气来。
“林逸,”苏晴看着我,眼眶红了,“我知道我对不起你,但求你看在那些同事的份上,不要把这件事闹大。王建国走人,你的钱也到账了,这件事到此为止,行吗?”
“苏晴,你觉得我是为了钱?”
“那你为了什么?”
我盯着她的眼睛,一字一句地说:“尊严。”
苏晴的眼泪终于掉了下来。
“三年了,你当着全公司的面骂我,扣我的工资,压我的奖金,让我像个傻子一样加班。我以为只要我做出成绩,你总会看到。但你没有。在你眼里,我就是一头驴,只要给胡萝卜,就会一直拉磨。”
“不是的——”
“你给的不是胡萝卜,是五百块和一张奖状。”我打断她,“你知道那五百块我拿来干什么了吗?我买了七包红塔山,剩下的钱请技术部喝了奶茶。那是三年来我第一次请同事们吃东西,因为之前我连请客的钱都舍不得花。”
苏晴捂着脸,肩膀剧烈地抖动。
咖啡厅里很安静,只有角落里的两个女生在窃窃私语,不时往我们这边看一眼。窗外的街道上车水马龙,这座城市依然在高速运转,没有人知道在这个小小的咖啡厅里,一个人的尊严正在被重新定义。
“我可以接受王建国不公开道歉,”我说,“但我有条件。”
苏晴抬起头,眼睛红肿:“什么条件?”
“第一,王建国必须在董事会上承认所有事实,包括他植入逻辑炸弹、窃取客户数据、以及骗取保险赔偿的完整过程。董事会必须形成书面会议纪要,存档备查。”
“可以。”
“第二,公司必须建立技术人员的薪酬保障制度,包括明确的项目奖金发放标准和流程。不能再出现口头承诺不兑现的情况。”
“可以。”
“第三,苏晴,你必须公开向技术部道歉。不是对我一个人,是对整个技术团队。这三年,你把他们当牛马使唤,从来没有给过应有的尊重。”
苏晴咬了咬嘴唇,最终点了点头:“好,我会的。”
我站起来,把文件袋推回去:“U盘里的证据我会保留一份,但不会公开。如果你们遵守承诺,这件事到此为止。如果你们再搞什么小动作,别怪我不客气。”
“林逸,”苏晴叫住我,“你……还会回公司吗?”
“不会了。”
“那你接下来打算干什么?”
我笑了笑:“还没想好。可能先休息一段时间,抽抽烟,喝喝茶,想想这三年值不值得。”
走出咖啡厅的时候,阳光很烈,照得人睁不开眼。我点了一根烟,沿着街道慢慢走,没有目的,没有方向。
手机震了一下,是银行发来的余额变动提醒。七十五万,加上我这些年的积蓄,总共九十二万。在这座城市,这点钱连一套像样的房子都买不起,但足够我活一段时间了。
下午两点,苏晴召开了董事会。
我没有参加,但小张给我发了全程录音。王建国在会上读了他那份轻描淡写的道歉声明,然后被要求当场签署辞职协议。苏晴在会议最后向董事会承认了自己在管理上的失误,承诺会建立更完善的薪酬制度。
整个会议只用了四十分钟,像一场安排好的演出。
王建国离开公司的时候,我收到了小张发来的照片。他抱着一个纸箱,站在公司楼下,抬头看着那栋大楼,表情复杂。没有人送他,连苏晴都没有出现。曾经呼风唤雨的财务总监,就这样悄无声息地离开了。
晚上,我请技术部的同事们吃饭。
地点选在公司附近的一家烧烤店,十二个人,坐了满满一桌。小张带了他老婆,一个很腼腆的姑娘,挺着六个月大的肚子,一直在给小张夹菜。刘哥喝了两杯啤酒就开始脸红,拉着我的手说:“逸哥,你是真爷们,我们技术部的人都服你。”老赵难得地笑了,说自从我来了之后,技术部才像个技术部。
我给他们每个人倒了一杯酒,站起来说:“这三年,谢谢大家。我知道我不是一个好领导,脾气不好,说话难听,很多时候没有照顾好大家的感受。但我一直觉得,技术部的人是最纯粹的,我们不搞那些弯弯绕绕,我们只做一件事——把代码写好,把系统做好。”
小张第一个站起来:“逸哥,你别走行不行?你走了,技术部怎么办?”
“技术部有你们。”我说,“你们比我强。小张的前端代码写得比我好,刘哥的运维经验比我丰富,老赵的数据库管理比我专业。我只是比你们多干了几年,没什么了不起的。”
刘哥抹了一把眼睛:“逸哥,你别说了,再说我要哭了。”
“别哭,大老爷们的。”我举起酒杯,“来,喝一个。”
酒杯碰撞的声音在烧烤店里回荡,像某种告别的仪式。
饭后,小张送我回家。他喝了酒,脸红得像关公,走路都不太稳,但坚持要送我到楼下。
“逸哥,”他站在城中村的巷口,声音有些哽咽,“你真的不回来了?”
“不回来了。”
“那你以后去哪?我还能找到你吗?”
“当然能。我又不是死了,你随时可以给我打电话。”
小张点了点头,转身走了几步,又回头:“逸哥,谢谢你。”
“谢我什么?”
“谢谢你让我们知道,技术人也是有尊严的。”
我看着他的背影消失在巷口,心里涌起一种说不清的情绪。有释然,有不舍,有对这三年时光的告别,也有对未来的不确定。
回到出租屋,我坐在床边,看着这个住了三年的地方。墙壁上的墙皮已经开始脱落,窗户的把手坏了一直没修,衣柜的门关不严,露出一件我从来没穿过的西装外套。
那是三年前我入职时买的,想着要穿得体面一些,但后来发现公司里没人穿西装,就一直挂在衣柜里。
我拿出那件西装,抖了抖灰尘,穿在身上。
镜子里的自己有些陌生。三十二岁,眼角已经有了细纹,头发比以前少了一些,但眼神还算明亮。这件西装买的时候花了八百块,是我当时能承受的极限,现在穿起来居然还合身。
我对着镜子笑了笑,然后脱下西装,重新挂回衣柜。
接下来的几天,我过得很平静。
每天早上睡到自然醒,然后去早餐摊吃豆浆油条。中午在城中村里的小饭馆随便吃点,下午去附近的公园散步,晚上回来看看书,写写代码。
没有闹钟,没有加班,没有苏晴的电话,没有王建国的嘲讽。
我像一台被关掉的机器,终于停止了运转。
但我知道,这种平静不会持续太久。我是一个闲不住的人,天生就是干技术的命。超过一周不碰代码,手就会痒,脑子里会自动冒出各种新的想法。
第五天,我打开电脑,开始整理这三年积累的技术文档。
除了公司的业务代码,我还写了很多自己的东西。一个轻量级的数据库中间件,一套自动化部署工具,还有一个基于机器学习的风控系统原型。这些东西都是在加班间隙写的,有些只有几千行代码,有些已经相当完整。
我打开那个风控系统,开始完善它的架构。
这套系统最初是为公司设计的,但因为王建国不批预算,一直没有上线。它可以通过分析用户行为数据,实时识别异常交易,准确率比市面上大多数产品都要高。
我花了三天时间,把系统重构了一遍,修复了几个bug,优化了算法效率。然后在阿里云上买了一个最低配置的服务器,把系统部署上去,用自己的信用卡刷了一笔测试交易。
系统在两秒内给出了风险评分,准确识别出了异常行为。
我盯着屏幕上的结果,心里忽然有了一个想法。
为什么不自己开一家公司呢?
不是那种烧钱换流量的互联网公司,而是一家专注于技术的软件公司。不做花里胡哨的营销,不搞那些虚头巴脑的概念,只做一件事——用技术解决实际问题。
七十五万,加上我这些年的积蓄,足够支撑一个三到五人的小团队活半年。如果半年内能做出产品,找到客户,就能活下来。如果不行,大不了回去打工。
我把这个想法在微信上跟小张说了,他秒回:“逸哥,我跟你干!”
然后是刘哥:“我也跟你干!”
接着是老赵:“算我一个。”
不到一个小时,技术部十二个人里有七个表示愿意跟我一起干。我把他们拉到一个群里,发了一条消息:“别冲动,这不是闹着玩的。创业很苦,前半年可能一分钱收入都没有,你们要想清楚。”
小张:“我想清楚了,在这破公司干下去也没前途。”
刘哥:“我年纪大了,再不拼一把就没机会了。”
老赵:“我妈的病需要钱,打工赚的那点根本不够。”
我看着这些消息,鼻子有些酸。
这些人,都是被苏晴和王建国压榨过的。他们不是不想反抗,只是没有反抗的资本。他们需要这份工资来养家糊口,需要这份工作来维持体面。但现在,他们愿意把自己的未来押在我身上。
我深吸一口气,开始写创业计划书。
那天晚上,我写到凌晨三点,烟灰缸里堆满了烟头。窗外的城中村安静得像一座坟墓,只有远处偶尔传来的狗叫声打破寂静。
写完最后一个字,我保存文档,关掉电脑,躺在床上。
天花板上那块水渍依然在路灯的映照下像一张扭曲的脸,但此刻我看着它,心里不再有那种压抑的感觉。
三年了,我终于可以为自己活一次了。
6
年会定在十二月二十八号,五星级酒店的大宴会厅。
苏晴把这次年会办得比往年都隆重,请了专业的活动公司策划,灯光音响都是顶级配置,还花二十万请了一个三线明星来暖场。邀请函上印着“辉煌五年,再创巅峰”的金色大字,发给所有股东、客户和合作伙伴。
我没有收到邀请函,但小张给我发了一份。
“逸哥,今天年会,苏总准备了重磅发言,你要不要来看看好戏?”他在消息后面加了一个坏笑的表情。
我没有回复,但下午六点,我出现在了酒店门口。
门口的签到处排着长队,男男女女都穿着正装,手里端着香槟杯,寒暄声此起彼伏。我穿着一件深灰色的夹克,混在人群里并不显眼。签到表上写着我的名字,是苏晴亲自加的——小张告诉我,她特意在最后一刻把我的名字加上去,位置在最后一桌的角落。
宴会厅里摆了四十桌,舞台正中央是一块巨大的LED屏幕,循环播放着公司的宣传视频。视频里苏晴穿着红色礼服,站在高楼顶上俯瞰城市,旁白用浑厚的男中音说着“科技改变未来”之类的套话。
我找到自己的座位,果然在最后一桌,紧挨着洗手间的门。桌上坐的都是公司最底层的员工,前台、保洁、司机,看到我来,都有些局促地点点头。
“林总监,您也坐这儿?”前台的小姑娘小声问。
“嗯,最后一桌挺好的,离洗手间近。”
她笑了,笑容里带着一种同病相怜的默契。
七点整,年会开始。主持人先是热场,然后请苏晴上台致辞。她今天穿了一件墨绿色的长裙,头发盘起来,戴着一条看起来很贵的钻石项链。灯光打在她身上,整个人闪闪发光,像是从杂志封面上走下来的。
“各位来宾,各位同事,大家晚上好。”她的声音通过音响传遍整个宴会厅,“过去的一年,对公司来说是充满挑战的一年。我们经历了系统故障、人员变动等种种困难,但在大家的共同努力下,公司依然保持了稳健的增长。全年营收突破六亿,同比增长百分之十八,创下历史新高。”
掌声雷动。
我端起桌上的水杯,喝了一口。系统故障、人员变动,她说得轻描淡写,好像那些事不过是前进路上的小石子,踢开就行了。
“尤其值得一提的是,”苏晴的语气变得更加郑重,“在今年的系统故障中,我们的技术团队表现出了极高的专业素养和敬业精神。特别是前技术总监林逸先生,连续工作四十八小时,成功修复了系统,为公司避免了巨大损失。”
灯光忽然转向我这一桌。
所有人的目光都聚焦过来,像无数根针扎在我身上。我保持着面无表情,看着台上的苏晴。她朝我的方向微微点头,嘴角挂着一个得体的笑容。
“虽然林逸先生已经离开了公司,但我们永远感谢他的贡献。在此,我提议,大家举杯,向林逸先生表示感谢!”
全场举杯,有人真心,有人敷衍,有人好奇,有人不屑。我举起水杯,象征性地碰了一下唇边,没有喝。
苏晴的致辞还在继续,但我已经不再听了。我在等,等她说到那个关键的部分。
果然,十分钟后,她提到了新项目。
“明年,公司将全面进军人工智能领域,打造行业领先的智能风控系统。这个项目预计投资五千万,将成为公司未来三年的核心增长点。我们有信心,在三年内做到行业前三!”
掌声比之前更热烈。
大屏幕上开始播放新项目的宣传片,华丽的动画,激昂的音乐,各种炫酷的特效。片子里反复出现一个名字——“天穹智能风控系统”。
小张给我发来消息:“逸哥,你看到了吗?”
我回复:“看到了。”
天穹智能风控系统,这个名字我很熟悉。因为那是我在三个月前写的商业计划书里用的名字。
那段时间我还在公司,每天晚上加班到深夜,利用休息时间写了一份详细的商业计划书,包括市场分析、技术架构、产品规划、盈利模式,整整八十七页。我没有告诉任何人,只是在一次技术部的内部讨论中简单提了几句。
但那份计划书,后来从我公司的电脑里消失了。
准确地说,是我被停职那天,人事部收走我的电脑时,里面的所有文件都被拷贝走了。我当时以为他们只是例行公事,没有多想。但现在看来,苏晴不仅拿走了我的代码,还拿走了我的想法,我的规划,我的未来。
我放下手机,继续看台上的表演。
苏晴讲完话之后是三线明星的演唱,然后是小品,然后是抽奖。宴会厅里的气氛越来越热闹,觥筹交错,推杯换盏,没有人注意到角落里的我。
九点半,年会的正式环节结束,进入自由交流时间。人们开始走动,敬酒,合影,交换名片。我站起来,走向舞台旁边的控制室。
控制室的门没锁,里面只有一个技术人员在盯着监控屏幕。他看到我进来,愣了一下:“你是?”
“前技术总监,过来看看设备。”我指了指那台连接大屏幕的电脑,“能借用一下吗?我想查点资料。”
技术人员犹豫了一下,但可能觉得一个前技术总监不会搞什么破坏,就点了点头:“你快点,苏总一会儿还要上来敬酒。”
我坐到电脑前,打开一个隐藏的文件夹,里面有一个我已经准备好三天的程序。这个程序不需要安装,双击就能运行,它会自动连接到大屏幕,播放一个预设的视频文件。
视频文件的内容,是我在过去几个月里收集的所有证据。
我犹豫了大概十秒钟。
手指悬在鼠标上方,心脏跳得很快。我知道按下这个按钮意味着什么——意味着公开撕破脸,意味着再也没有回旋的余地,意味着这家公司可能真的会完蛋。
但我想起那五百块,想起那张奖状,想起苏晴在庆功会上当着全公司的面羞辱我的样子,想起她在我被停职后发全员邮件把我定性为“散布谣言的人”。
我按下了鼠标。
大屏幕上,正在播放的宣传片突然卡顿,然后黑屏。宴会厅里的音乐停了,灯光灭了,所有人都愣住了。
然后,一个新的视频开始播放。
视频的开场是一段文字,白底黑字,简洁得像一份技术文档:“以下是关于公司前财务总监王建国、CEO苏晴在系统故障事件中涉嫌商业欺诈、破坏计算机信息系统的证据材料。”
宴会厅里炸开了锅。
第一段录音是王建国的声音:“保险方案你看过了吗?如果成了,公司能拿到八千万赔偿。”
第二段录音是苏晴的声音:“风险太大,系统是我们的核心资产,不能出事。”
第三段录音是王建国的声音:“出了事正好换新的,旧系统本来就不行了。”
第四段录音是苏晴的声音:“我再想想。”
每一段录音都有时间戳,有上下文,有对应的聊天记录截图。屏幕上同时显示着王建国和苏晴的微信对话原文,一字不差,清清楚楚。
宴会厅里安静得能听见空调的嗡嗡声。
所有人的目光都在屏幕和苏晴之间来回移动。苏晴站在舞台边上,脸色白得像纸,嘴唇在发抖,手里的香槟杯掉在地上,碎了一地。
视频继续播放。
接下来是王建国电脑里恢复的那份“保险方案”文档,每一页都显示在大屏幕上。方案里详细描述了植入逻辑炸弹、触发系统崩溃、骗取商业保险赔偿的完整流程,甚至连分成比例都写得清清楚楚——王建国四成,苏晴三成,赵明远三成。
再接下来是银行转账记录,显示王建国名下的空壳公司收到了赵明远转来的八十万“技术咨询费”。转账日期是三月二十日,正是苏晴批准那笔三百二十万预算申请的第二天。
最后是一段视频。
视频里,王建国坐在他的办公室里,面对着镜头,声音沙哑地承认了一切。这段视频是我在他辞职前一天拍的,当时他已经被逼到了绝路,以为只要承认了就能保住自己。他不知道我会把它放在年会上播放。
“我是王建国,原公司财务总监。我承认,系统故障中的逻辑炸弹是我授意赵明远植入的。目的是触发系统崩溃,骗取公司的商业保险赔偿。苏晴对此知情,并默许了我的行为。她之所以同意,是因为她可以从保险赔偿中获得个人利益……”
视频还没播完,宴会厅里已经乱成了一锅粥。
有人尖叫,有人拍照,有人打电话,有人往外跑。李副总第一个站起来,脸上的表情像是被人扇了一巴掌,他指着苏晴,声音气得发抖:“苏晴,你这个贱人!你居然做出这种事!”
苏晴没有回答。她站在那里,像一尊雕塑,眼神空洞,脸色灰白。她的嘴唇在动,但没有人能听到她在说什么。
王建国不在现场,他已经辞职了。但他的老婆在——一个五十多岁的女人,穿着貂皮大衣,戴着金项链,坐在第二排的贵宾席上。此刻她站起来,脸上的表情从震惊变成了愤怒,然后变成了恐惧。
“不是的,不是这样的!”她尖叫着,“我老公不会做这种事!这是诬陷!”
没有人理她。
我关掉电脑,站起来,走出控制室。技术人员跟在我后面,声音发抖:“你……你到底做了什么?”
“做了一个技术人员该做的事。”我说。
宴会厅里的混乱还在继续,但我已经不想再看了。我穿过走廊,走到酒店门口,点了一根烟。夜风很冷,吹得人直打哆嗦。我裹紧夹克,看着街道上来来往往的车流,心里忽然觉得很空。
不是空虚,是那种暴风雨过后的宁静。
手机震个不停,全是消息。小张发来一连串惊叹号,刘哥发了五个“牛逼”,老赵发了一个竖起大拇指的表情。还有无数不认识的人加我微信,有记者,有猎头,有投资人,有看热闹的。
我关掉手机,把烟掐灭,扔进垃圾桶。
身后传来急促的高跟鞋声,苏晴追了出来。她的礼服裙摆拖在地上,沾满了灰尘和酒渍,头发散了一半,钻石项链歪在一边,整个人狼狈得像从战场上逃出来的溃兵。
“林逸!”她冲过来,抬手就要扇我耳光。
我抓住她的手腕,没有松开。
“你疯了!你知不知道你做了什么?你毁了公司!你毁了所有人!”她的声音嘶哑得几乎听不清,眼泪和妆混在一起,在脸上流下一道道黑色的痕迹。
“我毁了公司?”我松开她的手,“苏晴,毁掉公司的是你自己。”
“我没有!那些事是王建国干的,我只是——”
“你只是默许。你只是知情不报。你只是拿了钱然后装无辜。”我盯着她的眼睛,“苏晴,你知道吗,最让我恶心的不是王建国,是你。王建国至少是个真小人,他坏得光明正大。你呢?你一边做坏事,一边装好人,一边压榨员工,一边在台上唱高调。你才是最虚伪的那个。”
苏晴瘫坐在地上,哭得上气不接下气。
我看着她,心里没有任何同情。这个女人,曾经是我最信任的老板,是我愿意为之付出一切的人。但三年的时间,足够让一个人看清另一个人的真面目。
“苏晴,我已经报警了。网警和经侦都会介入,你最好找个好律师。”
她的哭声戛然而止,抬起头看着我,眼神里满是恐惧。
“你……你报警了?”
“我说过,如果你们再搞小动作,别怪我不客气。”我拿出手机,给她看屏幕上的报警回执,“天穹智能风控系统,用的是我的商业计划书,连名字都没改。苏晴,你知道侵犯知识产权也是犯罪吗?”
她的脸彻底垮了。
酒店门口聚集了越来越多的人,有宾客,有记者,有看热闹的路人。闪光灯对着苏晴拍个不停,有人举着手机直播,弹幕疯狂滚动。
我转身离开,身后传来苏晴歇斯底里的喊声:“林逸!你给我回来!你不能这样对我!我给了你工作!我给了你机会!我——”
声音越来越远,最终被夜风吹散。
7
苏晴在年会现场被带走的时候,我正在出租屋里吃泡面。
小张发来视频,画面抖得厉害,但还是能看清两个穿制服的经侦队员一左一右架着苏晴往外走。她的礼服裙摆拖在地上,高跟鞋掉了一只,头发散得像疯子,嘴里一直在喊“我要打电话给我的律师”。王建国的老婆跟在后面,哭天抢地,被保安拦在了门口。
宴会厅里的宾客走了一大半,剩下的都在交头接耳。李副总站在舞台边上,对着手机咆哮,声音大到能从视频里传出来:“给我联系最好的公关公司!不惜代价!明天之前必须把舆情压下去!”
我关掉视频,把泡面汤喝完,点了一根烟。
手机开始疯狂震动。陌生号码一个接一个打进来,有记者,有自媒体,有所谓的“知情人”,还有一个自称是某大厂HR的人,说想约我聊聊。我把手机调成勿扰模式,扔在床头,看着天花板上的水渍发呆。
那天晚上,我几乎没有睡着。
不是因为兴奋,而是因为一种说不清的疲惫。像是跑了很久的马拉松终于冲过终点线,身体还在惯性往前冲,但心里已经空了。
第二天早上,事情彻底炸了。
热搜第一:#某科技公司CEO涉嫌商业欺诈#
热搜第三:#500块奖金事件#
热搜第七:#技术总监的反杀#
各大媒体都在转载年会上的视频片段,一个比一个惊悚。《从75万到500块,一个技术总监的绝地反击》《CEO的钻石项链和500块奖金》《内部人爆料:这家公司是如何压榨员工的》。
评论区更是热闹。有人说我是英雄,有人说我是疯子,有人说我做得好,有人说我太过分。点赞最高的一条评论是:“你可以欺负一个人一次,但不要欺负一个技术人两次,因为他们手里有你的全部数据。”
我笑了一下,把手机放下。
上午十点,李副总打来电话。
“林逸,你到底想怎么样?”他的声音沙哑得厉害,听起来像是整夜没睡,“公司股价今天开盘跌了百分之三十,市值蒸发十二个亿。客户跑了三分之一,供应商要求提前结款,银行在抽贷。你满意了?”
“李总,这不是我的问题。”
“怎么不是你的问题?你那些证据,你那些录音,你那些视频,你知道造成了多大的影响吗?”
“我知道。”我说,“但造成这些影响的不是我,是苏晴和王建国。我只是把真相公开了。”
电话那头沉默了很久。
“林逸,我跟你说句实话,”李副总的声音低了下来,“苏晴确实做得不对,但你也不应该用这种方式。你知不知道,公司倒了,几千个家庭会受到影响?你有没有想过那些无辜的员工?”
“李总,这些话你应该跟苏晴说。”
“苏晴已经被抓了,王建国也被控制了,你现在满意了吧?”
我没有回答。
“林逸,我给你一个机会,”李副总说,“你把那些证据全部删掉,公开发一个声明,说年会上的视频是假的,是被人剪辑过的。我可以给你五百万,这件事到此为止。”
“李总,你在教我造假?”
“这不是造假,这是止损。公司需要时间来消化这件事,只要你能配合,我们都能得到好处。”
“五百万,”我重复了一下这个数字,“苏晴欠我七十五万,你开价五百万。李总,你觉得我是为了钱?”
“那你是为了什么?”
“尊严。”
我挂了电话。
接下来的一周,事情的发展比我想象的要快得多。
警方正式立案,以涉嫌商业欺诈、破坏计算机信息系统、职务侵占三项罪名对苏晴和王建国展开调查。赵明远也被传唤,他的公司被查封,客户全部流失,一夜之间从行业新贵变成了过街老鼠。
公司的股价跌到了谷底,市值从四十亿缩水到不到十亿。客户纷纷终止合同,供应商停止供货,银行冻结了授信额度。李副总试图力挽狂澜,但董事会已经对他失去了信任。在苏晴被抓的第五天,董事会宣布公司进入破产清算程序。
三百二十个员工,在一周之内全部失业。
小张给我打电话的时候,声音很低落:“逸哥,公司真的完了。今天人事部通知我们去办离职手续,补偿金只给一个月工资,连N+1都不够。”
“你打算怎么办?”
“我跟几个同事商量了,想自己接点外包项目做做。你在群里发的那个创业计划,还算数吗?”
“算数。”
“那我们什么时候开始?”
“现在。”
当天晚上,我把七个人拉到了一个线下会议室——城中村的一家茶馆,三十块钱一位,包间有空调和WiFi。小张、刘哥、老赵,还有另外四个技术部的同事,挤在一张小圆桌旁,面前摆着廉价的铁观音和瓜子。
我把打印好的创业计划书发给大家,每人一份,八十七页。
“这是我花三个月写的商业计划书,”我说,“也是苏晴偷走的那一份。现在她进去了,但这份计划书还在。我的想法是,我们自己干。”
小张翻着计划书,眼睛发光:“逸哥,这个天穹系统真的能做出来吗?”
“核心代码我已经写完了,花了五天时间重构了一遍,现在需要的是完善功能和落地测试。如果大家全力以赴,三个月内可以出第一个版本。”
“客户呢?”刘哥问,“我们没有销售团队,怎么找客户?”
“我做过市场调研,目前市面上做智能风控的公司有二十几家,但大部分都是套壳产品,真正有核心技术的不到五家。我们的优势在于,这个系统的底层算法是我原创的,比市面上大部分产品的准确率高百分之十五到二十。只要我们能做出demo,不愁没有客户。”
老赵推了推眼镜:“逸哥,启动资金呢?我们几个人如果全职做,至少需要半年的生活费。”
“我有九十二万,够撑半年。半年内如果做不出成绩,大家一起回去打工。”
包间里安静了几秒。
小张第一个开口:“我跟你干。”
刘哥:“我也干。”
老赵:“算我一个。”
另外四个人也点了头。
那一刻,我看着他们,心里涌起一种从未有过的感觉。不是感激,不是感动,而是一种沉甸甸的责任。这些人把未来押在我身上,我不能让他们失望。
创业的日子比我想象的要苦得多。
我们租了一间六十平的民房做办公室,月租三千五,在城郊的一个老旧小区里。客厅摆着七张桌子和七台电脑,卧室改成了服务器机房,厨房堆满了泡面和矿泉水。没有空调,夏天靠风扇,冬天靠电暖器。
每天早上八点,我第一个到,打开所有电脑,开始调试代码。九点左右,其他人陆续到齐,各自忙各自的。小张负责前端界面,刘哥负责运维部署,老赵负责数据库优化,我负责核心算法。其他四个人分别负责测试、文档、客服和杂务。
没有人抱怨,没有人喊累。最忙的时候,我们连续工作了四十八小时,饿了吃泡面,困了趴在桌上睡一会儿,醒来继续干。老赵的腰不好,坐久了会疼,他就站着写代码。刘哥的眼睛干涩,每隔半小时要滴一次眼药水。小张的老婆怀孕八个月,他每天晚上还要赶回去照顾,第二天早上照样准时出现。
第三十七天,天穹系统的第一个demo版本终于跑通了。
那天晚上,我们围在一台电脑前,看着屏幕上跳出的测试结果。系统在零点三秒内完成了一万笔交易的风险评估,准确率百分之九十七点三,比市面上最好的产品高出两个百分点。
小张第一个叫出来:“成了!”
然后是刘哥的掌声,老赵的笑声,所有人的欢呼。
我站在旁边,看着他们激动地拥抱、击掌、拍桌子,心里忽然涌起一种想哭的冲动。三十七天,不眠不休,终于有了结果。
“别高兴得太早,”我说,“这才刚开始。demo只是证明技术可行,接下来要把它变成真正的产品,还要找到愿意付费的客户。”
小张拍着我的肩膀:“逸哥,你就不能让我们高兴一会儿吗?”
我笑了,难得地笑了。
接下来是更艰苦的产品化阶段。
demo和产品之间的距离,就像从地面到月球。demo只需要证明技术可行,产品需要考虑用户体验、稳定性、安全性、可扩展性、兼容性、文档、培训、售后……每一样都是无底洞。
我们又花了两个月,把demo打磨成了第一个商业版本。期间改了四百多个bug,重写了六个模块,优化了十几处算法。老赵的腰更疼了,刘哥的眼镜度数又深了,小张的孩子出生了,他只请了三天假就回来上班。
第一百零三天,我们迎来了第一个客户。
是一家做跨境电商的公司,规模不大,年交易额大概两个亿。他们的风控系统用的是某大厂的产品,每年费用八十万,但准确率一直不理想,误报率高达百分之三十,每天有大量正常交易被误判为风险。
小张通过朋友介绍联系到了他们的技术总监,约了时间做产品演示。
那天我们提前两个小时到了客户公司,把服务器调试好,demo数据准备好,PPT检查了三遍。小张穿了一件借来的西装,领带系得太紧,一直在扯领口。刘哥紧张得手心出汗,老赵反复检查演示数据,生怕出一点差错。
客户的技术总监来了,是个四十多岁的女人,短发,戴黑框眼镜,看起来很干练。她坐下来,面无表情地说:“开始吧。”
我亲自做演示。
天穹系统连接了客户的测试环境,导入了一万条真实交易数据。系统在零点五秒内完成了全部扫描,标出了其中百分之二点三的高风险交易和百分之一点二的疑似风险交易。
“准确率呢?”技术总监问。
“高风险的准确率百分之九十八点七,疑似风险的准确率百分之九十一点二。误报率控制在百分之五以内。”
技术总监的表情变了。
她又问了几个技术问题,关于算法原理、数据安全、系统稳定性,我都一一回答。她沉默了很久,然后站起来:“我需要向老板汇报,一周内给答复。”
那一周过得很漫长。
第七天,客户终于来了消息——签约,第一年费用六十万,包括系统部署、技术支持和后续升级。
小张接到消息的时候,在办公室里哭了。
不是因为激动,而是因为终于看到了希望。一百零三天,没有收入,只有支出,所有人都靠我那九十二万撑着。到第三个月的时候,账户里只剩下不到三十万,如果这个月还没有客户,下个月就发不出工资了。
那天晚上,我请所有人吃了一顿好的。城郊的一家火锅店,人均一百二,点了两箱啤酒。小张喝多了,抱着我说:“逸哥,我就知道跟着你不会错。”刘哥也喝多了,趴在桌上说梦话,一直在说“系统稳定,数据库没问题”。老赵没喝酒,但眼眶红了,推了推眼镜说:“林逸,谢谢你。”
我举起酒杯:“别谢我,谢你们自己。是你们让这个系统跑起来的,是你们让客户愿意买单的。我一个人的力量有限,但大家一起,什么都能做到。”
酒杯碰撞的声音在火锅店里回荡,像某种胜利的号角。
接下来的三个月,天穹系统陆续签了五个客户,总合同金额突破了三百万。我们搬出了那间六十平的民房,在科技园租了一间正经的办公室,一百二十平,有空调,有茶水间,有落地窗。
小张终于不用再借西装了,我给他买了一套定制的,三千块。刘哥换了一副新眼镜,老赵买了一把人体工学椅。前台的小姑娘是原来公司的,听说我们创业成功了,主动来应聘,我二话没说就录用了。
一切都在变好。
但在那些安静的夜晚,当我一个人坐在办公室里,对着满屏的代码发呆的时候,我偶尔会想起苏晴。
不是想念,是好奇。
好奇她现在怎么样了。
8
半年后,苏晴和王建国的案子开庭了。
我没有去现场,但小张去了,回来以后在群里发了一段语音,声音压得很低:“苏晴瘦了很多,头发剪短了,穿着橘黄色的马甲,手上戴着手铐。王建国更惨,头发全白了,走路都要法警扶着。”
庭审进行了三天,我断断续续从新闻上看到一些消息。苏晴被判处有期徒刑四年,并处罚金一百万元。王建国被判处有期徒刑五年六个月,并处罚金一百五十万元。赵明远作为从犯,被判处有期徒刑两年,缓刑三年。
宣判那天,有记者来采访我,问我对判决结果有什么看法。我说:“法律是公正的。”记者又问:“你觉得自己是正义的一方吗?”我想了想,说:“我只是一个被欠了七十五万的技术人员,不是什么正义的化身。”
记者走了以后,我一个人在办公室里坐了很久。
窗外是科技园的夜景,灯火通明,和当年公司楼下的夜景很像。但这一次,我不再是那个被压榨的技术总监,而是一个有了自己公司的创业者。
天穹系统的发展比预想的要顺利得多。
第一个客户之后,口碑慢慢传开,陆陆续续有更多公司找上门来。到第八个月的时候,我们的客户数量突破了三十家,年交易额覆盖超过五百亿,系统每天处理的风险请求超过两百万次。
我们拿到了第一轮融资。一家知名的风险投资机构投了五千万,占股百分之二十。消息公布的那天,小张在办公室里放了一箱香槟,每个人分了一瓶。刘哥喝多了,抱着服务器机柜说“兄弟,咱们终于熬出头了”。老赵难得地喝了一杯,脸红得像关公,坐在角落里傻笑。
我没有喝。我站在落地窗前,看着远处的城市天际线,点了一根烟。
手机震了一下,是一个陌生号码发来的消息:“林逸,恭喜你。”
我没有回复,也不知道是谁发的。可能是苏晴,可能是王建国,可能是某个曾经看不起我的人。但不管是谁,都不重要了。
剪彩仪式定在十一月十八号,新办公室的门口。
我们租下了科技园一整层楼,六百平,装修花了两个月。进门是一个巨大的LOGO墙,上面写着“天穹科技”四个字,下面是公司的Slogan:“让技术更有尊严。”
仪式定在上午十点,邀请了不少人。客户代表、投资人、媒体记者,还有技术部那些曾经一起熬夜吃泡面的兄弟们。小张负责接待,刘哥负责设备,老赵负责后勤,每个人都忙得脚不沾地。
九点四十五分,我站在洗手间的镜子前,整理领带。
身上穿的是一件深蓝色的西装,定制的,花了一万二。不是三年前买的那件八百块的便宜货,而是一件真正合身、真正体面的好西装。镜子里的自己看起来精神了很多,头发理短了,胡茬刮干净了,眼睛里有了光。
“逸哥,准备好了吗?”小张推门进来,穿着一身笔挺的灰色西装,头发打了发胶,看起来像个正经的商务人士。
“准备好了。”
“记者想采访你,问你几个问题。”
“什么问题?”
“就是那些老问题,为什么要创业,为什么要做天穹系统,为什么要……”
“为什么要曝光苏晴?”我接过他的话。
小张不好意思地笑了:“差不多吧。”
“行,让他们来吧。”
采访安排在剪彩仪式之前,一间小会议室里。来了三家媒体,一个纸媒,一个网站,一个短视频平台。记者都很年轻,看起来刚毕业没多久,拿着录音笔和摄像机,表情认真得像在做什么重大报道。
第一个问题果然是关于苏晴的。
“林总,请问你当初为什么要选择在年会上公开那些证据?是因为报复吗?”
我看着她,一个二十出头的姑娘,眼睛很大,眼神很干净。她大概从来没有经历过职场的不公,也从来没有被人当众羞辱过。
“不是报复,”我说,“是自保。”
“自保?”
“苏晴和王建国在我离开公司之后,盗用了我的商业计划书,准备上线一个和我原创系统高度相似的产品。如果我不采取行动,他们不仅会抢走我的劳动成果,还会让我在行业里永远抬不起头。”
记者飞快地在本子上记着什么。
第二个问题:“有人说你的做法太过极端,导致公司破产、几百人失业,你怎么看?”
“我理解这种说法,但我不同意。”我说,“导致公司破产的不是我,是苏晴和王建国的违法行为。如果他们不植入逻辑炸弹,不窃取客户数据,不骗取保险赔偿,公司不会有事。我只是让真相浮出水面,而不是制造了真相。”
第三个问题:“林总,网上流传一个说法,说你当初只拿了五百块奖金,后来却用这五百块买了整个公司。这是真的吗?”
我笑了。
“五百块买一个公司?那是段子,不是真的。”
记者也笑了:“那真实情况是什么呢?”
我从口袋里掏出烟盒,抽出一根,但没有点。
“那五百块,我买了七包红塔山,剩下的钱请技术部的同事喝了奶茶。那些同事,现在是我公司的核心团队。”
记者们的眼睛亮了。
“所以,那五百块其实是您创业的起点?”
我想了想,把烟放回烟盒。
“可以这么说。那五百块让我明白了一个道理——有些东西比钱重要。尊严、信任、公平,这些东西用钱买不到,但可以用它们换来钱。”
采访结束,剪彩仪式正式开始。
我站在门口,手里拿着一把金色的大剪刀,面前是一条红色的绸带。身后站着小张、刘哥、老赵,还有所有跟着我一起创业的兄弟们。再后面是客户代表、投资人、媒体记者,乌泱泱一片人,都在看着我。
主持人说:“请林总致辞。”
我走上台,看着台下那些熟悉和不熟悉的面孔,忽然有些恍惚。
一年前,我还在城中村的出租屋里吃泡面,被苏晴一个电话吼回公司修系统。一年后,我站在自己公司的剪彩仪式上,身后是六十个人的团队,面前是无限可能的未来。
“谢谢大家。”我说,声音有些哑,“今天站在这里,我想说三句话。”
台下安静了。
“第一句,感谢我的团队。没有你们,天穹系统只是一个想法,不会变成现实。你们在最困难的时候选择相信我,我永远不会忘记。”
小张的眼眶红了,刘哥别过头去,老赵推了推眼镜。
“第二句,感谢那些曾经看不起我的人。是你们让我明白,在这个世界上,没有人会替你争取公平。你想要什么,就要自己去拿。”
有人鼓掌,有人点头。
“第三句,”我停顿了一下,“技术是有尊严的。每一个写代码的人,每一个做技术的人,都应该被尊重,被公平对待。如果有人不尊重你,那就用技术证明给他看。”
掌声雷动。
我拿起剪刀,对准红色的绸带。闪光灯咔嚓咔嚓响成一片,所有人都在记录这一刻。
咔嚓。
绸带断开,掌声更响了。
彩带从空中飘落,香槟瓶塞弹飞,人群欢呼。小张冲过来抱住我,然后是刘哥,然后是老赵,然后是所有人。我们抱在一起,像一群打了胜仗的士兵。
剪彩仪式结束后,有个记者追到电梯口,问我最后一个问题。
“林总,你现在成功了,想对那些正在被压榨的年轻人说什么?”
电梯门开了,我走进去,转过身看着那个记者。
“别跪。”
电梯门关上了。
回到办公室,我坐在自己的工位上,打开电脑,开始写代码。
外面的喧闹还在继续,但我的心很静。代码在屏幕上流淌,像一条清澈的河流,没有任何杂质。这是我最熟悉的世界,也是我最喜欢的世界——在这里,对就是对,错就是错,没有灰色地带,没有潜规则,没有虚伪和欺骗。
手机震了一下,是小张发来的消息:“逸哥,记者发的稿子你看了吗?”
“还没。”
“有一句写得好,‘他笑着说那五百块是买下整个公司的定金,但没人知道那笔定金,是他用三年的沉默和尊严换来的。’”
我看着这条消息,没有回复。
窗外,城市的灯光一盏一盏亮起来。远处的写字楼里,还有无数个像我曾经一样的人,在加班,在被压榨,在被羞辱。他们中的有些人会忍,有些人会走,有些人会反抗。
我不知道他们的结局会是什么。
但我知道,从今天起,至少有一家公司,不会那样对待自己的员工。
我点了一根烟,靠在椅背上,看着窗外的夜色。
烟雾袅袅升起,被天花板上的排风扇抽走。