经理克扣3个月提成嘲讽我不敢辞职,我连夜清空代码,次日对家老总开迈巴赫来接我,他看清车牌后当场吓瘫。
> 整整三个月,我替公司拿下的那个大项目的提成,被王建军扣得干干净净。他说我“能力还不够”,说要“再考察考察”,说“年轻人别太计较眼前得失”。可当我拿着打印好的代码提交记录和项目验收单去找他理论时,他靠在老板椅上,连眼皮都没抬一下:“苏青,你一个外包转正的,能给你机会就不错了,真以为自己不可替代?”他吐了个烟圈,笑着补了一句,“有本事你辞职啊,我看你敢不敢。”我笑了。当天晚上,我清空了服务器上所有我写的核心代码,连同备份一起删了个干净。
01
我叫苏青,今年二十六岁,在一家做企业数字化服务的中型科技公司干了两年零三个月。从外包做起,每天最早到、最晚走,熬了整整一年才转了正。转正那天我请全组喝奶茶,王建军端着我买的喜茶笑着拍我肩膀:“苏青不错,踏实,以后好好干。”
我信了。
转正后我进了王建军的核心项目组,做的是公司最大的一个客户——恒通集团的供应链系统升级。这个项目前后做了八个月,我一个人扛了后台架构、数据库优化、接口开发三大块,前后写了将近六万行核心代码。项目上线那天,客户副总亲自打了电话来表扬,说系统比预期提前两周交付,稳定性和响应速度远超他们之前用的那套老系统。
公司因为这个项目拿到了恒通后续三年的运维合同,光首期款项就进账四百多万。
项目庆功宴上,王建军端着酒杯站起来,对着全公司的人说:“这个项目能成,靠的是团队协作,是我们整个技术中心拧成一股绳的战斗力。”他全程没提我的名字,哪怕销售总监在旁边笑着说“苏青技术是真的硬”,他也只是笑笑带过。
我没吭声。我想着提成总归跑不了,我们公司的提成制度写得清清楚楚:项目净利润的百分之十作为项目奖金,核心开发人员占比不低于百分之四十。
按这个算法,我起码能拿到八万左右。
可第一个月发薪,提成没到。
我去问王建军,他说:“财务那边流程慢,下个月一起。”
第二个月,还是没到。
我又去找他,他皱着眉头翻手机:“苏青啊,客户那边尾款还没结清呢,等结清了第一时间给你,我还能坑你不成?”
第三个月,恒通的尾款早就到账了,可我的工资条上,提成那栏还是零。
我憋不住了,直接打印了项目验收单、代码提交记录、客户感谢信,还有公司的提成制度文件,整整齐齐码好,敲了王建军办公室的门。
他正靠在椅子上刷短视频,看我进来,随手把手机扣在桌上。
“王经理,我想问一下恒通项目的提成……”
话没说完他就打断了我,手指点了点桌面:“苏青,你一个外包转正的,能给你机会就不错了,真以为自己不可替代?”他笑了一声,语气里带着那种明显的,居高临下的怜悯,“实话跟你说吧,这个项目的提成我报上去了,但上面批下来的额度不高,分到你头上也就几千块钱。我想了想,与其给你那点钱让你心里不舒服,不如先放一放,等下一个项目一起给你,到时候凑个整,不体面些?”
我心里那股火蹭地就上来了,但我忍住了,压着嗓子问:“那公司制度上写的……”
“制度是死的,人是活的。”他往后一仰,椅子吱呀一声,“年轻人别太计较眼前得失,眼光放长远点。你看看人家小周,比你来得晚,但人家从来不跟我谈钱的事,埋头干活多好。”
小周是他外甥,刚大专毕业,进公司才四个月,写个接口都能把数据库搞崩三次。
我攥着手里的文件,纸边都被我捏出了印子。
王建军看我站着不动,挥了挥手:“行了行了,出去干活吧。对了,恒通二期那个扩展模块的活儿,你抓紧时间搞,下周一要初版。”
我没动。
他抬眼看我,嘴角挂着笑:“怎么?不服气?有本事你辞职啊,我看你敢不敢。”
那个笑容我到现在都记得清清楚楚,是那种笃定了我不敢走的,高高在上的,带着侮辱性质的挑衅。
我看了他三秒钟,然后把文件一张一张收好,拉开门走了出去。
回到工位上,我打开代码仓库,看着那六万多行我亲手敲出来的代码,一个一个模块地扫过去。数据库的连接池配置、缓存策略、负载均衡逻辑、核心业务的全部事务处理脚本——这些东西,整个公司除了我,没人能完全看懂,更没人敢随便动。
我点开了删除确认对话框。
光标在“确认”按钮上停了很久。
然后我点了下去。
一台、两台、三台服务器,本地备份、云端备份、测试环境镜像,我以运维权限的名义挨个走了一遍“清理冗余数据”的流程。凌晨三点四十七分,最后一个备份文件在回收站里被彻底清空。
我关掉电脑,收拾好桌上那个用了两年的马克杯,还有抽屉里一盒没拆封的薄荷糖,装在双肩包里,安安静静地走出了公司大楼。
楼下便利店亮着暖黄的灯,我站在门口买了瓶水,拍了一张工位的照片,发了条仅自己可见的朋友圈:
“两年三个月。够了。”
然后我打了辆车回家,洗了个澡,躺下之前改了简历,把状态设为“在职考虑机会”。
发送出去不到十分钟,手机震了一下。
猎头发来的消息:“苏工,听说恒通那个项目是你主刀的?有空聊聊吗?”
我没回,锁屏,睡觉。
那一晚我睡得特别沉,梦里没有键盘声,没有群消息的提示音,没有王建军那张油腻的脸。
第二天早上九点,我准时出现在公司门口。
王建军还没来。组里其他人正对着屏幕上的报错提示手忙脚乱——系统崩了,整个恒通的供应链接口全部超时,页面刷出来全是白屏。
小周扭头看见我,跟见了救星一样:“青哥!你快看看怎么回事!今天早上一开机就这样了,是不是服务器被黑了?”
我走到自己工位前,把双肩包放下,拉链都没拉开。
“我没权限了,”我说,“昨天夜里被清了。”
小周愣住:“什么权限?”
我看了他一眼,声音不大不小,刚好能让整个办公区都听见:“系统权限。我的账号登不进去了,源码仓库也没了。你去问问王经理吧,他应该知道怎么回事。”
办公室里安静了两秒,然后炸了锅。
前台小姑娘探头往技术区看了一眼,销售部的几个人也围了过来——恒通那边早上已经开始催了,说下不了单,问怎么回事。
我靠在椅背上,打开手机刷了会儿新闻。
九点四十分,王建军的黑色帕萨特停在了楼下。
他推门进来的时候还夹着公文包,脸上带着笑,嘴里跟保洁阿姨打招呼:“张姨早啊。”
然后他看见技术区那一圈人围着我的工位,看见我安安稳稳地坐在椅子上,看见屏幕上满屏的红色报错,看见销售总监举着手机冲他喊“老王恒通那边炸了”。
他脸上的笑僵住了。
“怎么回事?”他快步走过来,公文包都忘了放下。
我看着他的眼睛,说了一句:“王经理,我昨晚不小心把手头所有项目的源码都清理了,包括本地和云端的全部备份。很抱歉,可能恢复不了了。”
他的脸一瞬间变得煞白。
“你他妈——”
他那个“疯”字还没出口,我已经站了起来,从包里掏出早就打印好的辞职信,递到他面前。
“这是辞职申请,”我说,“按照合同,我提前三十天书面通知。不过既然你昨天说了,我确实也不敢不辞。”
我把辞职信塞进他手里,拿起双肩包,从他身边走过。
经过他肩膀的时候我停了一步,压低声音说:“对了,数据库的binlog我走之前也清了。你不用找人恢复了,真的恢复不了。”
我没回头看他的表情。
但身后传来的那声几乎失控的咆哮,是我进这家公司两年多以来,听过最动听的声音。
02
走出公司大门的时候,清晨的阳光正好照在脸上,有点刺眼,但我没眯眼。手插在兜里,背着我那个旧双肩包,沿着人行道慢慢走,心里特别平静。
手机在口袋里不停地震,消息提示音此起彼伏,不用看就知道是工作群里在刷屏。我掏出来瞄了一眼,技术群已经炸了,小周连着发了十几条“青哥你接电话啊”,测试组的小姑娘在问“系统什么时候能好”,销售总监@了全体成员说“恒通那边已经在投诉了”,而王建军,从头到尾只发了一条消息。
就一条:“苏青,你回来我们谈谈。”
我没回,把群消息设成了免打扰,继续往前走。
走到地铁口的时候,昨天半夜那个猎头又发了消息过来,这次直接甩了一个电话号码和公司名字:“苏工,这是我们技术总监的电话,他听说了恒通的项目案例很感兴趣,方便的话你今天给他去个电话?薪资翻倍起步,期权可谈。”
我盯着“薪资翻倍”那四个字看了几秒,嘴角动了动,没回。
说实话,我心里清楚恒通那个项目我做的底子有多硬,圈子里懂行的人只要稍微打听一下就知道是谁主刀的。当初公司为了省钱,整个项目组真正写核心代码的就我和另一个前端,后来那个前端跳槽走了,后半程全是我的事。从架构设计到上线交付,我一手包圆了。
这也是我昨晚敢动手的原因之一。
我不怕没下家。
我怕的是继续忍下去,把自己忍成一个窝囊废。
上午十点多我回了家,把包往沙发上一扔,去厨房给自己煮了碗面。手机又响了,这次是技术中心的大群——我们公司总共就没几个群,这是唯一一个全部门都在的大群,平时除了HR发通知几乎没人说话。
今天群里热闹得像集市。
有人发了一张截图,是王建军在管理群里的语音转文字,大概意思是“技术故障正在紧急处理,预计两小时内恢复”,让销售那边先安抚客户。
底下小周回了一条:“王经理,源码仓库的权限我查了,所有分支都被强制删除了,而且做了覆盖,常规恢复手段没用。数据库的日志也……”后面没发完,估计是被王建军单独叫去谈话了。
再往下翻,设计部的琳琳发了个“哎”的表情,然后秒撤回。
但有人截图截得快,那张图已经在群里传开了。琳琳发的内容是:“某些人平时把能干活的往死里逼,现在好了吧。”
我看完把手机扣在桌上,把面汤喝干净,碗筷洗了。
刚擦完手,电话就进来了。
来电显示是个陌生号码,属地显示是本市的。我犹豫了半秒,接了。
“请问是苏青苏先生吗?”对面是个男声,嗓音低沉,语速不快,咬字很清楚,“我是卓远科技的技术负责人,我叫陆远舟。可能有点冒昧,我从一个共同认识的朋友那里拿到了你的联系方式。”
卓远科技。
我愣了一下。
那家公司我知道,算是我们这个细分领域里头部的那几家之一,业务跟我们公司有重叠,但体量不是一个级别。他们主攻的是大型集团的数字化中台,客户名单拉出来一水儿的五百强。我之前做技术调研的时候没少看他们的技术博客和开源项目,代码质量确实是行业顶尖的水准。
但我跟卓远的人没有任何交集。
“陆总你好,”我尽量让声音听起来不那么意外,“请问你是怎么知道我的?”
对面笑了一下:“恒通那边的技术副总跟我吃过几次饭,昨天我们在一个局上聊起来,他说最近用了一套新系统,稳定性和响应速度都超出预期,问了一圈才知道是一个叫苏青的年轻工程师主刀的。我让他发了份你做的架构文档给我看,今天早上看了两小时。”
他顿了顿:“写得确实漂亮。”
我握着手机没说话,等他下文。
“是这样,”陆远舟的语气始终很平稳,听不出一丝急躁,“我们这边正好在搭建一个新的中台项目,缺一个能扛架构的核心开发。我看过你的代码风格和设计思路,挺契合我们的方向。如果你有兴趣,随时可以来我公司看看,我们当面聊聊。”
他说完停顿了一下,又补了一句:“薪资按你现在的水准翻两倍,可以写在合同里。另外期权和项目分红另外谈。”
我脑子里飞快地转了一下。
翻两倍。我在那家公司的月薪是一万四,扣完五险一金到手一万出头,被克扣的那三个月提成相当于白干了将近半年的活。翻两倍的话,就是四万二一个月。
说不心动是假的。
但我没急着答应,只说:“陆总,谢谢你的认可,我确实在考虑换工作,但今天刚提了辞职,有些收尾的事情要处理。过两天我方便的话去你们公司拜访一下可以吗?”
“当然可以,”他答得很爽快,“你定时间,我让人把地址发你。对了,”他忽然多说了一句,“我听说你那边源码出了点状况,你个人没事吧?”
我愣了一下,然后笑了:“没事,挺好的。”
“那就好,”他说,“那你先忙,我等你好消息。”
挂了电话,我坐在沙发上发了会儿呆。
屋外头传来楼上邻居炒菜的香味,隔着窗户能听见小区里小孩疯跑的笑声。一切都很正常,正常得好像今天早上什么都没发生过。
但我知道,有些东西已经变了。
下午两点多的时候,我的微信弹出一条好友申请,备注写着:“我是王建军的领导,方便通过一下吗?”
我盯着那个头像看了半天——是公司大群里见过的一个头像,技术中心的总监级别,平时管着三个项目经理,王建军是他手底下的人。入职两年多,我跟这位总监没当面说过超过五句话,仅限于年终述职的时候他坐在对面低头看手机,偶尔抬头点一下头表示“听到了”。
我没通过。
三分钟后他又发了一遍申请,备注变成了:“苏青,关于今早的事我们想跟你沟通一下,公司层面有诚意,请通过。”
我锁了屏,把手机扔到了沙发另一头。
诚意。
我在这家公司干了两年多,第一次听说他们对“诚意”这俩字有这么强烈的表达欲。
傍晚的时候我出门买菜,顺便在楼下便利店买了两罐啤酒。结账的时候手机又亮了,是前同事周晓——做前端的那个,比我早走两个月,现在在一家做电商的创业公司当技术组长。
她发来一条语音,我点开听:“苏青你咋回事啊?我下午听原来公司的人说你把代码库删了?真的假的?他们说得跟天塌了一样。”
我回了条文字:“真的。”
她那边秒回:“卧槽。那你没事吧?王建军有没有找你麻烦?”
“他能怎么找我麻烦,”我打字,“代码是我写的,我删自己的东西不犯法吧?”
周晓发了一连串大笑的表情:“关键是现在恒通那边在催,整个系统动不了,销售每天赔笑脸都快赔出工伤了。我听说王建军下午被叫去大会议室关着门批了快两个小时,出来的时候脸都是绿的。”
我拉开啤酒拉环,灌了一口,冰凉的液体顺着喉咙滑下去,带着微微的苦。
“活该。”我说。
周晓又发了条语音,语气突然正经起来:“不过苏青,说真的,你接下来怎么打算?要帮忙推荐吗?我这边虽然在创业公司,但老板挺认技术的,你要是想来,我帮你递简历。”
“谢了,”我回,“先不急,有家公司在聊。”
“哪家?”
我想了想,没提名字,只说:“一家还不错的。”
周晓发了句“行,你有数就行”就没了下文。
晚上十点多,我洗完澡出来,看见手机上多了十一条未读消息。除了猎头和群里那个总监的好友申请之外,还有三条来自王建军的私聊。
第一条是下午四点发的:“苏青,你回来一趟,源码的事我们可以商量。”
第二条是下午六点发的:“技术部的人都等着你解决问题,你不能这么不负责任。”
第三条是晚上九点半发的,语气明显不一样了:“苏青,我知道之前提成的事我处理得不对,那个钱我可以补给你,双倍也行。你回来把代码恢复一下,咱们好聚好散。”
我看着那三条消息来回翻了两遍,把手机放在床头柜上,关了灯。
黑暗中我盯着天花板,忽然想起两年前我第一天去公司报到的时候,王建军带我在工位之间转了一圈,指着角落里那个靠着打印机的位置说:“你先坐这儿吧,外包的工位紧张,等转正了再给你换。”
那个位置光线特别差,头顶的灯管有一根是坏的,忽明忽暗闪了大半年,我跟他提过两次,他都说“报修了报修了”,但一直到我把工位搬走那天,那根灯管还是坏的。
我翻了身,把被子往上拉了拉。
明天的事明天再说。
至少今晚,我不需要再对着那根坏掉的灯管写代码了。
03
第二天我一觉睡到了九点多,醒了之后也没急着起,靠在床头刷了会儿手机。
技术群里的消息比昨天少多了,偶尔蹦出来一条,基本都是销售那边在抱怨客户又打电话来催了。小周发了一条:“数据库运维那边说尝试恢复日志,但被覆盖了三次以上,基本没戏。”底下没人回。
王建军昨晚给我发的三条消息还躺在对话框里,我没回,也没删。
我起来煮了杯咖啡,坐在阳台的小凳子上晒太阳,脑子漫无目的地转着。说实在的,昨天半夜清空代码那会儿我确实带着一股火,但今天冷静下来想,那六万多行代码毕竟是我一个字一个字敲出来的,说删就删了,心疼也是真的。
但比起心疼代码,我更清楚一件事——那些代码留在那儿,王建军只会觉得理所应当。
他不会感激我,不会因为我把项目扛下来了就对我高看一眼,更不会主动把那八万块钱提成补给我。在他眼里,我就是那个从外包爬上来的、好说话、能压榨、不吭声的便宜劳动力。
我要是不掀桌子,他能一直压到我把最后一滴血榨干为止。
手机震了一下,打断了我的思绪。
卓远科技的陆远舟又发了消息来,这次是直接问:“苏工,今天下午有空吗?方便的话过来喝杯茶,聊一聊。不占用你太多时间。”
我想了想,回了句:“下午两点可以。”
他秒回了一个地址和联系人电话,又加了一句:“到了跟我说,我让助理下来接你。”
我收拾了一下,换了件干净的衬衫,把头发捋了捋,对着镜子看了看自己。镜子里的那张脸比两年前多了点疲态,眼底下有一圈淡淡的青,但不明显。我拍了拍脸,出门打车去卓远。
卓远的办公地点在市中心一个园区里,整栋楼四层都是他们的,门口挂着低调的公司招牌,灰色底白字,干净利落。
前台小姑娘确认了我的预约之后打了电话,不到两分钟就有一个穿白衬衫的年轻人下楼来接我,自我介绍说是技术部的同事,姓林。
他带我上了三楼,穿过一个宽敞的开放办公区,走到尽头一间带玻璃隔断的小会议室。推开门,里面坐着一个看起来四十出头的男人,身形偏瘦,戴着一副细框眼镜,正低头看笔记本电脑上的什么东西。
听见门响他抬起头,站起来朝我伸手:“苏工是吧?我是陆远舟。”
我跟握了握手,掌心干燥有力。
“坐,别客气。”他示意我坐到对面,自己先坐了回去,顺手把电脑屏幕转过来给我看,“你做的那个恒通项目的架构图,我昨天让朋友发了一份脱敏版的过来,有几个地方想跟你请教一下。”
他说的“请教”是真的在请教。
接下来的四十分钟,我们俩从头到尾没聊一句薪资待遇、职位级别、入职时间这些事。他一个模块一个模块地问我当初的设计思路,为什么选这个方案,瓶颈在哪,怎么做的容灾和降级,遇到并发峰值的时候怎么扛下来的。
我越说越顺,整个人慢慢放松下来,那种感觉有点像回到了大学时候跟导师讨论课题的状态,纯粹是因为内容本身让人兴奋。
说到一半他忽然笑了一下:“你知道我为什么要问这么细吗?”
我摇头。
“因为你写的那个缓存策略那块,跟我三年前在阿里做的一个项目用的思路几乎一模一样。”他摘下眼镜擦了擦,“但你这个比我的精简,少了几层冗余判断,效率高了大概百分之十五。我昨天看到那一节的时候就在想,这人肯定不是靠模板堆出来的,是真自己死磕过的。”
我端着杯子喝了口水,没接话。
他又把眼镜戴上,看着我:“苏工,我也不跟你绕弯子。我现在这个中台项目,核心团队缺一个技术负责人,要能扛事、能写代码、能带人。你过来之后直接对我汇报,不做中间层。薪资我刚才微信跟你提过,月薪四万二,十六薪,期权另外谈。试用期全额,不打折。”
他说这些话的时候语气很平,但每一条都清楚得像写在合同上一样。
我放下杯子,认真看了他两秒:“陆总,我想问个问题。”
“你说。”
“你知道我今天早上刚从那家公司辞职吧?也大概听说了我做了什么。”
他笑了:“听说了。你把代码删了。”
我点头,等着他的反应。
他往后靠了靠,双手交叉放在桌上:“苏工,我做了十几年技术,见过太多人被欺负了连屁都不敢放一个。你做了大部分人想做但不敢做的事,就凭这点,我觉得你至少是个有血性的人。技术可以学,血性学不来。”
他说完顿了顿:“而且说实话,你那家公司我了解过,管理混乱,压榨员工是出了名的。你能忍两年多已经是奇迹了。”
我心里那根一直绷着的弦,忽然就松了一下。
接下来又聊了大概二十分钟,基本敲定了入职意向。我答应回去考虑两天给最终答复,他点头说没问题,让林姓同事送我下楼。
走到园区门口的时候,林同事忽然叫住我,压低了声音说:“苏哥,我跟你说个事儿,你别往外传。”
我回头看他。
“陆总昨天听说你这事儿之后,打了俩电话。第一个是打给猎头问你的联系方式,第二个是打给你们公司那个——叫什么来着——王建军?”
我心里一动:“他说什么了?”
林同事左右看了一下,声音压得更低了:“具体内容我不知道,但我路过办公室的时候听见陆总说了一句,‘你留不住的人我来留,你那摊子烂事我管不着,但你别碰我的人。’然后就把电话挂了。”
我站在园区门口,一阵风吹过来,带着旁边花坛里不知名的花香。
“谢了。”我说。
林同事摆手笑了笑,转身回去了。
我站在路边叫车,手机忽然又震了。低头一看,是那个技术中心总监的好友申请,备注又换了,这次只有一句话:
“苏青,公司已经决定免去王建军项目经理职务,你回来我们重新谈你的待遇。”
我盯着屏幕看了很久,直到叫的车停在面前,司机按了喇叭提醒我上车。
我拉开车门坐进去,报了家里的地址,然后把那条好友申请划掉了。
没有通过。
车上了高架,窗外的楼群一排排往后掠过去,天很蓝,云很低,阳光把整个城市的轮廓都照得清清楚楚。
我靠着座椅闭上眼,脑子里忽然冒出一个念头。
有些门关上了,但另一些门正在打开。
04
第二天上午,我正琢磨着要不要给陆远舟发个消息确认入职时间,手机先响了。
是我妈。
“青青啊,”她电话里声音有点急,“你爸昨晚看电视新闻,说你们那行最近不好干,好多公司裁员,你那边没事吧?”
我笑了一声:“没事,妈,我挺好的。”
“你上次不是说那个提成一直没发吗?发了没有?”
“……快了。”
我妈在电话那头叹了口气:“你这孩子,什么事都闷在心里。实在不行就换一家干,别委屈自己。”
“正在换呢,”我说,“有新公司在谈了,待遇还不错。”
我妈立刻高兴起来:“那就好那就好,你爸老说你熬夜写代码对身体不好,换一家轻松点的也行……”
挂了电话,我盯着天花板看了会儿,心里忽然有点泛酸。他们不知道我这几天干了什么事,只惦记着我有没有按时吃饭、钱够不够花、工作累不累。我没跟他们提王建军,也没提那八万块钱,这些糟心事我自己扛着就行了。
放下手机没多久,一条新消息弹进来。
居然是小周。
他平时跟我私聊不多,工作上的事基本都在群里沟通,今天破天荒发了一段文字过来:“青哥,你现在有空吗?有件事我想跟你说一下。”
我回:“说。”
他那边一直在输入,输了好一会儿才发过来:“今天早上王经理被叫去大会议室了,出来的时候脸色特别难看。后来我听说上面决定让他停职反省,恒通那边的事暂时让另一个经理接手。我偷听到总监在打电话,好像是在联系你,但你一直没通过?”
我没回复,等着他说下去。
“还有就是……”他又输入了半天,“青哥,我不是替他说话,但昨天你在公司走了之后,他把我们全组叫过去骂了一顿,说我们配合不力,说平时没人盯着代码质量。小刘都被骂哭了。”
小刘是测试组的一个姑娘,平时话不多,干活挺认真的。
“然后呢?”我问。
“然后他自己在那儿坐了半个小时,我路过他办公室的时候看见他在打电话,好像在找人恢复数据,对面好像说要几十万,他当时脸色就白得跟纸一样。”
几十万。
我嘴角动了一下。当初他扣我那八万块钱提成的时候,大概没想过有一天会需要掏几十万来擦屁股。
我正想着,小周又发了一条:“青哥,我不是来劝你回来的,我就是想跟你说一声,那天你走之后我心里挺不是滋味的。你平时带我写代码的时候比王经理教我的东西多多了,我以后要是也能像你一样硬气一回就好了。”
我看了这条消息好几遍,最后回了一句:“好好干,别学他。”
小周回了个“嗯”。
下午的时候,我收到了一个快递,信封上没写寄件人,但地址是原来公司的。拆开一看,里面是一张补发工资的银行转账单,上面写着补发恒通项目提成八万七千四百元整,备注栏写着“经核算补发”。
转账日期是今天。
我拿着那张单子翻来覆去看了两遍,忽然觉得有点好笑。
这钱早该给我的。
如果是三个月前,我收到这笔钱可能会高兴得请全组喝奶茶。可现在它躺在这张纸上,轻飘飘的,仿佛跟我没多大关系了。
我把单子拍了张照片,发给了周晓。
她秒回:“卧槽!他们终于把钱吐出来了?”
“嗯。”
“那你收了吗?”
“到账了。”
“那你打算怎么办?这事儿就这么算了?”
我把手机放下,想了一会儿,又拿起来回她:“钱是我的,我该拿。但人我是不打算回去了。”
周晓发了个竖大拇指的表情:“干得漂亮。对了,你之前说的那家在聊的公司怎么样?定了没?”
“基本定了,”我说,“这两天给答复。”
“哪家啊?神神秘秘的。”
我想了想,还是没瞒她:“卓远。”
对面沉默了大概五秒钟,然后连发了三条消息:“卓远科技???做中台那个卓远???苏青你可以啊!!!那家公司去年校招开的价就比咱们这高一大截,你居然直接进去了???”
“还没正式进,还在谈。”
“谈什么谈!直接签!赶紧签!你犹豫一秒都是对钱的不尊重!”
我看着她那连串感叹号,笑出了声。
傍晚的时候,我又收到了那个技术中心总监的好友申请。这次备注里写了一段很长的话:“苏青,王建军的事公司已经处理了,提成也补发了。你的能力公司上下都认可,如果你愿意回来,技术专家的职位给你,直接向副总汇报,待遇可以翻倍。希望你再考虑一下。”
我盯着那段话看了好久。
翻倍。
直接向副总汇报。
这些条件要是放一个月前,我大概做梦都会笑醒。
可是现在,我脑子里浮现的是那个坏了大半年的灯管,是王建军靠在椅子上说的那句“有本事你辞职啊”,是每次发薪日我看着提成那栏为零的工资条在出租屋里发呆的夜晚。
有些东西不是钱能补回来的。
我把那条申请又划掉了,这次连带把对方拉进了黑名单。
晚上我窝在沙发里,给陆远舟发了条消息:“陆总,我考虑好了。下周一可以入职。”
他那边回得很快,几乎是我发出去的瞬间就显示了“对方正在输入”:“欢迎。周一上午九点,到了直接找我,我把合同准备好。另外,苏工,有件事提前跟你说一下——下周我们有个新项目启动会,甲方那边的人我想带你一起参加。”
“什么项目?”我问。
他没直接回答,只发了一句:“到时候你就知道了。不过可以先透露一点,甲方那边的技术负责人跟我提过一个要求,他说希望主架构师能是个‘做事利索、不拖泥带水’的人。我觉得你挺符合的。”
我盯着那句话,心里忽然涌上来一股说不上来的滋味。
被人认可的感觉真好,尤其是在被压着打了两年多之后。
我放下手机,走到窗边往外看了一眼。楼下的路灯已经亮了,橘黄色的光洒在人行道上,有遛狗的大爷慢悠悠地走过去,远处马路上车流不断,整个城市都在照常运转。
明天开始就是新的一周了。
新的公司、新的项目、新的同事,一切从头来过。
我关上窗,拉好窗帘,把手机调成静音,准备早点睡。
临睡前我瞥了一眼旧公司的技术群,发现小周在最后一条消息里@了所有人:“数据库恢复方案已经提交,预计需要两周时间完成迁移和数据重建,期间系统功能会逐步恢复。以上。”
底下一条回复都没有。
我退出群聊,把那个群的图标从桌面上划掉,彻底删了。
翻了翻身,闭上眼。
黑暗里我好像又看见了两年前那个坐在角落里的自己,对着忽明忽暗的灯管写代码,以为只要够努力就一定会有回报。
现在的我想对他说一声:嘿,别怕。
你会走出去的。
05
周一早上八点半,我准时到了卓远科技楼下。
天有点阴,云层压得低低的,空气里带着点要下雨前的潮气。我在园区门口站了一会儿,给陆远舟发了个消息说到楼下了,他让我直接上四楼。
进了大门,前台的姑娘一眼认出了我,笑着递过来一张临时工牌:“苏工,陆总交代了,先领工牌,合同在他办公室。”
我接过工牌别在衬衫领口上,坐电梯上了四楼。
卓远的办公区比我想象中还要大,整个四楼是一整片开放空间,工位之间隔得很开,每个桌上都配了大屏显示器,走道里安静得只有键盘声和偶尔的小声讨论。
陆远舟办公室在走廊尽头,门开着,他正跟一个背对着门口的人说话。我敲了敲门框,他抬头冲我招手:“进来进来,正说到你呢。”
我走进去,那个背对着我的人也转过头来,是个五十出头的男人,头发微白,穿一件深灰色夹克,面容和善,但眼神挺锐利。
陆远舟介绍道:“这位是恒通集团的赵副总,赵孟元。你应该不陌生。”
我愣了一下。
恒通集团。就是我们公司做供应链系统升级的那个甲方。
赵孟元站起来朝我伸出手,笑着说:“小苏是吧?久仰大名。你那套系统我们用了三个多月,稳定性和响应速度确实没话说。我们信息部的同事对你评价很高。”
我握了握手,脑子里飞速转了转:“赵总你好,恒通那边……系统最近出问题了吧?”
赵孟元笑了笑,摆了摆手:“问题是有,但那是你们原来公司那边的运维责任,跟我们没直接关系。我今天来是另一件事。”
他看了一眼陆远舟,陆远舟点了点头,接过话头:“苏工,我上周五跟你提过的那个新项目,甲方就是恒通。”
赵孟元接话道:“我们集团现在做数字化转型,需要一个统一的中台架构,把旗下五个子公司的业务系统全部打通。这个项目去年就开始规划了,但一直没找到合适的技术团队。上周你们原来公司的系统崩了之后,我们信息部临时做了个应急方案,虽然恢复了一部分功能,但那套旧架构的瓶颈很明显,后续扩展性太差。”
他顿了顿,看着我的眼睛:“所以我们决定另起炉灶,重新做一套。我和远舟认识很多年了,他跟我推荐了你,说你一个人能扛整条线。”
我站在那儿,手心里微微出了点汗。
恒通集团的中台项目。五个子公司的业务打通。这体量比我之前做的那个供应链系统大了不止一个量级。
“赵总,”我说,“这个项目的规模我大概能想象,如果要做全量的中台架构,光需求梳理和建模就得两三个月起步,整个交付周期至少一年以上。”
赵孟元点头:“时间上我们给得起,我们更看重的是质量和可维护性。之前那套系统你也知道,我们当初提了三十多条定制需求,你们原来公司那边拖了半年才勉强做出来,最后上线的版本还砍了三分之一的功能。这次我们想换个思路,找一个真正能打硬仗的团队。”
他转向陆远舟:“远舟说你是他从别家‘挖’过来的,具体情况我不多问,但有一点我可以保证——我们恒通既然选了卓远,就会全力配合,不会像以前那样层层设卡、反复变更需求。”
陆远舟站起来,从桌上拿起一份文件夹递给我:“这是项目初步的架构设计框架,我周末简单搭了个雏形,你拿回去看看,有什么想法随时跟我说。合同今天先签,试用期三个月,薪资按我之前说的走,期权在合同附页里有明细。”
我接过文件夹,翻开第一页,扫了一眼目录。
中台架构设计、业务域划分、数据模型、接口规范、容灾方案、迭代计划……整整三十多页,每一页都标注了详细的技术栈和参考案例。
陆远舟花了一个周末做出来的。
我合上文件夹,看着陆远舟:“陆总,我这几天没闲着,脑子里也过了一遍这个规模的项目大概怎么搭架子,回头我整理一份思路跟你对一下。”
他笑着点头:“不急,你先入职适应两天。”
赵孟元站起来跟我握了握手:“小苏,那咱们后面合作愉快。有什么需要恒通配合的,直接找我。”
送走了赵孟元,我在陆远舟办公室签了合同,一式两份,每页都仔细看了一遍。月薪四万二,十六薪,期权行权条件写得很清楚,项目分红按净利润的三个点计提。
签完最后一页,我把笔帽盖上,抬头看见陆远舟正端着杯子看我。
“怎么了陆总?”我问。
他放下杯子,靠在椅背上:“没什么,就是想起件事。你们原来公司那个王建军,昨天托人给我带了句话。”
我心里动了一下:“什么话?”
“他说想让我劝你回去,说公司那边可以给你开更高的条件,还说之前的事是误会,希望能当面跟你道个歉。”陆远舟说这些的时候表情淡淡的,像是在转述一件跟他毫无关系的事。
“你怎么回的?”
“我说人已经在我这儿签了,”他端起杯子喝了口水,“他又说了一大堆,什么你删的代码对公司造成了多大的损失,什么他们考虑走法律途径云云。”
我皱了下眉:“走法律途径?”
陆远舟笑了:“他吓唬你呢。我问过法务了,代码是你个人独立完成的,公司没有明确的知识产权协议证明那些代码属于职务作品的全部权利,而且你删的是自己账号下的开发分支,又不是破坏生产环境。真要打官司,他能拿出多少证据?更何况,他先克扣你提成违约在先,真撕破脸谁怕谁?”
他说得云淡风轻,但我听得出来,这些他应该是提前帮我查过的。
我把合同收好,站起来:“陆总,谢了。”
“别谢我,好好干活就行。”他摆了摆手,“对了,工位在林工旁边,他带你过去。今天先熟悉环境,明天开始正式干活。”
我点了点头,转身往外走。
走到门口的时候陆远舟在后面叫了我一声:“苏工。”
我回头。
他看着我说:“有些人不值得你回头。往前看就行了。”
我没说话,朝他点了点头,拉开门走了出去。
林工带我去了工位,挨着一扇大窗户,视野特别好,能看见楼下的花园和远处的高架桥。显示器是新的,键盘是机械的,桌上还放着一盆小多肉,上面贴了张便签:“欢迎新同事。”
我坐下,把包里的东西一样一样摆好。那个用了两年的旧马克杯放在右手边,薄荷糖搁在抽屉里,一张之前恒通项目验收时拍的团队合影,我犹豫了一下,还是塞进了最底层。
打开电脑,输入新分配的账号和密码,桌面干干净净,只有一个新建文件夹,命名是“恒通中台_苏青”。
我点开它,新建了一个文档,光标闪烁在第一行。
窗外响了几声闷雷,雨终于落下来了,豆大的雨点砸在玻璃窗上,噼噼啪啪地响。我转头看了一眼窗外灰蒙蒙的天,又转回来看着屏幕上的空白文档,手指搭在键盘上。
新的项目。
新的开始。
我敲下了第一行字。
而与此同时,远在几公里外那间我曾经坐了两年多的办公室里,王建军正对着桌上那个忽明忽暗的灯管发呆——今天上午他被告知,公司决定免除他项目经理职务,调去行政部做后勤支持,理由是“技术部门管理失职”。
他桌上的电话响了半天,他都没接。
窗口外面的雨越下越大,雨水顺着玻璃往下淌,模糊了整座城市的轮廓。
有些事情结束了。
有些事情刚刚开始。
06
入职卓远之后的头三天,我基本泡在会议室和工位之间。
陆远舟给我的那份架构框架确实搭得不错,看得出是花了心思的,但有些细节跟我自己的思路对不上——他偏向于微服务拆分,我倾向于先做领域建模再决定边界划分。这东西没有绝对的对错,但项目落地之前得统一口径,不然后面迭代的时候整个团队容易互相拉扯。
第三天下午,我把自己的方案整理成了三十二页的文档,约了陆远舟和林工一起过了一遍。
会议室里,我对着投影屏一页一页讲,从业务域的划分逻辑到数据同步的策略选择,再到容灾方案的优先级排序。林工偶尔插两句话问细节,陆远舟全程没打断,只在我讲完最后一页的时候摘下眼镜揉了揉鼻梁。
“你这个方案,”他把眼镜重新戴上,“比我那个细多了。有几块我没想到的,你补上了。”
林工在旁边点头:“尤其是数据迁移那块的灰度策略,我之前一直在想恒通那边旧系统的存量数据怎么切过来,你这个逐步分流加双写的方案比全量迁移安全多了。”
我喝了口水:“但有个问题,这套方案需要恒通那边配合做两轮全量数据校验,光校验时间就得两周左右。得跟赵总那边确认他们能不能接受这个时间窗口。”
陆远舟一摆手:“我跟他打招呼,他那边的问题我去解决。你只管把方案落地。”
我点头,合上电脑,心里松了口气。
方案过了,接下来就是拉团队、分模块、排期、开干了。
当天晚上我加了会儿班,把任务拆解表做了个初版,分了六个子模块,每个模块标注了预估工时和依赖关系。林工走之前过来看了一眼,说了句“苏哥你这效率也太快了”,然后竖了个大拇指就走了。
我收拾东西准备下班的时候,手机响了。
屏幕上跳出来一个名字,我盯着看了两秒才反应过来是谁。
王建军。
他居然还有脸给我打电话。
我犹豫了一下,按了接听,但没先开口。
对面沉默了几秒,然后传来王建军的声音,比之前低了很多,透着一种明显的疲惫:“苏青……是我。”
“我知道。”
他那边又沉默了一会儿,像在组织措辞:“苏青,我……给你打这个电话没别的意思,就是想跟你说一声,提成的事是我不对,我当初不该卡你。”
我没说话。
他继续说:“公司那边让我停职了,我今天上午把办公室东西都搬走了。技术中心那边的人你也知道,走得走散的散,小周前两天也提了辞职。恒通的系统恢复了一部分,但客户那边一直在投诉,听说他们要换供应商重新做……”
他说到这儿停顿了一下,声音有点干涩:“我听说你去卓远了,那边挺好的。”
“嗯,”我说,“还行。”
“那就好……”他好像想说什么,又咽了回去,最终只是低低地说了一句,“苏青,对不住。”
我握着手机站在工位旁边,窗外的城市灯火已经亮起来了,远处写字楼的霓虹灯把半边天映得发红。
我不知道该怎么形容那一刻的心情。
不痛快,也不算彻底释然,更多的是一种平淡——像是一口气终于喘顺了,胸口那块堵了很久的东西慢慢散了。
“王经理,”我说,“这事儿翻篇了。以后大家各走各路,你保重。”
他没再说什么,电话那边安静了两秒,然后挂断了。
我放下手机,把桌上的东西收进包里,关了灯走出办公室。园区里很安静,路灯把影子拉得很长,空气里带着雨后那股湿润的青草味。
我沿着人行道慢慢往大门走,脑子里忽然闪过一个念头——
刚才那通电话,是我从那家公司离开以来,第一次从王建军嘴里听到“对不住”这三个字。
虽然晚了点。
但至少他承认了。
回家的地铁上我刷了会儿手机,周晓发来一条消息:“听说王建军被撸了?真的假的?”
“真的。”
“哈哈哈哈哈哈哈哈哈,”她发了一长串大笑,“你知道我听到这消息是什么反应吗?我在工位上笑出了声,我领导以为我疯了。”
我嘴角弯了弯:“淡定。”
“淡定个屁!这种人不值得同情好吧!对了,你在新公司怎么样?干得开心不?”
我想了想,回了一句:“挺开心的。这边老大认技术,同事也不甩锅,每天不用猜谁在背后捅刀子。”
“那就好,好好干,以后飞黄腾达了记得拉姐妹一把。”
“行。”
我把手机揣回兜里,地铁正好进站,车厢里人不算多,我找了个角落坐下,看着窗外隧道里飞快掠过的灯带,心里难得的轻松。
但我知道,真正的重头戏还没来。
恒通的中台项目下周就要正式启动,赵孟元那边已经安排了子公司业务部门的负责人过来做需求对接,那才是真正的硬仗。五个子公司的业务流程千差万别,要把它们统一到一个中台上,光需求梳理就够喝一壶的。
不过我心里有底。
之前那套供应链系统虽然规模小一些,但底层逻辑是相通的。有了那套实战经验打底,再加上卓远这边技术团队的整体水平比原来公司高了不止一个档次,我对这个项目有八成以上的把握。
到家之后我煮了碗速冻馄饨,边吃边翻文档,把明天要对的需求清单又过了一遍。
吃完洗碗的时候手机又震了一下,是一个陌生号码发来的短信,内容很简短:“苏青,我是李耀,原来公司人事部的。今天整理离职档案的时候发现你当初转正的材料里缺了一份签字页,方便的话你加我个微信我发照片给你?不影响什么,就是档案要归档。”
我盯着那个名字想了半天才想起来是哪个——人事部一个戴眼镜的中年男人,平时不怎么说话,在公司两年多我跟他没单独说过话。
我加了他的微信,他很快发了一张照片过来,是当初转正申请表上缺的一个签字栏,旁边手写注了“已确认”三个字,日期是两年前。
我回了个“收到,谢谢”。
他说了句“不客气”,然后隔了几秒又发了一条:“苏青,我私人和你说句话。你在公司这两年多,大家都知道你干活踏实,王经理那边有些做法确实不对,但大家都不敢说。你那天走的时候,其实好几个人私下都说挺解气的。”
我看着那条消息,回了两个字:“谢谢。”
他发了个微笑的表情就没再说话了。
我把手机放下,关了灯躺上床。
窗外又开始飘小雨了,细密的雨丝打在窗玻璃上,声音很轻,像有人在远处低低说话。
我想起今天王建军在电话里那句“对不住”,想起人事部李耀说的“大家都觉得解气”,想起陆远舟在签约那天说的“往前看就行了”,想起赵孟元在会议室里拍着桌子说“这次合作我们充分信任你们团队”。
忽然觉得,这两个多月的所有憋屈、不甘、愤怒,好像都在慢慢变成另一种东西。
一种让我能站得更稳的东西。
我闭上眼,很快就睡着了。
07
周四上午,恒通那边来了四个人。
领队的是一个三十出头的女人,短发,干练,穿着深蓝色西装外套,踩一双低跟皮鞋,走路带风。她叫秦雨,是恒通集团信息部的副总监,也是这次中台项目的甲方对接负责人。
她一进会议室就跟我握手,力道不小:“苏工,赵总跟我提过你,说恒通那套供应链系统是你一个人扛下来的。我看了旧系统的接口文档,质量确实不错。”
我客气了两句,然后直接切入正题,把投影屏打开,对着架构方案开始过需求对接清单。
我原本以为这种大集团的对接会特别磨叽,各种流程、各种审批、各种中间层意见反复拉锯。但秦雨比我想象中利落得多,每讲到一个模块她就直接叫身后的业务负责人表态,“能不能做”“时间来得及吗”“有没有替代方案”,一句废话都不多说。
两个多小时下来,六个子模块的需求边界基本上敲定了八成。
中场休息的时候秦雨端着咖啡走到我旁边,压低声音问了一句:“苏工,我多嘴问一句,你之前那家公司的源码删了的事儿,是真的?”
我看了她一眼,没直接回答:“你从哪儿听说的?”
“圈子就这么大,该知道的人都知道了。”她喝了口咖啡,嘴角带着一点点笑意,“说实话,我听说这件事的时候还挺佩服你的。我们信息部之前跟你们公司合作的时候,对接人就是那个姓王的项目经理。他什么风格我太清楚了,不懂技术还喜欢瞎指挥,需求变更全靠拍脑袋,我们提的意见他当面说好背后拖着不办。”
她放下杯子:“所以你删了也好。旧系统反正要淘汰,省得我们以后还要花精力兼容。”
我笑了:“那你们这次选卓远,也是因为这个?”
“一部分吧,”她说,“赵总跟陆总本来就是老熟人,但更重要的是——赵总看了你那份架构文档之后说了一句话,‘这套东西是一个真正写过代码的人做的,不是PPT架构师。’”
我端着杯子,心里暖了一下。
下半场的对接比上午还顺利,几个之前有分歧的技术选型问题也达成了统一意见。散了会之后秦雨带着人先走了,临走前跟我加了微信,说后续有什么需要协调的随时找她。
送走甲方的人,林工凑过来小声说:“苏哥,这甲方不错啊,居然没提那种‘我们想要五彩斑斓的黑’的需求。”
“那得看后面真正落地的时候,”我说,“需求评审是一回事,真正看见代码跑起来是另一回事。”
但说归说,我心里确实比之前有底了。
晚上七点多我准备下班的时候,陆远舟忽然把我叫到办公室,关上门,表情有点微妙。
“苏工,我收到一个消息,”他坐到办公桌后面,手指交叉搁在桌上,“你们原来公司那边,今天给恒通发了一封正式公函,说旧系统的知识产权归属存在争议,要求恒通在未解决争议之前暂停新系统的选型合作。”
我皱了皱眉:“知识产权争议?”
“对。”陆远舟打开电脑转过来给我看邮件截图,“公函里说,恒通旧系统所涉及的代码、架构设计、业务逻辑文档均为你们公司职务作品,著作权归公司所有,你个人无权将其用于其他项目,也无权‘以任何形式协助第三方开发与旧系统功能雷同的系统’。”
我看完那段话,心里那股火又往上窜了一截,但很快被我压了下去。
“他们这是急了,”我说,“旧系统恢复不了,又听说恒通要换供应商,就想了这么一招来拖。”
陆远舟靠在椅背上看着我:“他们这招虽然恶心,但确实能拖一阵子。恒通那边法务部要评估这个公函的风险,项目至少会停滞一到两周。”
我沉默了几秒,脑子里飞速转着。
“陆总,”我抬起头,“旧系统的代码我删了,但我脑子里的东西删不掉。我做的新架构跟旧系统完全不是一个逻辑,业务域划分、数据模型、接口协议全部重新设计的。如果他们只是拿‘职务作品’这四个字来卡我,我建议咱们直接打回去——让他们举证旧系统里哪些核心算法或设计专利是公司独有的,而不是通用的技术方案。”
陆远舟看着我笑了:“你这想法跟我一模一样。我已经让法务准备了回函,核心就两条:第一,恒通旧系统的知识产权归属问题不影响新系统的独立开发,因为新系统的架构设计和代码实现均为原创,与旧系统不存在继承关系;第二,如果对方坚持主张侵权,请他们提供具体的侵权证据,而不是泛泛而谈。”
他说完停顿了一下:“另外我跟赵总通了电话,他那边的态度很明确——恒通选择供应商的标准是技术能力和交付质量,跟旧系统有没有纠纷无关。公函他们会走法务评估流程,但项目不会停。”
我松了口气,但还是有些不放心:“赵总那边扛得住压力吗?”
“他扛了二十多年的集团内部斗争了,”陆远舟笑着摆手,“你放心,他比我们俩加起来都有经验。”
从办公室出来的时候,我在走廊里站了一会儿。
手机这时候又亮了,我低头一看,是秦雨发来的微信消息,言简意赅:“苏工,公函的事我听说了。法务那边我打过招呼了,你放心干活,该推进的照常推进,集团那边有我撑着。”
我看着那条消息,手指在屏幕上悬了两秒,然后打了个“好”字发了过去。
回到工位上收拾东西的时候,林工还没走,正在调试一个接口。他看我脸色不太对,探头问了一句:“苏哥,没事吧?”
“没事,”我说,“一点小波折,不影响。”
他点了点头,没多问,又埋头看代码去了。
我拎起包走到电梯口,按了下行键。电梯门打开的时候,我忽然想起一件事——前公司给我发的那份补发提成的银行转账单我还留着,压在书桌抽屉里一直没动。
当初收到这笔钱的时候我说不清是什么感觉,现在回想起来,那八万七千多块钱其实不只是一份欠薪,更像是一张证明。
证明我当初没看错人。
也证明王建军确实做错了。
电梯到了一楼,我走出去,园区里风很大,吹得路边的树叶子哗哗响。我紧了紧外套领子,加快脚步往大门口走。
手机又震了一下。
陆远舟发来的:“明天上午十点,跟我去见一个人。别迟到。”
我回:“谁?”
他没多说,只发了三个字:“大客户。”
我盯着屏幕看了几秒,把手机揣回兜里,没再追问。
反正到了明天就知道了。
反正不管前面来的是谁,我现在都有底气接着。
08
第二天我早早到了公司,把昨天对接的需求清单又整理了一遍,补了几条昨晚想起来的细节,然后去陆远舟办公室找他。
他正在打电话,朝我点了下头示意我坐,我坐在沙发上等着,听见他对着电话说:“……行,那中午一起吃饭,我们到了联系你。”
挂了电话他站起来拿外套:“走,路上跟你说。”
上了他的车,他边发动边解释:“今天见的这个客户是做智慧物流的,规模比恒通还大一圈,集团下面有七家子公司。他们去年就想做中台,但之前的供应商做了一年多只交了个demo,功能跑不通,架构一塌糊涂,今年全盘推倒重来。”
他打了把方向盘,车驶出园区:“我前两天跟他们CTO聊了一次,提起你的方案,他挺感兴趣,说想当面聊聊。”
我坐在副驾驶上,认真听着:“他们有什么特别的要求吗?”
“要求倒不复杂,就是业务线太多,历史包袱重,之前那个供应商被搞崩溃的主要原因就是没理清楚业务域之间的数据关系,做到一半发现逻辑冲突,改来改去最后代码成了毛线团。”陆远舟说,“我看了你的方案里关于领域建模那部分,觉得正好能解决他们的问题。”
车开了大概四十分钟,到了城东一个产业园区。跟前台报备之后有人来接我们上楼,电梯到了十七层,门一开,迎面是一个开阔的接待区,玻璃墙上印着公司的Logo和名字。
“远舟!”一个戴着无框眼镜的中年男人从走廊另一头快步走过来,跟陆远舟握了手,然后看向我,“这位就是苏工吧?久仰,我是华翼物流的CTO,周铮。”
我跟周铮握手,他的手很暖,笑容也很真诚。
聊起来之后我发现周铮确实是个懂技术的人,聊了不到十分钟他就直击要害地问了几个关于数据一致性和跨业务域事务处理的问题,还提到了他们之前那个项目失败的具体原因——模块之间耦合太紧,动一个地方的代码其他三个地方跟着崩。
我把中台方案里关于边界划分和防腐层设计的那部分展开讲了一遍,他听完沉默了几秒,然后扭头对陆远舟说:“你从哪儿挖来的这个人?他那套东西就是我一直想找的。”
陆远舟笑了笑没接话,端起杯子喝茶。
周铮又转向我:“苏工,我们这摊活儿的体量和复杂度你可能也大概有数了,我不瞒你说,之前那个供应商做出来的东西基本等于白花钱。我们现在重新招团队,最看重的就是主架构师能不能把大框架搭稳。如果你这边时间排得开的话,我想邀请你参与我们的前期技术评估,不耽误你恒通那边的进度。”
我看了陆远舟一眼,他微微点了下头。
“可以,”我说,“不过我得先确认一下时间节奏,恒通那边下个月要启动编码,前两个月我可能比较紧张。”
周铮大手一挥:“没问题,前期评估就是出方案、做原型,你给个方向就行,具体落地我们另外组人。”
从华翼出来的时候已经快中午了,陆远舟开车带我去附近吃了碗面。等面上桌的时候他忽然说:“苏工,你知道为什么我今天特意带你来吗?”
我摇头。
“两个原因,”他掰开筷子,“第一,华翼这个项目确实需要你这样能扛架构的人,我看了市面上能找到的其他人,要么只会写PPT不会写代码,要么技术强但沟通能力不行,做不了甲方的对接。你两样都行。”
他顿了顿,低头往碗里加了勺辣椒:“第二,我想让你知道,你当初在那家公司受的那些气,在这儿翻倍还给你。”
我夹面的手停了一下,抬头看他。
他笑了笑,低头吃面,没有再说下去。
那碗面我吃了很久。
不是因为不好吃,是因为心里翻涌的那些东西让我一时半会儿咽不下去。
回公司的路上我靠着车窗,看着外面一辆一辆掠过的车,脑子里反复转着刚才周铮说的那些话。华翼的体量比恒通还大,如果这个项目真能谈下来,意味着我手里的活儿会从一个大项目变成两个大项目同时推进。
压力肯定大。
但不知道为什么,我反而觉得兴奋。
不是那种盲目的、热血上头的兴奋,而是一种踏实的、知道自己扛得住也能扛好的笃定。
车在红绿灯路口停下的时候,陆远舟忽然开口:“对了,还有一件事。王建军离职了。”
我转头看他:“什么时候?”
“今天早上。你们原来公司内部发了个通告,说王建军因个人原因辞去所有职务,即日生效。技术中心那边的人也跟我说了一声。”
我转过头看着前方,红灯在倒数,数字一格一格往下跳。
“他之前不是被调去行政部了吗?”我问。
“对,但听说他在行政部待了一周就受不了了,嫌丢人,自己提的辞职。”陆远舟语气平淡,“他那个项目经理的职位,据说公司打算从外部招人补上。不过现在那摊子烂在那儿,谁去接手都得头疼。”
绿灯亮了,车重新启动。
我靠着椅背,看着窗外不断后退的行道树,没有接话。
我没什么特别的感觉。不恨了,也不觉得解气,更多的是一种类似于“终于翻篇了”的平静。
当初那个在老板椅上对我说“有本事你辞职啊”的人,现在连那间办公室都坐不住了。
而我坐的这辆车,正开往一个两个月前我想都不敢想的方向。
傍晚回公司之后,我坐在工位上把华翼那边的需求要点简单做了个纪要,发给了陆远舟。他回了个“收到”,然后发来一条:“明天恒通那边秦雨会带业务部门的人来做第二轮需求评审,你准备一下。”
我回了个“好”字,关掉对话框。
窗外的天色已经暗了下来,对面写字楼的窗口亮起了一格一格的灯光,像一块巨大的蜂窝。
我坐在椅子上转了半圈,看着那一整面落地窗外的城市夜景,忽然想起一件事——我搬到这个城市三年多了,好像从来没有认真地看过一次夜景。
每天都是盯着屏幕、对着代码、熬到深夜打车回家,路过跨江大桥的时候连头都懒得抬一下。
可今天不一样。
今天我看得很仔细,从近处的楼顶天台到远处江面上映着的碎光,再到更远处模糊的山际线,每一层都看得清清楚楚。
我拿起手机,对着窗外拍了一张照片,发给了我妈。
消息写的是:“妈,新公司窗外的夜景。挺好的,别担心。”
她那边回得很快,是一段语音,我点开听,我妈的声音带着笑:“好看好看,你这新公司条件不错嘛。什么时候有空回家吃顿饭?你爸念叨你好久了。”
我打字:“下周吧,周末回去。”
她回了一串笑脸表情。
我把手机放下,屏幕暗了之后倒映出我自己的脸。嘴角翘着,眉眼舒展,跟两个月前坐在旧公司那个坏灯管下的自己判若两人。
我收拾好东西,关了电脑,起身下班。
走到电梯口的时候碰见林工,他拎着包问我:“苏哥今天走得挺早啊?”
“嗯,”我说,“今天值得早点回。”
他笑了一下,没问为什么,跟我一起进了电梯。
电梯门关上之前,我回头看了一眼走廊尽头那个亮着灯的办公室。
陆远舟还在里面。
我心想,这个老板,我算是跟对了。
09
恒通项目的第二轮需求评审比第一轮复杂得多,因为这次来的是五个子公司的业务负责人,每个人带来的需求清单都不一样,有的甚至互相冲突。
会议从早上九点一直开到下午四点,中间只休息了半小时吃饭。秦雨坐在主位上控场,每到一个争议点她就喊停,让大家各自表述,然后让我从技术可行性角度给出判断。
过程虽然磨人,但我心里有底。
之前在旧公司做的那个供应链系统虽然规模小,但麻雀虽小五脏俱全,该踩的坑我基本都踩过了。现在面对这些业务部门提出的五花八门的要求,我至少能区分出来哪些是刚性需求、哪些是锦上添花、哪些是纯粹拍脑门的想法。
下午最后一个环节定下来之后,秦雨明显松了口气,合上笔记本冲我笑了一下:“苏工,今天辛苦了。五个部门的人能一天达成共识,我本来以为要吵三天。”
“秦总控场控得好,”我说,“不然靠我一个人也压不住。”
她摆摆手,站起来收拾东西:“行了,后续的需求文档我让人整理好发给你。下周开始你们可以正式动工了。”
散会之后我回到工位上,灌了大半杯水,靠着椅背缓了一会儿。脑子还在嗡嗡转,但那种被高强度运转之后产生的疲累里,带着一种很踏实的成就感。
林工走过来递了杯咖啡:“苏哥,你今天舌战群儒啊,我看业务部那个老李脸都绿了,你一句‘这个需求会导致月底对账延迟三天’直接把他堵死了。”
我接过咖啡喝了口:“做技术的不能光说不行,得说清楚为什么不行、有没有替代方案。他们不是不讲理,只是不知道背后的技术代价。”
林工点点头,回了工位。
我端着咖啡站在窗边,看着楼下的园区发了会儿呆。
手机响了。
是赵孟元打来的。
“小苏,我听说今天评审挺顺利?”他声音里带着笑意。
“赵总消息真灵通,”我也笑了,“是挺顺利,五个业务线的需求基本锁定了百分之九十,剩下百分之十后续迭代再补。”
“好,好。”他连说了两个好,然后语气稍微正经了一些,“我打电话还有另一件事,你们原来公司那个知识产权公函的事,恒通法务部今天出了评估结论,说对方主张的证据不足,不影响新项目推进。我已经让人回了正式函件,这事儿到此为止。”
我心里那最后一块石头落了地:“谢谢赵总。”
“谢什么,”他说,“我这边也巴不得你们赶紧开工。对了,下周有个行业交流会,远舟应该也会去,你要是有空也来一趟,我带你认识几个人。”
“好,赵总你安排,我时间上配合。”
挂了电话,我把最后一口咖啡喝完,杯子搁在桌上,打开电脑开始拉项目的具体排期。
下一周开始就是真正的硬仗了。
但我很期待。
周四下午,陆远舟忽然出现在我工位旁边,手里拿着车钥匙在转:“晚上有事吗?带你去个地方。”
“什么事?”
“去了你就知道。”
他开车带我出了城,往郊区的方向走了大概四十分钟,最后在一家半山腰的私房菜馆门口停了下来。馆子不大,外面挂着几串红灯笼,门口停了两辆好车,其中一辆特别扎眼——黑色的迈巴赫,车牌号是一串数字加一个很罕见的字母组合。
我多看了一眼那辆迈巴赫,没多想,跟着陆远舟进了包厢。
推开门,里面已经坐了五六个人,基本都是生面孔,但看气度谈吐不是甲方高层就是行业里的资深人士。赵孟元也在,正端着茶跟旁边一个头发花白的老人说话。
陆远舟带着我一一打了招呼,介绍的时候说“这是我们卓远的首席架构师苏青”,没有多余的前缀和后缀。在场的人听到“苏青”这两个字的时候,有好几个人的表情明显动了一下,要么是微微挑了挑眉,要么是互相对视了一眼。
恒通供应链系统的案子在圈子里已经传开了,包括后面代码被删的事,该知道的人基本都知道了。
我坐在陆远舟旁边,话不多,有人问技术方面的事我就答几句,没人问我就安静喝茶吃菜。这种场合不需要刻意表现自己,有陆远舟和赵孟元在前面撑着,我做好自己的定位就行。
席间上了几道热菜,大家的话题从行业趋势聊到了最近几个大项目的进展,气氛很轻松。我正夹了一块排骨的时候,坐在对面的一个中年男人忽然放下筷子看着我:“苏工,我冒昧问一句,你之前那个旧系统删除的事,后来怎么样了?对方没再找你麻烦吧?”
我放下筷子,擦了擦手:“走了公司层面的流程,恒通那边法务已经出了结论,没有实质影响。”
他点了点头,没再多问。但旁边另一个戴眼镜的年轻人接了一句:“听说那个项目经理后来辞职了?”
我看了陆远舟一眼,他表情淡淡的,没有帮我接话的意思,示意我自己说。
“嗯,”我说,“他确实辞职了。”
眼镜年轻人笑了一下:“那这事儿也算是大快人心了。我们公司之前也遇到过类似的人,压着员工的绩效奖金当施舍,后来那个人被我们老板直接开掉了。这种人待在一个团队里,整个团队的风气都会被带坏。”
我没接话,端起茶杯喝了一口。
但心里确实有一点说不清的感触——原来我经历的那些事并不是个例,很多人都有过相似的遭遇,只是大家大多数时候选择忍了。
而我选择不忍的那一步,似乎也让一些人觉得,原来“不忍”是可行的。
酒席散场的时候已经快十点了,大家互相加了联系方式,我在门口跟几个人握手道别。赵孟元最后一个走的,上车前拍了拍我肩膀:“小苏,好样的。以后有什么需要的,直接找我。”
我点头:“赵总慢走。”
目送他的车驶出停车场,陆远舟拿着车钥匙走过来:“走吧,送你回去。”
我转身要跟他走,眼角余光忽然扫到停车场另一边那辆黑色迈巴赫旁边站着一个人——身形矮胖,穿着深色夹克,正低着头打电话。
那个身影我太熟悉了。
王建军。
我脚步顿了一下。
陆远舟顺着我的目光看过去,也看见了那个人。他没说话,只是停下脚步站在我旁边。
王建军似乎感觉到了这边的视线,抬起头来,跟我对上了目光。
那一瞬间他脸上的表情特别复杂——意外、尴尬、还有一丝我读不太懂的慌乱。他大概没想到会在这个地方碰见我。
我看着他,他也看着我。
几秒钟的沉默。
然后他低下头,匆匆挂了电话,拉开车门坐进副驾驶,那辆黑色迈巴赫发动引擎,缓缓驶出了停车场。
我站在原地,看着那辆车的尾灯消失在路口的拐角。
“他怎么会在这儿?”我问。
陆远舟语气很平:“那辆迈巴赫是你们原来公司一个股东的车,王建军可能是在跟那边的人谈什么事吧。不过看样子没谈成——你看他上车时候的脸色。”
我没接话,脑子里转的是另一件事。
那辆车从我面前开过去的时候,车牌号我正好看清楚了。
原来那辆迈巴赫是他家股东的车。
而我坐着的这辆车,是陆远舟的,普普通通的一辆黑色轿车,停在迈巴赫旁边毫不起眼。
但今晚坐在那个包厢里的人,每一个都是冲着我来的。
不是冲王建军。
是冲我。
我拉开车门坐进副驾驶,陆远舟发动了车,开了段路之后他忽然开口:“你知道今晚那些人为什么对你有兴趣吗?”
“为什么?”
“因为他们都听说过你的事,”他打了把方向盘,“一个年轻人被欺负了两年多,最后掀了桌子走人,而且走了之后不仅没混惨,反而越走越高——这种人,大家都会有兴趣认识。”
窗外路边的路灯一盏一盏往后掠过去,光影明灭地打在脸上。
我靠在座椅里,看着前方被车灯照亮的路面,心里忽然浮现出三个多月前那个晚上——我坐在旧公司楼下的便利店门口,看着凌晨的街道,不确定明天会怎样。
那时候我也没想过,三个月后我会坐在这辆车里,被行业里这么多人记住名字。
“陆总,”我说,“谢谢你。”
“谢我什么?”
“谢谢你愿意用一个删过前东家代码的人。”
他沉默了两秒,然后笑了:“苏工,你搞清楚一件事。我用的不是一个删过代码的人,我用的是一个有本事又有骨气的人。至于你之前干了什么,那是你前东家自己的事。”
我看着窗外,嘴角弯了弯。
是啊。
那是我前东家自己的事了。
早就跟我没关系了。
10
恒通的项目在第三周正式进入编码阶段。
我把团队分了三个小组,每组负责两个子模块,每天早上站会过进度,每周五下午做代码评审和集成联调。林工带了其中一组,另外两个组长是从外部招进来的,技术底子都不错,磨合了一周之后就基本上了正轨。
秦雨那边配合度很高,需求变更基本控制在一周一次以内,每次变更都附带优先级说明和业务影响评估。赵孟元偶尔会亲自来过问进度,但从不催,每次来就是喝茶、聊聊天、看看演示,然后说一句“你们慢慢做,质量第一”。
这种节奏让我有点不太真实。
之前在旧公司做恒通那套系统的时候,几乎每天都有紧急需求、临时变更、半夜的“老板明天要看”、周末的“辛苦加个班帮忙搞一下”。王建军永远是一副火烧眉毛的样子,仿佛晚一天交付公司就要原地倒闭。
可现在,同样的甲方、同样类型的项目,在卓远这边做起来的感觉完全是两回事。
不是项目变简单了,是管理变正常了。
第四周的时候,华翼那边周铮又约了一次深度技术交流,我带着林工一起去的,花了整整三天跟他们信息部的核心团队过了一遍架构方案。周铮听完之后当场拍板,说等恒通项目进入稳定期之后就开始走合同流程,到时候让华翼组一个联合开发团队配合我们推进。
那天从华翼出来的时候,林工在电梯里忽然说了句:“苏哥,我去年在上一家公司的时候,一年到头都在填坑、修bug、应付领导的各种不靠谱要求,做了大半年连一个完整的项目都没交出去。来了卓远之后这两个月,我感觉自己写的代码终于能真正跑上线了。”
我看他一眼:“那是因为你技术比以前强了。”
“也有你带得好,”他笑了,“你排的需求优先级和任务拆分比之前那个组长清晰太多了,我每天到工位就知道今天要干什么,不用猜领导今天又想改什么。”
我拍了拍他肩膀:“好好干,后面华翼那个项目起来,你挑大梁。”
他眼睛亮了一下:“真的?”
“真的,我说话算话。”
周五下午,恒通项目的第一阶段功能模块完成了内部联调,界面跑通了,接口响应都在一百毫秒以内,数据同步的灰度策略测试了两轮,结果符合预期。
我在群里发了条消息:“第一阶段完成,下周一给甲方做演示。”
群里炸了一连串点赞的表情。
秦雨私聊我:“下周一看你们表演。”
我回了个“妥”字。
周末我回了趟家,我妈做了一大桌子菜,我爸开了瓶酒,喝到微醺的时候拍着我的肩膀说:“儿子,你比以前精神多了。以前每次回来都一脸疲惫,现在脸上有光了。”
我妈在旁边附和:“就是就是,以前瘦得跟竹竿似的,现在脸上长了点肉,好看多了。”
我端着碗扒饭,嘴角忍不住往上翘。
周日晚上我回了自己租的房子,把下周要用的演示环境又检查了一遍,确认一切就绪,然后洗了澡躺上床。
手机亮了,是一条陌生号码发来的短信。
“苏青,我是王建军。听说你恒通那边的项目进展顺利,恭喜你。以前的事是我对不起你,祝你以后越来越好。”
我盯着那条短信看了很久。
没有回。
我把手机放下,翻了个身,看着窗外的月亮——今晚的月亮很圆,银白色的光透过窗帘缝隙洒进来,在地板上落了一道细细的长条。
我想起一个人。
那个两年前坐在旧公司角落里,对着坏掉的灯管写代码,以为只要够努力就能被看见的年轻人。
我想告诉他——
你不用再坐在那个角落了。
你不用再忍那些不属于你的委屈了。
你写的代码会被人看见,你的付出会被人尊重,你会遇到愿意带你的老板、靠谱的同事、讲道理的甲方,你会走上一条不是靠忍、而是靠本事站着走的路。
你会的。
我闭上眼,月光落在眼皮上,温温热热的。
周一的演示非常顺利。
秦雨带着五个子公司的业务负责人在大会议室里坐了一排,我站在投影屏前面把第一阶段的成果从头到尾过了一遍。功能演示了二十五分钟,没有一处卡顿,所有数据展示都在预期范围内。
演示结束的时候,秦雨带头鼓了掌,然后五个业务负责人陆续提了几个小问题,基本都是“这个功能后续能不能加个筛选条件”这类微调需求,没有一个人质疑核心逻辑有问题。
秦雨送走业务部门的人之后走回会议室,冲我说了句:“苏工,第一阶段验收通过。后续合同款项赵总那边已经批了,走流程就行了。”
我站在空荡荡的会议室里,看着屏幕上那个正在运行的系统界面,忽然有种说不清的感慨。
从恒通旧系统的开发,到被克扣提成,到删代码走人,到加入卓远,到重新搭建一套全新的中台架构——这中间隔了不到四个月。
四个月前,我还坐在那间坏灯管的办公室里,对着王建军的冷嘲热讽咬牙忍着。
四个月后,我站在甲方的大会议室里,亲手把自己设计的系统跑给他们看。
手机震了一下,是陆远舟发来的消息:“听说演示很顺利?晚上我请全组吃饭,你选地方。”
我回了一个餐厅的名字,是他之前带我去过一次的那家川菜馆。
他把地址转发到了项目大群里,然后补了一句:“今天苏工请客,我买单。都来。”
群里瞬间热闹起来,林工发了串鞭炮的表情,测试组的小姑娘说“终于能蹭到苏哥的饭了”,连平时不怎么说话的后端组新人都冒出来发了个大拇指。
我站在窗前,看着楼下园区里来来往往的人群,忽然发现今天的天特别蓝。
手机又震了一下。
这次是赵孟元发的,就一句话:“小苏,恭喜。你值得的。”
我盯着屏幕上的那六个字,把手机攥在手心里握了几秒,然后回了一句:“赵总,谢谢一直以来的信任。后面第二阶段我会继续死磕,保证交一份让恒通满意的答卷。”
他回了个笑脸。
我把手机揣回兜里,转身走出会议室,沿着走廊往外走。
阳光从走廊尽头的窗户照进来,在地板上铺了一大片金色的光。
我踩着那片光走过去,像踩着一条崭新的路。
那条路的前方是什么,我说不好。
但我知道,那一定不是我害怕走的路。
(全文完)
创作声明: 本文内容为虚构创作,故事情节及人物均为艺术加工,旨在传递职场中坚持自我、维护合法权益、勇于追求更好发展的积极价值观,与现实中的任何人物、事件、公司或团体均无关联。文中涉及的技术细节和职场情境仅供参考,不构成任何操作建议。知识产权相关问题的处理请遵循实际法律法规。