徒弟偷我50页方案当上总监,我愤然辞职,5年后他公司破产求收购,我...
会议室的磨砂玻璃门关着。
我能隐约看见里面那个来回踱步的焦躁身影。
五年前,也是这样一个闷热的下午,他拿着我的东西,走进了另一扇门。
门开了。
助理侧身让我进去。
长桌尽头那个正在整理领带的男人抬起头。
他的动作僵住了,瞳孔猛地收缩。
血色从他脸上瞬间褪去,像被抽干了空气。
他张了张嘴,没发出声音。
手里的几张纸飘落到地毯上,悄无声息。
我走过去,在属于我的位置上坐下。
文件夹轻轻放在光洁的桌面上。
我没有看他惨白的脸,只是将目光投向窗外灰蒙蒙的天。
然后,我转回头,迎上他那双布满红丝、充满了惊惶、恳求,以及难以置信的眼睛。
对他笑了笑。

01
键盘敲击声在深夜的办公室里格外清晰。
屏幕的光映在我发涩的眼睛上,“晨曦”项目方案的第五十七页,卡在了一个数据模型的优化节点。墙上的钟指向凌晨一点十七分。
走廊传来轻微的脚步声。
门被推开一条缝,蔡昊强探进头,手里拎着两个塑料袋。
“师傅,我就猜您还没走。”他轻手轻脚走进来,把袋子放在茶几上,“楼下粥铺还没关门,皮蛋瘦肉粥,热的。还有两个茶叶蛋。”
我揉了揉眉心,颈椎发出一声轻响。“你怎么也这么晚?”
“跟测试组那边对了几个边界case,刚弄完。”他走过来,站在我侧后方,看着屏幕上密密麻麻的流程图和注释,“这个动态负载均衡模块还没调通?”
“嗯,算法效率上不去,延迟超标。”我指了指屏幕一角的数据,“还在找瓶颈。”
他凑近了些,年轻的眼睛紧盯着那些跳动的参数和曲线。
看了半晌,他开口:“师傅,您说……如果这里不用传统的权重轮询,改成基于实时响应时间的预测性调度呢?虽然计算开销会大一点,但或许能压平长尾延迟。”
我愣了一下,重新审视那片代码区域。他说得有点意思,是个我没细想过的方向。
“想法不错。”我点点头,紧绷的神经稍微松了点,“具体怎么预测?用历史窗口的滑动平均?”
“可以试试指数加权,或者更简单点,就用最近五次响应的均值做基准,加上一个波动修正项。”他语速很快,显然不是临时起意,“我之前在您给我那本旧书里看到过类似思路,不过那是针对网络拥塞的。”
我想起来了,是有那么一本很老的外版书,里面有些观点很独到。那书我自己都很少翻,没想到他看了,还记住了。
“书看了不少。”我接过他递来的热粥,塑料碗的温度透过掌心,“最近挺用功。”
他有点不好意思地挠挠头,在我旁边的转椅上坐下,也打开一碗粥。
“跟在您身边,不学不行啊。感觉每天都像海绵,拼命吸,还是觉得不够。”他吹了吹勺子里的粥,热气模糊了他的镜片,“师傅,等‘晨曦’成了,咱们组……是不是能好过点?”
“或许吧。”我喝了一口粥,温热的液体顺着食道滑下,缓解了些许疲惫。“公司看业绩。‘晨曦’成了,就是明年最大的增长点,资源、话语权,都会不一样。”
他沉默地吃着粥,过了好一会儿,才低声说:“真希望能一直跟着您做项目。踏实。”
我看了他一眼。
小伙子眼里的光很真切,还有一种近乎依赖的信任。
当初他作为应届生分到我组里,基础不算最扎实,但肯钻,脑子活,最关键的是听话、勤快。
带了两年多,从写简单的脚本到能独立负责小模块,进步肉眼可见。
我把他当徒弟,也是当半个弟弟看,能教的从不藏着。
“路还长。”我说,“好好学,以后机会多得是。”
他重重地点头,把最后一口粥喝完,起身收拾碗筷。“师傅,您也早点回去休息吧。这模块我明天再想想,说不定有更取巧的办法。”
“行。路上小心。”
他走到门口,又回头,咧嘴笑了笑:“师傅,晚安。”
门轻轻关上。
办公室里重新只剩下我和嗡嗡作响的服务器,以及屏幕上那个未完成的难题。我活动了一下僵硬的肩膀,目光落在刚才他指点过的代码区域。
年轻真好。有想法,有冲劲。
我移动鼠标,新建了一个文档,开始记录他刚才提到的那个“预测性调度”思路的要点。或许,真的可以试试。
夜更深了。
02
周一上午的部门例会,气氛有点不同寻常。
部门经理老陈宣布了一个消息:公司为了适应业务扩张,决定新设一个技术总监的职位,统管“晨曦”以及后续两个重点项目的技术方向和团队。
“竞聘上岗。”老陈推了推眼镜,目光扫过会议室里二十几张面孔,“原则上,技术副经理以上级别,或者有重大技术贡献的骨干,都可以申请。下周五前提交初步方案和述职报告。”
会议室里响起一阵低低的议论声。
我心里动了一下。技术总监,这意味着更高的平台,更大的责任,当然,也对应着更直接的挑战和压力。
散会后,几个相熟的同事聚在茶水间。
“老周,这位置,非你莫属啊。”搞架构的老王递给我一支烟,我没接,他给自己点上,“论资历,论技术,论对‘晨曦’的把握,咱们部门里谁比得上你?”
“话不能这么说。”我摇摇头,“李工不也够格?他带后端团队多年,经验丰富。”
“李工是稳,但‘晨曦’这种偏前沿探索的项目,你的思路更对路。”老王吐了个烟圈,“我看好你。”
正说着,蔡昊强端着茶杯凑了过来。“师傅,您肯定要竞聘吧?”他眼睛亮亮的,“我跟组里几个兄弟都说了,到时候全力支持您。需要什么资料,跑什么腿,您尽管吩咐。”
我拍拍他肩膀:“先把手头工作做好。竞聘的事,我自己来。”
“那肯定的!”他立刻表态,“‘晨曦’的进度您放心,我们组绝对不掉链子。”
回到工位,我开始思考竞聘的事。
技术总监,不单单是技术好就行,还要有整体的规划能力、团队管理视野、跨部门协调的魄力。
我这些年埋头在具体项目和技术难点里,管理经验确实不如李工系统。
但“晨曦”是我一手从概念拉扯到现在的,就像自己孩子一样,没人比我更了解它的脉络和未来的可能性。
这或许是我的优势。
我打开一个新的PPT文档,敲下了标题:“关于技术战略与‘晨曦’项目深度整合的设想”。
下午,李工经过我座位时停了一下,状似随意地问:“周工,竞聘的事,考虑得怎么样了?”
我抬头看他。李工比我年长几岁,头发稀疏了些,但眼神依旧锐利。“正在准备。”我如实说。
他点点头,脸上没什么表情:“嗯,好好准备。公平竞争。”
等他走远,旁边的蔡昊强压低声音说:“师傅,李工是不是有点紧张了?我看他下午也一直在查资料。”
“做好自己的事。”我打断他。
话虽如此,但我能感觉到,平静的办公室水面下,暗流开始涌动。偶尔飘过来的眼神,茶水间戛然而止的谈话,都带着某种微妙的试探和考量。
下班前,老陈把我叫到小会议室。
“周博超,这里没别人,咱们聊聊。”老陈给我倒了杯水,“总监这个位置,我很看好你。你技术扎实,人稳重,‘晨曦’又是你的主场。不过……”他话锋一转,“这次竞聘,上面很重视,不光看技术,也要看综合潜力,尤其是创新思维和带领团队打硬仗的决心。李工那边,在管理层也有一些声音。”
我慢慢喝着水,等他的下文。
“我的意思是,你的竞聘材料,一定要突出亮点。尤其是关于‘晨曦’后续发展的核心技术构想,要拔高,要有前瞻性和震撼力。让所有人都看到,这个位置,只有你能坐得最稳,能给公司带来最大价值。”老陈看着我,语重心长,“机会难得,好好把握。”
“我明白,陈经理。谢谢提醒。”
走出会议室,我心里有了更清晰的打算。
老陈的话印证了我的判断,“晨曦”是我最大的筹码。
那份还在完善中的、包含了核心算法和架构秘密的五十页详细方案,将是竞聘材料里最重的部分。
但那份方案太关键,也太敏感。里面有些设计思路,甚至是我个人对未来技术路径的一些未经验证的猜想。我决定,在最终提交前,这份完整方案不能离开我的加密工作盘。
晚上加班时,蔡昊强又拎着外卖来了。
“师傅,还没吃吧?给您带了烧鸭饭。”他放下袋子,很自然地站到我身后看屏幕,“还在弄竞聘材料?”
“嗯,梳理一下思路。”
他盯着屏幕上我刚刚打出的几行关于“分布式事务一致性新策略”的标题,看了好一会儿,语气满是钦佩:“师傅,您想的这些东西,我连听都没听过。感觉跟您差距太大了。”
“慢慢来,这些也不是一蹴而就的。”我随口应道,把文档最小化,打开了烧鸭饭的盒子。
他拉过椅子坐下,一边掰开一次性筷子,一边像是闲聊般问道:“师傅,您说咱们‘晨曦’项目,最难的那个核心瓶颈,您是不是已经有破解的眉目了?我看您最近好像成竹在胸的样子。”
我心里微微一顿,面上不动声色:“难题总是有的,一个个解决罢了。怎么突然问这个?”
“哦,没什么。”他低下头扒饭,“就是觉得您太厉害了,好像没什么能难住您。要是您当了总监,带着咱们,肯定能干票大的。”
我没再接话,默默吃着饭。鸭肉有点凉了,油脂凝在米饭上。
窗外,城市的灯火一片连着一片,看不到尽头。

03
竞聘答辩安排在周五下午。
周三晚上,我熬了个通宵,终于将那份五十页的核心方案附录,做了最后的精炼和调整,整合进了述职报告的最终版。
凌晨四点,我将所有文件打包,用双重密码加密,存进了公司内网为我分配的、仅有我个人有完整权限的保密项目空间。
然后,又拷贝了一份到我的专用加密移动硬盘里,硬盘锁进了办公桌最底层的抽屉。
做完这一切,天边已经泛起了鱼肚白。我靠在椅背上,揉了揉布满血丝的眼睛,长长舒了口气。该做的都做了,剩下的,交给明天吧。
周四上午,我请了半天假,在家补觉,想让精神在答辩前恢复得好一些。
下午回到公司,刚进办公室,就觉得气氛不对。
组里几个年轻人都低着头,手指在键盘上飞舞,但眼神却时不时瞟向我这边,带着欲言又止的古怪。蔡昊强不在工位。
“怎么回事?”我走到一个平时还算机灵的组员旁边,低声问。
他左右看看,凑近些,声音压得极低:“周哥,您……您没看内部论坛吗?”
我心里一沉,立刻回到座位,登录了公司内网论坛。
平时冷清的技术板块,今天飘着一个热度很高的帖子,标题是:“关于‘晨曦’项目核心架构的另一种思考——兼论竞聘述职。”
发帖人是李工。
我的手指有些发凉,点开了帖子。
帖子内容很长,图文并茂,详细论述了一种针对“晨曦”项目当前最大技术瓶颈——高并发下的数据一致性难题——的“创新性”解决方案。
帖子里的技术路线图、关键算法描述,甚至几个核心的数学模型简化图示……
和我那份加密方案里,05节的内容,相似度超过了七成。
不同的是,他的表述更概括,一些最关键的参数推导和容错细节被省略或替换了,整体看起来更像一个“大胆的思路构想”,而不是可实施的详细方案。
但明眼人,尤其是深度参与“晨曦”的人,一眼就能看出其中的脉络源自何处。
帖子下面已经有了不少回复。有赞叹李工“思路开阔”
“高瞻远瞩”的,有讨论技术细节可行性的,也有人隐约提到了“竞聘”
“时机微妙”。
我坐在椅子上,感觉全身的血液在往头顶涌,耳边嗡嗡作响。
这不是巧合。
绝不可能。
那份核心方案,除了我自己,只有……
我猛地想起上周深夜,蔡昊强站在我身后,看着屏幕上那些未完成的图表,问出的那个关于“核心瓶颈”的问题。当时他那专注又带着探询的眼神。
还有昨天,老陈特意提醒我要在材料里突出“核心技术构想”……
门被推开,蔡昊强一阵风似的冲了进来,脸上带着焦急和愤怒。
“师傅!您看到那个帖子了吗?”他声音很大,引得其他同事纷纷侧目,“李工他怎么能这样!这……这明明就是您……”
“蔡昊强!”我打断他,声音不大,但足够冷硬。
他顿住了,脸上激动的红色还未褪去,眼神有些闪烁。
“到我办公室来。”我起身,走向旁边那间用玻璃隔出的小会议室。
他跟着我进来,我关上了门,拉下了百叶窗。
小小的空间里,只剩下我们两个人。空调的风声嘶嘶作响。
“师傅,这肯定是李工他……”他急急地开口。
我抬手,阻止了他。“帖子是上午十点半发的。”我看着他的眼睛,“那时候我在家。你上午在哪儿?”
“我……我在公司啊。一直在调试那个边缘计算节点的代码。”他回答得很快,但眼神下意识地避开了我的直视。
“我的工作电脑,除了我,还有谁能打开?”我问。电脑有开机密码,但并非无懈可击,尤其是对身边亲近且懂技术的人。
“师傅,您……您怀疑我?”他脸上露出受伤和难以置信的表情,声音也提高了,“我跟了您两年多!我是什么样的人您不清楚吗?我怎么可能做那种事!肯定是李工不知道从哪里搞到了您的一些想法,或者……或者是巧合?对,技术上的事,有时候英雄所见略同……”
“英雄所见略同?”我重复了一遍这个词,声音里听不出情绪,“连那个非对称加密校验链的过渡方案细节,也略同?”
那个细节,是我上周二晚上才临时加进去的,为了解决一个很小的兼容性问题,甚至没写进正式的方案文档,只在本地代码的注释里提了一句。
李工的帖子里,居然提到了一个非常近似的替代方案。
蔡昊强的脸色白了白,嘴唇翕动了两下,没说出话来。
“你上周二晚上,是不是动过我电脑?”我逼近一步,“我那天去楼顶接了个长电话,回来的时候,你正好从我座位上站起来。”
“我……我没有!”他猛地后退,背抵在玻璃墙上,“我是看您电脑屏幕暗了,怕待机,帮您晃了一下鼠标!师傅,您不能因为出了事,就怀疑我啊!我对天发誓,我要是拿了您的东西,我不得好死!”
他的声音带着委屈的颤音,眼眶甚至有些发红,看起来激动而真诚。
我看了他很久。那张年轻的脸,因为激动而泛红,写满了被冤枉的愤懑和不解。
有那么一瞬间,我几乎要相信他了。也许真的是巧合?或者李工通过别的渠道……
不。那个细节。那个该死的、不起眼的细节。
“你先出去吧。”我转过身,面对百叶窗缝隙里透进来的、被切割成一条条的光。
“师傅……”
“出去。”
我听到他吸了吸鼻子,沉默了几秒,然后门被轻轻打开,又关上。
我独自站在逐渐昏暗下来的小会议室里,看着玻璃窗外影影绰绰的办公区。远处,李工正在和另一个同事谈笑风生,手指偶尔指向电脑屏幕,意气风发。
我的手指缓缓攥紧,指甲陷进掌心。
明天就是竞聘答辩。
而我花了无数心血,准备用来一锤定音的王牌,已经被人撕开了一个角,提前晾晒在了众人面前。
04
周五的竞聘答辩,成了一场尴尬的表演。
我站在投影幕布前,阐述着我的技术规划和对“晨曦”的愿景。台下坐着公司几位高层和技术委员会成员。李工坐在前排,面带微笑,偶尔点头。
当我讲到数据一致性解决方案的核心部分时,我能明显感觉到台下听众的眼神发生了变化。那不是期待或好奇,而是一种“果然如此”的了然,甚至夹杂着一丝不易察觉的厌倦。
老陈坐在侧面,眉头微锁,避开了我的目光。
提问环节,一位技术委员会的资深专家扶了扶眼镜,直接问道:“周工,你刚才提到的这个‘动态优先级仲裁’机制,和我们之前看到的、李工在内部论坛分享的思路,似乎有异曲同工之妙。你能具体说说,你的方案独创性体现在哪里吗?或者说,你们之前有过深入的交流?”
会议室里安静下来。
所有人的目光都聚焦在我身上。
我沉默了两秒钟。
这两秒钟格外漫长。
我知道,如果我此刻指控李工剽窃,或者暗示方案泄露,拿不出确凿证据,只会让自己显得气急败坏,输不起。
况且,论坛帖子发表在前,我的正式答辩在后,在旁人看来,时间顺序上我已经落了下风。
“技术探索存在共性。”我听到自己的声音干涩地响起,“李工的分享给了我一些启发。我的方案更侧重于工程落地细节和完整的容错闭环,具体差异可以参考我提交的详细附录。”
我的回答四平八稳,甚至变相承认了李工的“启发”作用。我看到李工脸上的笑容加深了些。
另一位高管问:“那么,如果在资源有限的情况下,必须在你和李工的方案思路中做一个优先级选择,你会如何建议?”
这是一个陷阱问题,无论我怎么答,都可能得罪一方,或者显得缺乏决断。
“我会建议基于完整的压力测试和成本评估来做决策。”我给出了一个最保守、最安全的答案,“我的方案附录里有初步的模拟数据。”
答辩在一种不温不火的气氛中结束了。
我没有犯任何错误,但也毫无亮点可言。
就像一场精心准备的盛宴,主菜还没上桌,客人就已经在其他地方尝过了类似的味道,并且觉得不过如此。
结果在周一公布。
技术总监的职位,没有给我,也没有给李工。
公司宣布,经过综合评估,决定提拔原技术骨干蔡昊强,担任新设的技术总监。
公告邮件里写着:“蔡昊强同志年轻有为,思维活跃,创新意识强,在‘晨曦’等项目中表现出色,展现出优秀的技术潜力和管理潜能。公司希望在新岗位上,他能继续发挥锐意进取的精神,带领技术团队再创佳绩。”
邮件抄送了全体技术部门。
我坐在电脑前,盯着那几行字,看了很久。久到屏幕自动暗了下去,映出我自己模糊而平静的脸。
办公室里先是一片死寂,随即响起了压低声音的议论。惊讶,不解,也有几声了然的轻笑。
蔡昊强的工位已经空了。他此刻,大概正在某个独立的办公室里,接受祝贺吧。
下午,老陈把我叫去,脸上带着公式化的遗憾。
“周博超,这个结果……确实有些意外。高层有高层的考虑,可能是觉得需要更年轻、更有冲劲的面孔。你也别太往心里去,你的能力,大家有目共睹。”他递给我一杯茶,“公司还是需要你这样的中流砥柱。‘晨曦’项目,以后可能主要由蔡总监负责整体协调,但你依然是核心技术负责人,级别和待遇都会相应考虑……”
“陈经理。”我打断了他,“我想知道,我的竞聘材料,特别是那份详细方案附录,技术委员会的人,都看过了吗?”
老陈的眼神飘忽了一下,端起茶杯喝了一口。“这个……委员们时间有限,可能更侧重于现场陈述和答辩环节。详细的附录,应该是作为背景资料参考。”
“也就是说,可能根本没仔细看。”我点了点头。
“话不能这么说……”老陈试图解释。
“我明白了。”我站起身,“没什么事的话,我先回去了。”
“周博超,你……”
我没有再听,拉开门走了出去。
走廊里,我碰到了正被几个人簇拥着走过来的蔡昊强。
他穿着一身崭新的西装,头发也用发胶仔细打理过,脸上洋溢着意气风发的笑容,正在说着什么。
看到我,他的笑容僵了一下,脚步也顿住了。
簇拥他的人识趣地放慢了脚步。
我们隔着几米的距离对视着。
他脸上的笑容慢慢收敛,嘴唇动了动,似乎想叫我,但最终没发出声音。
眼神里有我看不懂的复杂情绪,一闪而过,随即被一种刻意的平静取代。
他甚至对我微微点了点头,然后便移开目光,继续和旁边的人说话,从我身边走了过去。
带起一阵淡淡的、陌生的香水味。
我站在原地,听着他们的脚步声和谈笑声在走廊尽头消失。
回到空荡荡的办公室,组里的成员大多被叫去开会了。我坐在自己的位置上,打开电脑。那个加密的项目空间还在,移动硬盘也静静躺在抽屉里。
但我清楚地知道,有什么东西,已经不一样了。
我移动鼠标,点开了系统日志查看工具。
我知道这没什么用,公司的电脑有安全策略,常规日志记录有限。
但我还是输入了我的主机名和时间段,检索着过去几周的所有登录和文件访问记录。
记录很干净,除了我自己的日常登录,只有几次来自运维团队的例行安全扫描记录。
我靠在椅背上,闭上眼睛。
蔡昊强那张激动地发誓“不得好死”的脸,和刚才走廊里那平静甚至略带疏离的点头,交替在我眼前闪过。
真的只是巧合吗?
或者,是我自己多心了?技不如人,就该坦然接受失败?
窗外天色渐晚,云层很低,压得人喘不过气。
我忽然想起,我的工作电脑,大概在一个月前,因为一次意外的系统蓝屏,重装过一次。重装前,旧系统的硬盘数据被格式化,但或许……并非完全不可恢复。
我坐直身体,从柜子里翻出一个很久不用的旧移动硬盘盒,又找来了系统安装盘。
一个近乎渺茫的念头,在我心里慢慢滋生。
我要看看,在那次格式化之前,这台电脑身上,到底发生过什么。

05
数据恢复的过程繁琐而缓慢。
格式化后的硬盘,数据碎片散落在各个扇区,需要专门的工具尝试拼凑。
我用的是一款老牌的专业级软件,但也不敢保证能找回多少有价值的东西。
重点是系统日志文件和特定时间段内的文件操作临时记录。
我把硬盘挂载到一台备用笔记本上,运行扫描。进度条像蜗牛一样爬行。我泡了杯浓茶,坐在旁边等着,眼睛盯着屏幕上跳动的字节和文件列表。
夜深了,办公室只剩下我这盏孤灯。
茶水续了三次,烟灰缸里积了几个烟头——我平时很少抽烟。当窗外的天际再次泛起灰白时,扫描终于完成了。
恢复出来的文件列表很长,大部分是系统文件碎片、临时缓存,还有不少是毫无意义的乱码。我耐着性子,按照时间排序,一点点筛选。
大部分日志文件都是残缺的。直到我点开一个恢复出的、来自旧系统“事件查看器”的应用程序日志片段。
日志时间戳:大约在六周前,晚上十一点左右。
那正是我为“晨曦”核心方案苦思冥想,经常加班到很晚的阶段。
我滚动着残缺的记录。大多是正常的程序启动关闭信息。然后,我的目光停住了。
有一条记录显示,在那个时间点,有一个远程桌面连接会话被初始化,源地址是公司内网的另一个IP。会话持续时间不长,大约十五分钟。
这本身不算异常,运维有时会远程协助。但那个IP地址……
我拿起手机,翻出内部通讯录,对照着部门同事分配的IP段范围。那个IP,不属于运维组。它属于我们项目组所在的子网。
我的心跳慢慢加快。
我继续往下翻。
在远程会话记录之后,紧接着有几条文件访问日志碎片。
被访问的文件路径隐约可见,指向的是我本地工作目录下的几个子文件夹,那些文件夹里,存放着“晨曦”项目前期各种混乱的笔记、脑图、未整理的代码片段和……早期版本的设计草案。
时间点太巧了。
我记下了那个IP地址的最后几位。然后,我退出恢复软件,回到我现在用的工作电脑,登录系统,打开了当前的内网连接查看工具。
我需要知道,那个IP,现在属于谁。
公司IP是动态分配的,但通常在一个较长的周期内,会相对固定地绑定在某台主机或某个员工账号上。我查阅了近一个月的DHCP租约记录和终端绑定信息。
查询结果弹出来的时候,我握着鼠标的手,指节有些发白。
那个IP,在过去两个月里,超过百分之九十的时间,绑定在终端主机名为“Cai-HQ”的设备上。
蔡昊强。
我靠在椅背上,闭上眼睛,深深吸了一口气,又缓缓吐出。
电脑主机嗡嗡的声响,在寂静的凌晨格外清晰。
仅有这个,还不够。
这只能证明他在那个深夜,通过远程桌面连接过我的电脑。
他可以说是帮我处理问题,或者借用计算资源。
那几条残缺的文件访问日志,也无法直接证明他拷贝了那份尚未完全成型的方案。
我需要更直接的证据,或者,一个答案。
第二天,我照常上班,神色如常。
组里气氛微妙,蔡昊强已经搬去了总监办公室,但偶尔还会过来转转,和大家打招呼,安排工作。
他见到我时,会客气地叫一声“周工”,然后迅速谈起项目进度,语气公事公办。
我在等待一个机会。
周四下午,机会来了。蔡昊强召集了一个关于“晨曦”下一步开发计划的技术讨论会,我和几位核心开发人员参加。会议在他新办公室旁边的小会议室进行。
会议结束时,其他人陆续离开。我收拾着笔记本,故意放慢了动作。
蔡昊强也整理着面前的资料,没有立刻走。
当最后一个人带上门,会议室里只剩下我们两人时,我合上了笔记本。
“蔡总监。”我开口,声音平静。
他抬起头,脸上带着尚未褪去的、主持会议时的从容。“周工,还有事?”
“有点技术细节,想私下再跟你确认一下。”我走向白板,拿起一支笔,“关于数据一致性方案里,那个非对称加密校验链的过渡方案。”
我在白板上画了一个简单的示意图,标出了几个关键节点。
“我记得,在最早的草案里,这个地方的处理有个隐患,在极端网络分区下可能导致签名循环依赖。我后来想了个取巧的办法,在本地日志里追加了一个时间戳偏移量作为随机种子,打破这个循环。”
我转过身,看着他。“这个办法,我没写进任何正式文档,只在一份本地草稿的注释里提了一句。后来正式方案里用了更彻底的解法,那个取巧的草案就废弃了。”
我停顿了一下,观察着他的反应。
“但是,很奇怪,李工之前在论坛的帖子里,提到过一个类似的、用‘附加随机因子’缓解循环的思路。虽然他没展开,但我很好奇,这个已经废弃的、存在于我个人本地草稿里的细节,他是怎么‘启发’到的?”
蔡昊强脸上的从容,像潮水一样慢慢褪去。他握着钢笔的手指,关节处微微泛白。
他张了张嘴,想说什么,但没能立刻发出声音。眼神里闪过一丝清晰的慌乱,虽然很快被他强行压下。
“周工,我不太明白你的意思。”他的声音还算平稳,但语速比刚才快了一点,“李工的想法来源,我怎么知道?也许只是技术上的巧合,或者他听别人提起过?你那个本地草稿,是不是……是不是不小心放在共享目录里了?”
“我的个人工作目录,从没设置过共享权限。”我缓缓地说,目光没有离开他的脸,“而且,我查过一些旧的系统日志。大概六周前,晚上十一点左右,有人用内网IP远程连接过我的工作电脑。那个IP,当时绑定在你的设备上。”
他的脸色彻底变了,从苍白转向一种不自然的潮红。他猛地站起来,身后的椅子腿划过地板,发出刺耳的摩擦声。
“你调查我?”他的声音陡然拔高,带着被侵犯的愤怒和一丝不易察觉的颤抖,“周工,你现在是什么意思?怀疑我偷了你的东西?就凭一个IP记录?那时候我可能是在帮你处理系统问题!或者是你自己忘了关远程桌面!”
“我那天晚上在楼顶接电话。”我的声音依旧没有什么起伏,“下来的时候,正好看到你从我座位上站起来。你说你是帮我晃鼠标,防止待机。”
“对!我就是!”他急促地呼吸着,胸膛起伏,“周工,我尊重你是前辈,是我师傅!但你不能因为自己竞聘没上,就把气撒在我头上,用这种莫须有的事情污蔑我!我现在是技术总监,你要注意你的言辞!”
“那份五十页的详细方案,是我熬了无数个夜,一点一点磨出来的。”我没有理会他的愤怒和头衔,只是陈述着,声音低沉下去,“里面的每一个字,每一个参数,我都记得。蔡昊强,你看着我的眼睛告诉我,李工帖子里的东西,还有你坐上这个位置的‘创新思维’,跟你那天晚上,或者任何时间,从我电脑里看到的、拿走的东西,有没有关系?”
我们隔着会议桌对视着。
他眼睛里最初的慌乱和愤怒,像退潮后的沙滩,逐渐露出底下冰冷的、坚硬的质地。那层包裹着他的、属于“徒弟蔡昊强”的温热外壳,正在一点点剥落。
他不再激动,也不再辩解。只是站在那里,微微抬着下巴,用一种混合着戒备、审视,甚至一丝冰冷挑衅的眼神,回望着我。
那眼神,我从未在他脸上看到过。
良久,他扯动嘴角,露出一个几乎没有温度的、极淡的弧度。
“周工。”他开口,声音恢复了平稳,甚至带着点公事公办的疏离,“你说的这些,我完全听不懂。技术讨论,灵感碰撞,在咱们这行太正常了。李工有什么想法,那是他的事。我能当上总监,是公司领导基于我的综合能力做出的决定。至于你电脑里的东西……抱歉,我从未未经允许查看或拷贝过你的任何私人文件。”
他拿起桌上的文件夹,抱在胸前,做出了送客的姿态。“如果没有其他工作上的事情,我还有个会。”
我静静地看着他。看着这张熟悉又陌生的脸。
所有的话,都卡在了喉咙里。质问,愤怒,失望,在此刻都显得苍白无力。
他没有承认。
他永远不会承认。
我点了点头,没再说什么,拿起自己的笔记本,转身拉开了会议室的门。
走廊的光透进来,有些刺眼。
我没有回头,径直走向自己的工位。
身后,传来他关门的声音,很轻,但很清晰。
像一把锁,轻轻落下,锁死了某段过去。
06
我坐在自己的位置上,看着电脑屏幕上“晨曦”项目的图标,看了很久。
然后,我打开了公司内网的申诉通道。
我将我能整理出来的所有疑点——IP记录的时间对应性、那个废弃草案细节的蹊跷泄露、竞聘前后一系列事件的关联——写成了一份尽可能客观冷静的陈述报告,附上了我能恢复和获取的日志截图作为旁证,提交给了公司监察部和分管技术的副总裁。
报告发出去后,石沉大海。
三天后,老陈再次把我叫去。这次不是在办公室,而是在公司楼下的一间咖啡馆。他显得很疲惫。
“周博超,你的报告,上面看过了。”他搅拌着杯里的咖啡,没有看我。
“结论呢?”我问。
“没有结论。”老陈叹了口气,“或者说,结论就是没有证据。IP记录不能证明他拷贝了文件,那个技术细节的‘相似’,也被解释为常见的解决思路。李工那边,也否认看过你的任何资料,只说那是他自己团队的思考成果。”
“我提交的……”
“你提交的那些,只能说明存在疑点,无法形成证据链。”老陈打断我,语气里带着无奈,“公司高层的意思,现在任命已经公布了,蔡昊强也已经开始履行总监职责。为了一个无法证实的技术细节泄露疑点,推翻一项重要人事任命,牵扯到多位骨干,对公司稳定和项目进展影响太大。”
我听着,心里最后一点温度也凉了下去。
“所以,就这样了?”我的声音很平静。
“公司会考虑在其他方面对你进行补偿。薪资调整,年度评级,甚至……”老陈压低了声音,“副总裁私下暗示,明年可能会增设一个技术专家委员会的高级职位,待遇不低于总监。让你再耐心等等。”
“等?”我笑了笑,那笑容大概很难看,“等到什么时候?等到大家都心照不宣,把那五十页东西彻底忘掉?还是等到我学会睁一只眼闭一只眼,继续帮他用我的‘思路’去建功立业?”
老陈不说话了,只是低头喝咖啡。
“陈经理,谢谢您告诉我这些。”我站起身,“我知道您的难处。”
“周博超,你是个难得的技术人才,离开这里,未必能找到更合适的平台。‘晨曦’也需要你。”老陈抬头看着我,眼神复杂,“有时候,退一步,未必是坏事。职场就是这样。”
“我明白。”我点点头,“职场就是这样。”
我离开咖啡馆,午后的阳光有些晃眼。街道上车水马龙,人声嘈杂。
回到公司,我打开电脑,开始写辞职报告。
手指敲击键盘的声音,干脆利落,没有一丝犹豫。
报告很简单,没有提及任何具体原因,只是说个人职业发展考虑,申请离职。发送给部门经理、人力资源部和分管领导。
消息很快传开。组里的年轻人围过来,脸上写满了惊愕和不舍。蔡昊强没有过来。
我默默地收拾着个人物品。书,笔记,一个用了多年的保温杯,几盆小小的绿植。属于公司的东西,一样没拿。
收拾到一半,办公室的门被推开了。
蔡昊强站在门口,手里拿着一份文件。他看着我桌上摊开的纸箱,脚步停顿了一下。
我继续把一本书放进箱子里,没有抬头。
他走了进来,反手轻轻带上门,但没有关严。
我们之间隔着几步的距离,空气有些凝滞。
他先开了口,声音比平时低沉:“周工,听说……你要走?”
“嗯。”我把一支笔放进笔袋。
“其实……没必要这样。”他向前挪了一小步,语气有些斟酌,“公司还是很看重你的。‘晨曦’项目,很多地方离不开你。我们……我们可以像以前一样配合。”
我停下了动作,抬眼看他。
他穿着熨帖的衬衫,系着领带,发型一丝不苟。脸上没有了昨晚对峙时的冰冷,也没有了之前的意气风发,反而带着一种复杂的、近乎恳切的表情。
“像以前一样?”我重复了一遍。
他的喉结滚动了一下,避开了我的目光,看向窗外。“我知道……最近发生了一些事,可能让你有些误会,或者……不舒服。我……”
他停顿了很久,似乎在艰难地组织语言。手指无意识地摩挲着那份文件的边缘。
“师傅。”他忽然又用了这个称呼,声音很轻,带着一丝微不可查的颤音,“我……”
他看着我,眼神里有挣扎,有某种急于表达却又难以启齿的东西。嘴唇翕动着。
我在等。
等他会不会说出那句话。哪怕只是一句含糊的“对不起”,或者一句“事情不是你想的那样”。
时间一秒一秒过去。
他眼中的挣扎,最终被一种更深沉的东西覆盖了。那东西像是决心,又像是彻底放弃解释的疲惫。
他深吸一口气,再开口时,声音已经恢复了平稳,甚至带着点总监的官腔。
“周工,既然你决定了,那我尊重你的选择。工作交接方面,我会安排人跟你对接。希望你以后发展顺利。”他把手里那份文件放在我桌边,“这是你需要签字的几份项目权限转移单,麻烦走之前处理一下。”
他说完,点了点头,转身走向门口。
手握住门把的时候,他停了一下,背对着我,肩膀似乎微微塌下去一点,但很快又挺直了。
他没有回头。
门被拉开,他走了出去,轻轻带上。
走廊的光随着门的开合,在我眼前明灭了一下。
我低下头,看着桌上那份权限转移单。最上面一页,需要我签字的地方,已经用铅笔画了一个小小的圈。
我拿起笔,在那个圈里,签下了自己的名字。
笔迹很稳。
收拾完最后一点东西,纸箱封好。我抱着它,环顾了一下这个待了好几年的工位。屏幕是黑的,键盘摆得整齐,一切都和往常无数个下班时刻一样。
只是,我不会再坐在这里了。
我抱着纸箱,走出办公室,穿过熟悉的走廊,经过那些或熟悉或陌生的面孔。有人投来目光,有人低声交谈,我都没有理会。
电梯下行,失重感传来。
一楼大厅,玻璃门自动向两边滑开。外面的空气涌进来,带着初秋的凉意。
我走出大楼,没有回头。
阳光依旧有些晃眼。
我拦了一辆出租车,把纸箱放在后座,自己也坐了进去。
司机问:“去哪儿?”
我报了一个地名。那是我租住的小区。
车子启动,汇入车流。公司大楼在后视镜里越来越小,最终消失在高耸的建筑群之后。
我看着窗外飞速倒退的街景,心里空落落的,却又有一种奇异的平静。
像是终于卸下了一副沉重的、早已不合身的铠甲。

07
五年时间,足够改变很多事情。
比如,我从一个愤然离职的技术骨干,变成了业内一家中型投资集团“启明资本”的并购部技术评审负责人。
头衔不算顶高,但有实权,专门负责评估那些寻求投资或面临收购的科技公司的技术底细和真实价值。
日子忙碌,但也充实。
看过的项目五花八门,见过形形色色的创业者,有真才实学的,也有夸夸其谈的。
见得多了,当年那股被背叛的尖锐痛楚,渐渐被磨成了心底一块坚硬的、偶尔会硌人但不再流血的疤。
我学会了更冷静地看人,看事,看那些光鲜PPT背后的代码和逻辑。
又是一个加班的晚上。
我坐在启明资本大厦的办公室里,审核着一批拟收购标的的初步资料。
经济周期下行,不少前几年风光无限的小型科技公司撑不住了,寻求被收购成了活下来的唯一途径。
我们手里的名单很长。
我揉了揉眉心,点开下一个文件夹。
公司名称:昊创科技有限公司。
状态:申请破产重组,寻求资产收购。
创始人兼CEO:蔡昊强。
我的手指停在鼠标上,屏幕的光映在镜片上,微微闪烁。
这个名字,像一颗投入深潭的石子,荡开了沉寂五年的涟漪。
我点开了详情页。
公司简介,产品方向,专利列表,融资历史……一行行看下去。
昊创科技,成立三年半,主打“智能物联网中间件”和“边缘计算解决方案”。
概念听起来不算新颖,但在过去的某个阶段,正是风口。
资料显示,他们最初拿到过两轮不错的融资,团队一度膨胀到近两百人,在科技园区租了整整一层楼。
但产品商业化之路并不顺畅。
客户反馈“系统不稳定”、“定制化成本高昂”、“核心技术缺乏护城河”。
持续的烧钱之后,新一轮融资受阻,资金链在今年初彻底断裂。
上个月正式申请破产保护,现在正在到处寻找接盘方,希望能卖掉部分核心资产和知识产权,偿还债务。
附有一张蔡昊强近期出席某个行业论坛的照片。
照片上的他,比五年前成熟了不少,西装革履,站在演讲台后,脸上带着公式化的笑容,但眼角的细纹和眼神里的疲惫,是镜头和修图软件也掩盖不住的。
我关掉了资料页面,靠在椅背上,目光投向窗外城市的璀璨夜景。
五年。他离开恒信后,自己创业了。用着从我那里拿走的东西,加上他自己的聪明和野心,搭起了一个看似不错的台子。
然后呢?台子塌了。
办公室的门被敲响。
“进。”
梁子安推门进来,手里拿着两份报告。他是我在恒信时的老同事,比我早两年离开,后来也辗转到了启明资本,现在在风控部门,我们时常合作。
“博超,还没走?正好,‘昊创科技’的初步背调报告出来了,你先看看。”他把一份文件放在我桌上,自己拉了把椅子坐下,点了支烟。“这家有点意思。”
我拿起报告,翻看着。梁子安做事细致,报告里除了公开信息,还有些非正式的渠道了解到的内容。
“创始人蔡昊强,之前在恒信科技干过,你对他有印象吗?”梁子安吐着烟圈问。
“嗯,认识。”我点点头,目光扫过报告里关于蔡昊强履历的那一段,“以前带过他。”
“哦?是你徒弟啊?”梁子安有些意外,随即恍然,“怪不得。我侧面打听了一下,这人能力是有的,脑子活,也会搞关系,创业初期拉投资挺有一套。但他们公司的技术底子,听说有点虚。”
报告里提到,昊创早期的核心产品架构,据几位从恒信跳槽过去后又离开的中层透露,“借鉴”了不少老东家某个未完全公开的内部项目思路。
但模仿得不够深入,很多关键难点没吃透,导致产品在复杂场景下问题频出。
“他们那个所谓的‘智能物联网中间件’,底层逻辑是不是有点像……你们当年搞的那个‘晨曦’?”梁子安弹了弹烟灰,看着我。
我没有立刻回答,翻到了报告的技术评估部分。
里面列出了昊创几项核心专利和软件著作权,名称听起来都挺唬人。
但仔细看专利摘要和软件的功能描述,确实能嗅到一丝熟悉的、但又似是而非的味道。
像一件用廉价布料粗糙仿制的高定礼服,远看形似,近看处处走样。
“是有些影子。”我合上报告,语气平静,“不过,‘晨曦’后来在恒信好像也没真正做大。”
“听说也是虎头蛇尾。你走了之后,那个项目换了几波人,一直没达到预期,后来资源就被抽调到别的方向了。”梁子安摇摇头,“不过话说回来,这蔡昊强胆子也够大,拿着不成熟的东西就敢出来创业,还融了那么多钱。现在玩砸了,债主天天上门。”
“他们希望收购价是多少?”我问。
“心理价位不低,还想保留一部分团队和品牌。但以他们现在的资产负债和技术资产状况……”梁子安嗤笑一声,“做梦呢。咱们徐总的意思,要么极低价打包拿走还有点价值的技术代码和专利,要么就让他们彻底破产清算,咱们再去捡漏。看审计和你们技术评审的结果了。”
徐海峰是我们老板,眼光毒辣,杀伐果断。
“尽职调查什么时候开始?”我问。
“下周。审计部韩茵带队,你这边出两个人,一起去昊创现场。”梁子安把烟按灭,“韩茵你熟吧?眼里不揉沙子的主。有她把关财务,你把关技术,这蔡昊强想藏点什么猫腻,难。”
我点点头。韩茵,审计部副总监,四十岁,出了名的严谨较真,跟她合作过几次,过程绝不轻松,但结果可靠。
“行,我知道了。”我把报告放进抽屉,“人员我安排。”
梁子安起身,走到门口又回头:“对了,博超,既然是你以前的徒弟……到时候现场,会不会有点尴尬?”
我抬头看他,笑了笑:“工作是工作。”
梁子安也笑了,指指我:“你呀。行,走了。”
门关上后,办公室里重新安静下来。
我重新打开电脑,调出昊创科技的文件夹,点开了那些技术文档和代码仓库的访问链接(破产清算期间,部分非核心资料已向潜在收购方有限开放)。
一行行代码,一张张架构图,在屏幕上滚动。
那些变量命名习惯,模块划分的思路,甚至某些注释的语癖……
太熟悉了。
熟悉得让人胸口发闷。
我移动鼠标,关掉了页面。从抽屉里拿出烟盒,抽出一支点燃。烟雾在灯光下袅袅升起,模糊了屏幕上文件夹的图标。
五年了。
我以为再听到这个名字,看到这个人,内心不会再有什么波澜。
但此刻,指尖传来微微的麻痹感。
不是恨,也不是愤怒。
是一种更复杂的,连我自己也一时难以厘清的东西。
我深吸一口烟,缓缓吐出。
下周。昊创科技。
该见面了。
08
昊创科技所在的办公区,位于城市边缘一个新开发的创新园区。当年想必光鲜亮丽,如今却透着一股萧瑟。大堂的前台空无一人,绿植枯萎了几盆,地面有些脏污没及时清理。
我们一行人——审计部的韩茵带着两个助手,我带着部门的小赵——在前台等了约莫十分钟,才有一个穿着皱巴巴衬衫的年轻男人匆匆跑下来,自称是行政部的,领我们上楼。
电梯里弥漫着一股灰尘和廉价空气清新剂混合的味道。
出了电梯,眼前的景象更显颓败。
大半的工位都空着,杂物堆砌,有的电脑显示器还歪倒在桌上。
仅剩的十几个员工分散坐着,大多无精打采,看到我们进来,投来麻木或警惕的一瞥。
曾经的“整整一层楼”,如今只租用了靠近东南角的一片区域,用简易隔板与其他空置区域分开。隔板那边,昏暗空旷,像是被遗弃的舞台。
蔡昊强的办公室在剩余区域的最里面。领路的年轻人敲了敲门,里面传来一声有些沙哑的“请进”。
推开门。
办公室不算大,装修简单,一张办公桌,一组会客沙发,一个书柜。书柜里没几本书,倒是摆着几个创业初期获得的奖杯和奖牌,擦拭得很亮,在略显灰暗的房间里有些刺眼。
蔡昊强从办公桌后站起来。
他看起来比照片上更憔悴些。眼窝深陷,胡茬没刮干净,身上的西装还算合身,但肩线处有些松垮,像是最近瘦了不少。他看到我们,脸上立刻堆起职业化的笑容,快步迎上来。
“韩总监,周……周工。”他的目光落在我脸上时,那笑容极其短暂地凝滞了一瞬,瞳孔不易察觉地收缩了一下,但立刻又漾开,伸出手,“欢迎欢迎,一路辛苦了。”
他的手有些凉,手心有汗。
韩茵公事公办地和他握了握手,介绍了一下我们这边的人员。蔡昊强连连点头,招呼我们坐下,又让那个行政年轻人去倒水。
“公司最近……正在调整期,有点乱,见笑了。”蔡昊强坐在沙发主位,双手交握放在膝盖上,试图让语气轻松些,但紧绷的下颌线出卖了他。
“理解。”韩茵打开笔记本,单刀直入,“蔡总,时间有限,我们直接开始吧。按照流程,我们需要查阅公司自成立以来全部的财务账目、合同、银行流水、资产清单。技术部分,需要访问所有代码仓库、设计文档、服务器日志,并进行抽样核验。”
蔡昊强脸上的肌肉抽动了一下,笑容有些勉强:“应该的,应该的。资料都准备好了,在隔壁会议室。技术仓库的权限,我已经让技术负责人开了。不过……”他顿了顿,看向我,“有些核心算法的代码,可能涉及到我们早期的一些独创思路,访问权限上……”
“蔡总放心。”我迎上他的目光,声音平稳,“我们只看与资产评估相关的部分,有保密协议约束。必要时,可以在我方指定环境下进行离线审查。”
他点了点头,移开视线:“好,好。那……我先带各位去会议室?”
财务资料堆积如山,占据了会议室长桌的大半。
韩茵和她的助手立刻投入工作,手指在计算器键盘和账本间飞舞,不时低声交谈,提出问题。
昊创仅剩的一名财务主管是个中年女人,脸色苍白地坐在一旁,回答着韩茵一个接一个犀利精准的询问。
我和小赵则被引到另一间较小的技术办公室。
昊创的技术负责人是个三十出头的男人,姓邓,神色疲惫,眼袋很深。
他默默地给我们登录了内部系统,指出了几个主要代码仓库的位置,然后便坐在自己的角落里,对着屏幕发呆,一副听天由命的样子。
我坐在电脑前,登录,开始浏览。
代码仓库的结构很清晰,甚至可以说是过于“规整”了,带着一种刻意模仿大公司成熟项目的痕迹。我点开核心模块的目录。
熟悉的命名风格再次扑面而来。但很快,我就皱起了眉头。
代码质量参差不齐。
有些关键函数写得简洁优雅,显然是高手所为(我几乎能猜出是谁早期的手笔),但更多的部分,充斥着粗糙的复制粘贴、硬编码的参数、含糊的注释,以及为了赶工而留下的明显漏洞。
不同模块之间的接口设计混乱,耦合度高,后期修修补补的痕迹非常重。
这不像一个经过深思熟虑、稳步迭代的产品代码库,更像一个在deadline和融资压力下东拼西凑、仓促上马的试验场。
我点开最近半年的提交日志。bugfix(错误修复)和hotfix(紧急补丁)的比例高得惊人,而真正意义上的功能增强或重构优化寥寥无几。
小赵在我旁边低声说:“周哥,他们这个核心通信协议模块,好像是自己造的轮子?但看实现,性能瓶颈很明显,为什么不用成熟的开源方案?”
“也许是为了所谓‘自主可控’,或者申请专利方便。”我回答,目光停留在一段处理数据同步的代码上。
那算法的核心逻辑,和我当年为解决“晨曦”某个特定场景下数据冲突而设计的策略,有八成相似。
但在这里,它被生搬硬套到一个并不完全适用的场景中,导致代码里充满了别扭的条件判断和边界case处理。
我继续往下翻。在某个底层工具库的目录里,我看到了一个熟悉的、带有特定前缀的配置文件模板。那是我在恒信时,为自己常用的一套开发环境写的自定义配置。
它怎么会出现在这里?
我点开文件属性。创建时间,显示是昊创科技成立后的第三个月。上传者用户名:Cai_HQ。
我盯着那个用户名看了几秒,然后关掉了文件窗口。
下午,韩茵那边似乎有了重要发现。她把我和蔡昊强都叫到了大会议室。
韩茵面前摊开着几份合同和银行对账单,她的脸色严肃得像块铁板。
“蔡总,”韩茵的声音没有起伏,“我们发现,贵公司去年第三季度确认的一笔来自‘智联天地’的八百万元软件服务收入,对应的合同和验收单据存在疑点。”
蔡昊强的脸色变了变:“有什么问题?合同、发票、银行回单,都是齐全的。”
“合同是齐全,但根据我们调取的‘智联天地’那边的采购流程记录和银行付款记录,”韩茵推了推眼镜,镜片后的目光锐利,“他们实际支付的款项是四百万元,分两期付清。而且,他们采购的是标准版授权和基础服务,合同金额也应是四百万。贵公司账上显示的八百万合同,以及另外四百万元的‘补充开发服务’发票和虚构的付款回单,是怎么回事?”
会议室的空气瞬间凝固了。
蔡昊强的额角渗出了细密的汗珠,他张了张嘴:“这……这里面可能有误会,或者是中间沟通出了问题……我需要和我们财务核实一下……”
“不止这一笔。”韩茵打断他,又抽出另外几份文件,“还有这里,这里。涉及虚构交易、提前确认收入、将关联方往来款包装成营收,总额大概在一千两百万元左右。这直接导致你们上一轮融资时的关键财务数据严重失实。”
蔡昊强脸上的血色褪得干干净净,他放在桌下的手,微微颤抖起来。他求助般地看向我,眼神里充满了慌乱和恳求。
我只是静静地看着韩茵展示的那些文件,没有出声。
“另外,”韩茵合上文件夹,语气更冷,“在核查你们申报的核心软件著作权和专利时,我们发现,其中三项关键算法的专利申请资料,与五年前恒信科技内部某未公开项目的技术文档,存在高度相似性。虽然无法直接判定抄袭,但这构成了重大的知识产权瑕疵,会极大影响这些资产的估值,甚至可能引发法律纠纷。”
她的目光扫过我和蔡昊强。“蔡总,对此你有什么解释吗?”
蔡昊强像是被抽干了力气,瘫坐在椅子上,嘴唇哆嗦着,半天说不出一句完整的话。
“那些……那些技术是我们团队自主研发的……借鉴……借鉴了一些公开思路……恒信那边……早就放弃了……”
他的辩解苍白无力,在韩茵拿出的证据链面前,不堪一击。
“今天的发现,我们会如实写入尽职调查报告。”韩茵站起身,开始收拾东西,“收购谈判的基础,需要重新评估。蔡总,建议你尽快梳理清楚公司的真实资产和债务状况。”
韩茵带着助手离开了会议室。小赵看了看我,也悄悄退了出去。
会议室里只剩下我和蔡昊强。
他双手捂着脸,肩膀垮塌着,一动不动。昂贵的西装此刻裹在他身上,只显得空荡而可笑。
窗外,夕阳的余晖给萧条的园区涂上了一层暗金色的光,更添暮气。
我收拾好自己的笔记本,站起身。
布料摩擦的声音惊动了他。他猛地抬起头,眼睛里布满了红血丝,死死地盯住我。
那眼神里,有绝望,有恐惧,有山穷水尽的狼狈,还有一丝……扭曲的怨怼?
“是你……”他的声音嘶哑得厉害,像是从喉咙深处挤出来的,“周博超……是你故意的是不是?带着人……来查我……来看我的笑话……”
我停下脚步,站在桌边,看着他。
“尽职调查,是收购的正常流程。”我的声音很平静,听不出任何情绪,“查出问题,是你们自己的问题。”
“我的问题?”他忽然激动起来,撑着桌子站起来,身体前倾,眼睛里喷着火,“没有当初那些东西,我根本起不来!你知道创业有多难吗?你知道要把一个想法变成产品,再去说服那些投资人,需要付出多少吗?你以为谁都像你一样,只会埋头写代码,等着别人把机会送到你手上?”
他的胸膛剧烈起伏着,脸涨得通红,像是要把积压了多年的东西一股脑倒出来。
“是!我是用了你的东西!那又怎么样?那些东西放在你手里,不过是几张废纸!在恒信,他们根本不懂它的价值!是我!是我把它们变成了产品,变成了公司!我付出了多少心血?我赌上了我的一切!可现在呢?就因为这些……这些账目上的‘瑕疵’,还有那些早就没人追究的旧文档,你们就要把我的一切都否定掉?”
他挥舞着手臂,声音因为激动而破裂:“这不公平!周博超!你告诉我,这公平吗?!”
我静静地听着他的咆哮。等他终于停下来,只剩下粗重的喘息时,我才缓缓开口。
“公平?”
我重复了一遍这个词,像是在品味它的含义。
“蔡昊强。”我看着他那双被失败和愤怒烧红的眼睛,“你当年拿走那五十页方案的时候,有没有想过,对我来说,公平是什么?”
他像是被噎住了,张着嘴,却发不出声音。眼中的怒火一点点熄灭,只剩下灰烬般的空洞和茫然。
“明天上午十点,集团总部会议室,收购谈判。”
我没有等他回答,转身走向门口。
手握住门把时,我听到身后传来一声极轻的、仿佛什么东西彻底碎裂的声音。
像是支撑他的最后一根骨头,断了。
我没有回头,拉开了门。
走廊里昏暗的灯光涌了进来。

09
启明资本总部的会议室,位于大楼的高层。整面的落地玻璃窗外,是城市中心区密集的天际线,天气阴沉,云层低垂,光线有些晦暗。
长条会议桌的一侧,已经坐了几个人。
我的老板徐海峰坐在主位,手里把玩着一支钢笔,神色平静。
梁子安坐在他旁边,低头看着手里的平板。
韩茵坐在另一侧,面前摊开着厚厚的报告和笔记本电脑,表情一如既往的严肃。
桌子对面,空着。
墙上的电子钟显示着九点五十八分。
会议室里很安静,只有中央空调低沉的风声,以及偶尔响起的、韩茵翻动纸张的窸窣声。
徐海峰抬眼看了看钟,又看了看门口,没说话。
九点五十九分。
门被推开了。
蔡昊强走了进来。
他换了一身西装,比昨天那套看起来新一些,但也更不合身,肩部有些塌。
头发精心梳理过,抹了发胶,试图遮掩憔悴,但深陷的眼窝和灰败的脸色无法掩饰。
他手里提着一个黑色的公文包,指关节用力得发白。
他身后跟着一个人,是昨天见过的那个技术负责人邓工,低着头,脚步迟疑。
蔡昊强的目光第一时间扫向会议桌对面。当他的视线落在徐海峰、梁子安、韩茵身上时,还勉强维持着镇定,甚至挤出了一丝僵硬的笑容,微微点头示意。
然后,他的目光移动,落在了坐在韩茵旁边、正低头翻阅一份文件的我身上。
那一刻,他的动作完全僵住了。
脚步钉在原地,脸上的笑容瞬间冻结,然后像破碎的石膏面具一样片片剥落。瞳孔急剧收缩,里面充满了难以置信的惊骇,仿佛看到了最不可思议的噩梦场景。
血色从他脸上以肉眼可见的速度褪去,变得惨白如纸。他甚至轻微地摇晃了一下,手下意识地扶住了门框。
他张大了嘴,喉咙里发出“嗬”的一声极轻的抽气声,却没能说出任何一个字。
跟在他身后的邓工不明所以,差点撞到他背上,疑惑地抬起头。
会议室里所有人的目光,都集中在了僵在门口的蔡昊强身上。
徐海峰挑了挑眉,没说话。梁子安抬起头,看了看蔡昊强,又看了看我,嘴角弯起一个几不可察的弧度。韩茵只是推了推眼镜,继续看她面前的报告。
时间似乎停滞了几秒。
我合上手里的文件,缓缓抬起头,迎上他那双充满了惊惶、恐惧、困惑,以及一种近乎崩溃的绝望的眼睛。
我的脸上没有任何表情。
平静得像深潭的水。
蔡昊强的嘴唇剧烈地颤抖起来,他像是用了极大的力气,才把目光从我脸上撕开,转向徐海峰,声音干涩得像是砂纸摩擦:“徐……徐总,这位是……”
徐海峰放下钢笔,身体向后靠了靠,语气随意:“哦,介绍一下。周博超,我们并购部的技术评审负责人。这次对昊创的收购案,由他负责技术资产的评估和估值建议。”
技术评审负责人。
评估和估值建议。
每一个字,都像一把冰冷的锤子,敲在蔡昊强摇摇欲坠的神经上。
他脸上的肌肉不受控制地抽搐着,眼神再次不受控制地飘向我,里面混杂着哀求、慌乱,还有一丝濒临绝境的疯狂。
他似乎想从我的表情里读出些什么,是报复的快意?
还是冰冷的公事公办?
但他什么也读不出来。
我只是一脸平静地看着他,像看任何一个等待评估的收购标的负责人。
“蔡总,”徐海峰指了指对面的空位,“请坐吧。时间有限,我们直接开始。”
蔡昊强像是梦游一样,被邓工轻轻拉了一下衣袖,才踉跄着挪到对面椅子前,僵直地坐下。公文包“砰”一声掉在地上,他也没去捡。邓工默默帮他捡起来,放在他手边。
他双手放在桌上,指尖不住地颤抖。他试图握紧拳头止住颤抖,但效果甚微。他挺直背脊,想做出镇定的样子,但那姿势僵硬得可笑。
徐海峰示意韩茵开始。
韩茵清了清嗓子,打开面前的报告,声音清晰冷静:“基于对昊创科技有限公司的财务及法律尽职调查,我们发现存在以下重大问题……”
她开始逐条陈述。虚构营收的具体笔数和金额,关联交易的掩饰手段,知识产权存在的瑕疵及潜在法律风险,公司的真实资产负债率远超申报数据……
每说出一条,蔡昊强的脸色就灰败一分,背脊就佝偻一寸。
他低着头,眼睛死死盯着光洁的桌面,不敢看任何人,额头上沁出大颗大颗的冷汗,顺着鬓角滑落。
他的手指神经质地抠着桌面的边缘。
邓工坐在他旁边,面如死灰,头几乎埋到胸口。
韩茵陈述完毕,合上报告:“综上所述,昊创科技的现有资产价值需大幅调低,且收购后可能面临债权追索及知识产权诉讼风险。这是我方的初步评估。”
会议室里一片寂静。只有蔡昊强越来越粗重、压抑的喘息声。
徐海峰转向我:“博超,技术资产这边,你的看法?”
所有人的目光,再次聚焦到我身上。
包括对面那个,猛地抬起头,用尽全身力气看向我的蔡昊强。
他的眼睛通红,布满了血丝,里面翻腾着最后一丝渺茫的希望,以及更深沉的恐惧。他像是在等待最后的判决。
我没有立刻回答。
我慢慢地,将面前那份关于昊创核心代码评估摘要的文件,往前推了推。
然后,我抬起眼,目光越过桌面,先是在蔡昊强身后那面用来投影的空白屏幕上停留了一瞬——那里本该展示他们公司的“核心价值”和“美好未来”。
现在,只是一片空白。
我的目光,缓缓移动,最终,落在了蔡昊强的脸上。
落在他那双再也找不到当年半点灵光,只剩下惊惶、乞求、悔恨,以及被现实彻底击垮的黯淡的眼睛里。
五年的光阴,五十页的心血,无数个熬夜的夜晚,走廊里那声落锁般的关门声,还有昨天会议室里他绝望的咆哮……无数画面和声音,在这一刻呼啸着掠过脑海。
然后,归于沉寂。
我看着他,看了足足有三秒钟。
窗外,阴云缝隙里漏下一缕惨淡的天光,短暂地照亮了他惨白的脸。
我微微侧头,嘴角,极其缓慢地,向上弯起一个微小的弧度。
一个平静的,看不出什么意味的。
笑了笑。
10
那笑容很淡,像初冬湖面上一层薄得几乎看不见的冰,转瞬就没了痕迹。
但在蔡昊强眼里,却仿佛被投入了一块烧红的烙铁。
他整个人剧烈地哆嗦了一下,像是被无形的电流击中,险些从椅子上弹起来。
他死死地盯着我,瞳孔缩成了针尖大小,里面最后那点支撑着他的东西——无论是希望、伪装,还是绝望的愤怒——在那平静的目光和若有若无的笑意下,彻底崩解、涣散。
他的嘴唇翕动着,喉咙里发出“咯咯”的轻响,却吐不出一个成形的音节。冷汗浸透了他的衬衫领子,贴在脖颈上。
徐海峰似乎并没有在意我这细微的表情,或者说,他并不关心。他敲了敲桌面,将所有人的注意力拉回。
“蔡总,”徐海峰的声音不高,却带着一种不容置疑的定调意味,“情况韩总监和周工已经说得很清楚了。基于昊创目前的真实状况,我们无法接受原先的收购框架。”
蔡昊强像是溺水的人终于抓住了一根漂浮的稻草,猛地转向徐海峰,声音嘶哑急迫:“徐总!徐总您听我说!那些财务问题……是下面的人操作失误,我可以解释!技术……我们的技术还是有价值的!尤其是边缘计算的几个核心算法,我们申请了专利,有独到之处!只要……只要有一点资金支持,把产品打磨好,市场前景……”
“专利的事情,刚才韩总监已经提到了潜在风险。”徐海峰打断他,语气平淡却冰冷,“至于技术价值,”他看向我,“博超,你们的详细评估报告出来了吗?”
我点点头,翻开另一份更厚的文件。
“初步技术评估显示,昊创现有的核心代码,存在架构混乱、关键算法实现粗糙且存在明显性能瓶颈、技术债沉重等问题。其宣称的‘独创性’部分,经比对,与市面上已有的成熟开源方案或某些过期专利思路重合度较高,且实现水准不及。部分模块甚至存在安全漏洞。整体评估,独立商业价值有限,剥离整合成本高昂。”
我说的每一个字,都像一根针,扎在蔡昊强身上。他脸上最后一点血色也消失了,身体开始无法控制地微微颤抖。
“不过,”我话锋一转,蔡昊强灰败的眼睛里骤然又亮起一丝微光,死死盯住我。
“其中关于异构设备数据接入适配和轻量级规则引擎的两个工具模块,代码质量尚可,设计思路有一定巧思。”我翻到报告某一页,“如果完全剥离出来,经过重构和优化,或许能作为补充组件,嵌入到我方投资的其他物联网平台项目中。但价值需要重新严格评估,且不包含原有团队。”
那一丝微光,瞬间又熄灭了。剩下的,只有彻底的无底深渊。他连最后一点“技术资产”和“团队价值”的遮羞布,都被撕得粉碎。
徐海峰听完,手指在桌面上轻轻敲击着,沉吟了几秒钟。
“蔡总,”他再次开口,声音里已经不带任何感情色彩,纯粹是商业谈判的语气,“基于现状,启明可以提出的最终收购方案是:以五十万元的价格,收购你方指定的、经我方技术团队确认后的部分代码资产所有权,以及相关软件著作权的转让。债务、人员、其他资产及法律责任,均由你方自行承担和处理。这是底价,也是最终报价。你可以考虑十分钟。”
五十万。
对于一家曾经估值数亿、融资数千万的公司来说,这个数字,是彻头彻尾的羞辱。甚至不够支付他拖欠的部分员工工资和园区租金。
蔡昊强呆住了。他直勾勾地看着徐海峰,仿佛没听懂这个数字。然后,他的目光又缓缓移到我脸上,似乎在寻求确认,或者……别的什么。
我只是平静地回望着他,手指无意识地在评估报告光滑的封面上摩挲了一下。
“不……这不可能……”他喃喃自语,声音轻得像耳语,“不可能……我的公司……我的心血……就值……五十万?”
“或者,你们可以选择破产清算。”韩茵冷冷地补充道,“以目前的债务和资产状况,清算后,股东所能获得的回报,大概率是零,甚至负数。”
零。负数。
蔡昊强猛地抱住了自己的头,手指深深插进头发里,用力揪扯着。他发出一声极其压抑的、如同受伤野兽般的呜咽。肩膀剧烈地耸动着。
邓工在一旁,吓得脸色发青,一动不敢动。
会议室里陷入了漫长的沉默。只有蔡昊强压抑的抽泣声,和空调沉闷的送风声交织在一起。
徐海峰看了一眼手表,没有催促。
梁子安拿起茶杯,慢慢喝了一口,目光投向窗外阴沉的天空。
韩茵重新低头,开始在笔记本电脑上记录着什么。
我依旧看着蔡昊强。看着他崩溃的姿态,看着他曾经意气风发、如今却只剩下绝望和狼狈的背影。
时间一分一秒过去。
终于,蔡昊强的抽泣声渐渐低了下去。他缓缓抬起头,脸上泪痕和汗渍混在一起,一片狼藉。眼睛肿着,空洞无神,再也没有力气看向任何人。
他盯着面前空无一物的桌面,看了很久。
然后,极其缓慢地,他松开了揪着头发的手,撑着桌面,摇摇晃晃地站了起来。
“我……”他的声音破碎不堪,带着浓重的鼻音,“我……需要……出去打个电话……和我……合伙人商量一下……”
徐海峰点了点头:“请便。我们等你的答复。”
蔡昊强踉跄着,几乎是被邓工半搀扶着,走出了会议室。门在他身后轻轻关上,隔绝了里面的一切。
会议室里重新安静下来。
徐海峰转向我:“博超,那部分可能有点价值的代码,你们抓紧时间做二次复核,给出一个具体的技术评估价和整合成本估算。”
“好的,徐总。”
“子安,后续的法律文件和交割手续,你盯着点。”
“明白。”
徐海峰站起身,整理了一下西装外套。“就这样吧。有结果了告诉我。”他说完,率先离开了会议室。
梁子安和韩茵也收拾东西,陆续走了出去。
我没有立刻动。
我坐在那里,听着走廊里隐约传来的、蔡昊强激动又绝望的、夹杂着哭腔的电话争论声,那声音模糊不清,断断续续。
然后,声音渐渐远去,消失了。
窗外的云层似乎更厚了,天光暗淡,会议室里的光线也变得晦暗不明。
我面前,那份关于昊创科技的评估报告封面上,“昊创”两个字,在昏暗的光线下,显得有些刺眼。
我伸出手,指尖触碰到冰凉的纸张。
停留片刻。
然后,我合上了报告。
站起身,将椅子轻轻推回桌下。
抱起那摞文件,我也走向门口。
手握住冰凉的金属门把时,我停顿了一下。
身后,是空荡荡的会议室,长桌,凌乱的椅子,以及空气中尚未完全散去的、属于失败和绝望的气息。
面前,是走廊明亮却冰冷的光。
我拉开门,走了出去。
没有再回头。