雨砸在办公楼玻璃上,模糊了整座城市。我冲进公司时,前台电子钟刚好跳到九点零一分。

头发滴着水,鞋子里都是。

赵振华站在我工位旁,手指敲了敲桌面:“程靖琪,你迟到了。”

“赵总,路上堵死了,雨太大……”

公司规定九点整。”他打断我,语气像在念规章制度条文,“你负责的‘智云管家’今天上午十点要交付给客户演示,现在还剩五十八分钟。

冯秀文从旁边递来一张纸,脸上没什么表情。

是解雇通知。

我盯着那行“因漠视公司纪律”,喉咙发干:“系统只有我能维护,现在……”

“地球离了谁都转。”赵振华把通知往前推了推,“收拾东西吧。”

那场雨下了三年。

他们用着我留下的系统赚了三年钱。

直到今天,赵振华坐在我对面,茶杯在他手里转了三圈也没喝。系统崩了,客户在砸门,而他终于发现——有些东西,离了我,还真转不动。

“小程,”他挤出笑,“咱们聊聊?”

我给他续了茶,热气模糊了镜片。

好啊赵总。”我摘下眼镜擦了擦,“先聊聊,这三年‘免费用’的租金。

打开网易新闻 查看精彩图片

01

雨还在下。

我站在工位前,身上湿透的衬衫贴着背,有点冷。

冯秀文递过来一个纸箱,空的那种,边角都裁得整整齐齐。

她说:“私人物品,半小时内清理完毕。公司物品,请自觉留下。”

我看了眼电脑屏幕。

“智云管家”的后台界面还开着,绿色数据流安静地滚动。

这是我花了十一个月做出来的东西,从架构到代码,每一行都熬过夜。

上周赵振华还在会上说,这是公司明年冲击市场的王牌。

现在王牌还在,打牌的人要被踢出去了。

“源代码呢?”我没动。

“公司资产。”赵振华已经转身往办公室走,声音飘过来,“你签的合同里写得很清楚,任职期间开发的一切成果,归公司所有。”

我想争辩。

但嘴唇动了动,没发出声音。合同确实签了,那时候我刚毕业,看见月薪一万二就赶紧按了手印。条款?谁仔细看条款。

徐鹤轩从隔壁工位探出头,眼神躲闪。

他是我招进来的徒弟,基础还行,就是缺股狠劲。我冲他招手,他磨蹭着过来。

“后台监控模块的日志路径,记得吗?”

他摇头。

“数据库压力阈值设了多少?”

他又摇头。

我叹了口气,抓过键盘。指尖刚碰到按键,冯秀文的手就按在了我手腕上。很轻,但透着不容置疑的力道。

“程先生,”她改了口,“请遵守离职流程。”

我抽回手。

纸箱放在桌上,我开始收拾。

抽屉里有半盒润喉糖,曼妮买的,说我老加班嗓子哑。

有本翻毛了的算法笔记,从大学跟到现在。

有个小小的盆栽,仙人掌,居然还活着。

电脑没关。

我故意没关。赵振华办公室的玻璃墙反射着屏幕的光,我能看见他坐在里面打电话,脸上有笑。他在跟客户聊“智云管家”的演示,语气自信满满。

他不知道,或者说不在乎——系统里埋了个定时检查模块,每隔七天需要手动重置一次密钥。上次重置是五天前。

还有两天。

我把仙人掌放进纸箱,抱起箱子。经过徐鹤轩时,他小声说:“师父,那个压力阈值……”

“自己翻我笔记。”我没停步,“第三十七页。”

走到门口,我回头看了眼办公室。

所有人都低着头,键盘声噼里啪啦。没人看我,就像我从没来过。玻璃墙里,赵振华挂了电话,端起茶杯喝了一口。

雨声被隔绝在外。

世界很安静。

02

电梯降到一楼,雨还没停。

我没带伞,抱着纸箱站在檐下。手机震了,是曼妮:“怎么样?迟到这么久,挨骂了吧?晚上给你炖汤压压惊。”

我盯着屏幕,手指悬在键盘上。

不知道该打什么。

最后回了句:“被开了。

电话秒打过来。曼妮的声音急吼吼的:“什么?就因为迟到?一分钟?他们疯了吧!你等着,我请假过来!”

别来。”我看着雨幕,“来了也没用。

那也不能……

“合同写了,迟到三次或严重违纪,公司可单方面解约。”我背出条款,“我是第三次。”

电话那头沉默了几秒。

“前两次都是因为项目紧急,你通宵加班第二天睡过头!”曼妮声音发颤,“这算什么违纪?他们讲不讲理?”

我扯了扯嘴角。

讲理?赵振华最常说的话就是:“公司不是讲理的地方,是讲规则的地方。”规则是他定的,解释权在他手里。

挂了电话,我冲进雨里。

纸箱被淋湿了,底部开始发软。

我护着它跑到地铁站,衣服又湿了一层。

车厢里人挤人,有个小孩盯着我纸箱里的仙人掌看,伸手想摸,被他妈拽回去了。

到家推开门,暖气混着饭菜香。

曼妮还是回来了。她系着围裙从厨房出来,看见我一身狼狈,眼圈立刻红了。但她没哭,接过纸箱放在地上,转身去拿毛巾。

“先洗澡。”她推我进卫生间,“别感冒。”

热水冲下来的时候,我才开始发抖。

不是冷,是后怕。房租下个月要交,曼妮读在职法硕的学费还没凑够,我妈前两天打电话说家里冰箱坏了……工作没了,这些怎么办?

洗完澡出来,曼妮已经摆好饭菜。

两菜一汤,很简单。她盛了碗汤推过来:“趁热喝。”

我端起碗,手还在抖。

“程靖琪。”曼妮放下筷子,看着我,“你跟我说实话,除了迟到,还有别的事吗?是不是跟赵振华吵架了?还是项目出了岔子?”

我摇头。

“那为什么非要今天开除你?明知道十点有演示……”她忽然停住,眼睛睁大,“演示!对了,系统怎么办?离了你他们能搞定?”

“徐鹤轩在。”

“他?”曼妮皱眉,“你去年才带他,核心模块他碰都没碰过吧?”

我没说话,低头喝汤。

汤很鲜,但喝不出味道。

脑子里全是后台界面,绿色数据流,还有那个倒计时两天的手动重置模块。

赵振华知道吗?

他可能不知道。

冯秀文肯定不知道。

徐鹤轩……他也许翻到笔记了,也许没翻到。

“曼妮。”我放下碗。

“嗯?”

“我电脑没关。”我看着桌上的仙人掌,刺上还挂着水珠,“系统后台一直开着。”

曼妮愣了下,随即明白了:“他们……会继续用?”

“合同说成果归公司所有。”我扯了扯嘴角,“他们当然会用。”

“可那是你……”

“我的代码,我的架构,我熬的夜。”我打断她,声音有点哑,“但现在法律上,是公司的资产。”

曼妮沉默了很久。

她起身去厨房,又端了盘水果出来。切好的苹果,插着牙签。她坐回我身边,肩膀轻轻挨着我。

“先吃饭。”她声音很轻,“明天……明天我们再想。”

夜里我睡不着。

手机屏幕在黑暗里亮着,我打开云端备份。

那里有“智云管家”最早期的版本,当时还没进公司,是我在出租屋里瞎琢磨的原型。

代码很粗糙,但核心算法的思路已经在了——多层缓存机制,动态负载预测,还有那个后来被赵振华吹上天的“智能决策树”。

这些,是在入职前就有的。

我坐起身,打开台灯。从箱子里翻出那本算法笔记,一页页翻。第三十七页,压力阈值的计算公式旁边,有我随手画的架构草图。

草图角落,有个小小的日期戳。

一年半前。

那时我还没毕业,这是硕士课题的初步构想。导师还批注:“想法不错,可深入。”

我盯着那个日期,心跳有点快。

打开网易新闻 查看精彩图片

03

接下来一周,我投了二十七份简历。

石沉大海。

有两家约了面试,聊到项目经验时,我提到“智云管家”。对面HR眼睛亮了,细问技术细节。我讲到一半,忽然停住。

“这部分涉及前公司的商业机密。”我说。

HR笑容淡了:“理解,理解。”

然后就没然后了。

曼妮每天下班回来,第一件事就是看我脸色。我努力装得正常,做饭,洗碗,刷招聘网站。但夜里她睡着后,我会偷偷爬起来,坐在电脑前。

不是写简历。

是打开那个原型代码,一行行看。

薛学仁的电话是第八天打来的。他是我硕士导师的朋友,退休的技术大牛,现在偶尔接点专利顾问的活儿。老头说话直:“小程,听说你被开了?”

“薛老师您消息真灵通。”

“赵振华那小子,当年我就看他不实在。”薛学仁哼了声,“怎么样,接下来打算?”

我苦笑:“找工作呗。”

电话那头沉默了下。

“你那系统,‘智云管家’,我听说最近在几个展会上露脸了。”薛学仁慢慢说,“赵振华到处吹,说是他们技术团队三年的心血。”

我握紧了手机。

“薛老师,那系统……”

“我知道是你做的。”他打断我,“去年喝茶时你给我看过架构图,还记得吗?当时我说,里面那套缓存预测算法有意思,像是从你硕士课题里深化出来的。”

我呼吸一滞。

“小程啊。”薛学仁叹了口气,“代码写在哪儿,不重要。重要的是,思路从哪儿来,证据在哪儿留。”

挂了电话,我对着电脑发呆。

曼妮轻手轻脚走过来,递了杯热牛奶。“薛老师说什么?”

我接过牛奶,温度透过杯子传到掌心。

“他提醒我一件事。”我转向曼妮,“你学法律的,帮我分析分析。”

我打开云端,调出原型代码和笔记扫描件。

又翻出入职合同,指着知识产权条款那一页。

最后打开手机,找到一年半前和导师的邮件往来,里面提到了算法思路。

曼妮看了很久。

台灯的光照在她侧脸上,睫毛投下浅浅的阴影。她抿着嘴唇,手指无意识地在法律条文上滑动。

“有点复杂。”她终于开口,“按合同,任职期间的成果确实归公司。但是——”

她抬头看我,眼睛很亮。

“如果这部分成果,是基于你入职前已经存在的个人成果发展而来的,那么这部分基础权利,可能还在你手里。关键是……怎么证明‘个人成果’的存在,以及和最终版本的关联性。”

“我有早期代码和笔记。”

不够。”曼妮摇头,“需要更完整的证据链。开发日志,版本迭代记录,最好还有第三方的时间戳证明。

我想了想,打开一个旧硬盘。

里面是我硕士期间的所有资料。

乱糟糟的文件夹,有论文草稿,有实验数据,还有一堆半成品的代码片段。

我翻找着,鼠标点击声在寂静的夜里格外清晰。

找到了。

一个名为“CachePredict”的文件夹,创建日期是三年零四个月前。

里面有个简陋的Python脚本,注释里写着:“尝试用马尔可夫链预测缓存命中率——程靖琪,硕士课题预研”。

我点开脚本。

代码只有两百行,但核心函数的逻辑,和现在“智云管家”里的缓存模块,有七成相似。

“这个行吗?”我把屏幕转向曼妮。

她凑近看了会儿,又拿起我的算法笔记对照。

笔记第三十七页,那个压力阈值公式下面,其实还有几行小字:“参考CachePredict思路,但需考虑分布式环境下的延迟问题……”

“有点意思。”曼妮坐直身体,“但还需要更多。比如,你是怎么把这个早期思路,一步步变成最终产品的。中间的所有修改、所有决策,最好都有记录。”

我靠在椅背上,望着天花板。

记录?

有的。

我有写开发日志的习惯,每天下班前简单记几笔:今天改了哪个模块,遇到什么问题,怎么解决的。

这些日志都存在个人笔记软件里,云端同步。

但入职后,尤其是项目后期,日志记得越来越潦草。

很多时候就一句话:“调试缓存模块,问题未解决,明日继续。”

曼妮看出我的犹豫:“不够详细?”

“嗯。”我揉了揉太阳穴,“当时太忙了,每天累得只想睡觉。”

“那就从现在开始补。”曼妮握住我的手,“把你能想起来的所有细节,全部写下来。时间,地点,当时怎么想的,为什么那么设计。尤其是那些和早期思路一脉相承的部分。”

“补这些有用吗?”

“不知道。”曼妮很诚实,“但做了,总比什么都不做强。”

她顿了顿,声音轻下来:“靖琪,我知道你现在最想的是找新工作。但这件事……如果我们能搞清楚,也许就不只是出口气那么简单。”

我看着她的眼睛。

“你是说……”

“我是说,”曼妮一字一句,“如果那些代码里,真的有一部分永远属于你,那谁也不能白拿。”

窗外夜深了。

我重新打开文档,光标在空白处闪烁。第一行该写什么?我想了想,敲下日期。

一年零十个月前。

那天我正式接手“智云管家”项目,赵振华拍着我肩膀说:“小程,公司未来就靠你了。

我信了。

04

补日志是个苦活儿。

记忆像浸了水的纸,捞起来时总黏连不清。

我拼命回想:那次缓存模块大改是因为什么?

哦,是客户临时要求支持高并发,原有架构撑不住。

我熬了三个通宵,最后用了早期“CachePredict”里的动态预测思路,但加了分布式锁机制。

这个决策有邮件记录吗?

我翻遍邮箱,只找到一封当时发给测试组的通知:“缓存模块已更新,请重点压测。”没提技术细节。

曼妮周末陪我去学校图书馆。

她查知识产权判例,我翻硕士期间的实验记录。

打印纸堆了半张桌子,空气里都是旧书的灰尘味。

旁边坐着备考的学生,偶尔投来烦躁的目光——我们翻纸的声音太吵了。

“找到了。”曼妮忽然压低声音。

她把笔记本转过来给我看。

屏幕上是某个判例的摘要:某程序员离职后,起诉前公司侵犯其软件著作权。

法院认定,软件中部分核心算法系该程序员入职前独立开发,有早期代码及论文为证。

最终判决该部分著作权归属程序员个人,公司需赔偿并停止使用。

我盯着判决结果那行数字。

赔偿金额不小。

但这个案子……”我仔细看案情细节,“程序员在职期间,就把早期代码的权属问题明确跟公司提过,还签过补充协议。

“我们没签过。”曼妮合上电脑,“但我们有早期代码,有时间戳,有开发日志——虽然不完整。更重要的是……”

她看向我。

“我们有时间。”

时间。三个月过去了。

我投的简历渐渐有回音,面试了几家,但开的薪水都比之前低三成。

有家创业公司倒是大方,但要求立刻入职,并签下“一切成果归公司所有”的条款。

我看着那行字,眼前闪过赵振华的脸。

“我再考虑考虑。”我说。

走出写字楼时,天阴着。手机震了,是徐鹤轩。我们很久没联系了,他怎么会打来?

我接起。

“师父。”他声音有点虚,“那个……您最近忙吗?”

“找工作,不算忙。”我走到路边长椅坐下,“有事?”

电话那头支吾了几秒。

“就是,系统最近老出小毛病。缓存那块,有时候会莫名其妙清空,客户那边投诉了好几次。”徐鹤轩语速加快,“我查了日志,但看不懂您当年写的那个预测逻辑……师父,您方便的话,能不能简单指点我一下?就十分钟!”

我握紧手机。

风吹过来,卷起地上的落叶。

“小徐。”我慢慢说,“我已经离职了。”

“我知道我知道!但就这一次,我实在没辙了……”他声音里带着恳求,“赵总天天催,说客户要撤单了。师父,您帮帮我,我……我请您吃饭!不,我给您咨询费!”

我闭上眼。

眼前是办公室的玻璃墙,赵振华端茶杯的样子。是冯秀文递来的解雇通知。是雨夜里湿透的纸箱。

咨询费?”我笑了声,“赵振华知道你给我打电话吗?

电话那头瞬间安静。

过了很久,徐鹤轩才低声说:“他不知道。师父,您别跟他说……我就是,就是快扛不住了。”

我睁开眼,看着灰蒙蒙的天。

“压力阈值的公式,在我笔记第三十七页。”我平静地说,“缓存预测的逻辑,是基于马尔可夫链的,但加了个动态衰减因子。具体参数,在第四十二页的实验数据表里。你看完还不懂,就自己翻书去。”

“师父……”

“另外,”我打断他,“系统里有个手动重置模块,每七天要操作一次。上次重置是多久前,你自己查日志。”

“什么重置模块?”徐鹤轩声音变了,“我怎么不知道?”

“因为我没来得及写进文档。”我站起身,“小徐,祝你好运。”

挂了电话,我站在原地。

手心有汗。

刚才那瞬间,我几乎要脱口而出:密钥是什么,怎么重置。但我咬住了。不能说。不是狠心,是不能。

曼妮说得对,有些东西,给出去了就再也拿不回来。

回到家,我把这件事告诉曼妮。她正在整理我补写的开发日志,厚厚一沓纸铺满了餐桌。

“他真打来了?”曼妮放下笔。

嗯。”我倒了杯水,“听起来挺惨的。

“你心软了?”

我喝水,没回答。

曼妮走过来,从背后抱住我。

她把脸贴在我背上,声音闷闷的:“靖琪,我知道你是什么样的人。当年徐鹤轩刚进公司,什么都不会,是你手把手教的。你现在不帮他,心里肯定难受。”

我放下杯子。

“但难受也得忍着。”曼妮收紧手臂,“这不是帮不帮的问题。这是界限。你现在帮他一次,他下次还会找你。赵振华如果知道了,会觉得你好拿捏,以后更肆无忌惮地用人家的东西。”

她松开我,转到面前,仰头看我。

“你得让他们痛一次。”她眼睛亮得惊人,“痛到明白,那些代码不是天上掉下来的,是有人熬了无数个夜,一点一点攒出来的。用了,就得付代价。”

代价。

我想起薛学仁昨天电话里说的话。

老头帮我梳理了证据链,建议我先申请软件著作权登记。

“不管将来用不用得上,先把名分定下来。那套缓存预测算法,既然早期版本在你手里,就把它单独打包,申请软著。”

我照做了。

材料递上去那天,我在知识产权局的走廊里坐了很久。

阳光透过玻璃窗照进来,光里有灰尘飞舞。

前面排队的有个大学生,在给手机APP登记;后面是个中年人,抱着一摞图纸。

每个人手里,都捧着点什么东西。

可能是心血,可能是希望,可能只是赌一把。

轮到我了。窗口工作人员接过材料,熟练地翻看。“程靖琪……‘智能缓存预测算法V1.0’……嗯,材料齐全。登记费五百。”

我扫码付款。

回执单打印出来,薄薄一张纸。我捏着它走出大楼,风吹得纸边哗啦响。曼妮在门口等我,接过回执看了眼,小心地折好放进包里。

“第一步。”她说。

“嗯。”我回头看了眼大楼,“不知道有没有第二步。”

那时候我还不知道,第二步会来得那么快。

打开网易新闻 查看精彩图片

05

软著证书寄到家那天,正好是我失业的第四个月。

红彤彤的封皮,里面印着我的名字和算法名称。曼妮把它摆在书架最显眼的位置,和她的法律职业资格证并排。

“像个纪念品。”我说。

“是武器。”曼妮纠正我,“只是现在还没开刃。”

武器。

我咀嚼着这个词。

从小到大,我习惯用代码解决问题。

代码是讲逻辑的,对就是对,错就是错。

但人和人之间不是。

赵振华开除我,不是因为代码错了,是因为我“破坏了规则”。

规则是人定的。

而人,会变。

徐鹤轩后来又打过两次电话。

一次是问数据库锁的配置,一次是问日志解析脚本。

我没再提咨询费的事,但也没细说,只给了关键词让他自己查。

他每次都说谢谢,语气一次比一次疲惫。

第三次时,他忽然说:“师父,系统可能要重写了。”

我正在调试新写的代码——基于那套缓存算法,我开发了一个独立插件,可以无缝对接各种现有系统。听到这句,我手指停在键盘上。

“为什么?”

架构太老了。”徐鹤轩声音沙哑,“客户现在都要微服务,要容器化,咱这系统还是单体架构,维护起来要命。赵总想升级,但……动不了。

“哪里动不了?”

“核心模块一改就崩。”他苦笑,“尤其是您写的缓存那块,跟整个系统耦合得太深了。我试着抽离过,但一拆,性能直接掉一半。客户不干。”

我盯着屏幕上的插件代码。

这几个月,我一边补日志,一边重构早期算法。

剥离了和“智云管家”强绑定的部分,做成标准化接口。

测试数据显示,性能比原版提升了百分之三十。

但我没说。

“赵振华什么态度?”我问。

“还能什么态度?天天骂人呗。”徐鹤轩压低声音,“师父,我跟您说个事……赵总最近在接触其他技术团队,想找人重做系统。但报价都高得吓人,最低的一家也要八百万。”

八百万。

我算了算。

当年我做“智云管家”,算上我的工资和服务器成本,赵振华总投入不超过一百万。

现在他宁愿花八百万重做,也不愿意……不愿意什么?

不愿意找我?

或者,他根本没想到我。

“小徐。”我忽然问,“系统现在每天支撑多少交易量?”

他报了个数。比去年翻了三倍。

客户有增无减。”徐鹤轩叹气,“所以赵总更不敢大动,怕出问题。就这么拖着,缝缝补补。

挂了电话,我打开行业论坛。

搜索“智云管家”,跳出来不少帖子。

有夸系统稳定的,有骂界面老土的,还有几个技术帖在讨论它的缓存机制。

我点开最热的一个,楼主详细分析了缓存预测的逻辑,最后结论是:“设计很精妙,但扩展性差,像是闭门造车的产物。”

下面有人跟帖:“听说核心程序员早离职了,现在维护的人根本不敢动代码。”

再往下翻,我看到个熟悉的ID。

陈总。

不是真名,是论坛里的昵称。

但这人我认识——另一家SaaS公司的老板,跟赵振华是死对头。

他在那个技术帖下回复:“架构确实落后了。现在行业都在推新标准,搞开放接口。封闭系统活不长。”

下面有人@他:“陈总有好方案?”

他回了个笑脸:“正在研发。

我盯着那三个字,心里一动。

关闭网页,我继续写插件。键盘敲击声在安静的房间里回荡,像心跳。曼妮今晚加班,家里只有我和那盆仙人掌。它长大了点,刺更密了。

十一点,曼妮回来,带了一身寒气。

怎么还没睡?”她脱外套。

“等你。”我保存代码,起身去热汤,“今天律所忙?”

“嗯,有个知识产权案子,吵了一下午。”她瘫在沙发上,闭着眼,“甲方咬死算法是他们团队集体成果,乙方说是核心员工个人发明……争来争去,都是钱的事。”

我把汤端过来。

曼妮坐起身,小口喝着。热气氤氲在她脸上,显得很疲惫。

“曼妮。”我坐在她旁边,“如果……我是说如果,我想主动联系陈总,你怎么看?”

她动作停住。

“那个跟赵振华不对付的陈总?”

“对。”我盯着汤碗,“他在论坛暗示有新方案。我猜,他要么在挖人,要么在找现成的技术。我的插件……也许他感兴趣。”

曼妮放下碗,抽了张纸巾擦嘴。

她没立刻回答,而是看着窗外。夜色浓稠,远处写字楼的灯光零星亮着。

“风险很大。”她终于说,“第一,陈总不一定信你。第二,就算信了,他可能会压价,或者套出技术细节后甩开你。第三……”

她转向我。

“赵振华如果知道了,可能会告你泄露商业机密。虽然你的插件是基于个人早期成果,但毕竟和‘智云管家’有渊源,打起官司来很麻烦。”

“我知道。”

“那为什么还想做?”

我靠在沙发背上,天花板上的灯有些晃眼。

“因为这四个月,我一直在躲。”我慢慢说,“躲赵振华,躲过去,躲得都快忘了自己当初为什么要写那些代码。我不是为了被他开除才写的。我是真的觉得……那套算法能解决问题。”

曼妮握住我的手。

她的手很暖。

“那就去做。”她声音很轻,“但别急。等个时机。”

时机很快就来了。

一周后,行业峰会召开。

赵振华的公司有展台,宣传册上“智云管家”还是C位。

陈总的公司展台就在斜对面,人流量明显更多。

我在论坛看到消息,匿名注册了参会资格。

那天我穿了件普通的衬衫,戴了顶帽子,混在人群里。

赵振华亲自在展台接待客户,西装笔挺,笑容满面。

他指着一块大屏幕,上面滚动着系统实时数据。

“我们的缓存命中率保持在百分之九十五以上,业内顶尖。”

有客户问:“听说你们核心架构师离职了?”

赵振华笑容不变:“团队很完整,技术迭代一直在进行。很快会有大版本更新。”

我在心里冷笑。

更新?徐鹤轩连小修小补都吃力。

转身走向陈总的展台。他们展示的是一个新平台概念,讲“开放、模块化、生态”。陈总本人没在,负责讲解的是个年轻技术总监。

我凑近听了会儿,抓住一个空隙提问:“你们的缓存模块,怎么解决分布式环境下的预测不准问题?”

技术总监看了我一眼。

“我们用了自研的智能算法,可以动态学习业务特征。”

“基于马尔可夫链?”

他愣了下:“呃……有类似思想,但做了优化。”

“优化方向是加了衰减因子,还是引入外部特征?”我追问。

技术总监眼神变了。他打量着我,犹豫几秒,然后说:“这位老师,有兴趣私下聊吗?”

我压了压帽檐。

好啊。

我们在展台后面的休息区坐下。他递来名片,姓李。我接过,没给名片,只说:“我姓程,做算法的。

聊了二十分钟。

我说的全是技术细节,没提“智云管家”,没提赵振华。但李总监显然听懂了弦外之音。他最后问:“程老师,您这些想法……有落地产品吗?”

“有Demo。”

“方便看看吗?”

我拿出平板,打开插件的测试界面。数据跑起来,性能指标一条条跳出来。李总监盯着屏幕,呼吸渐渐变重。

“这是您独立开发的?”

“对。”

“产权清晰吗?”

我抬眼看他:“申请了软著,证书在家里。”

李总监沉默了很久。他拿出手机,发了条消息。几分钟后,他抬头:“程老师,我们陈总想跟您见一面。今晚,方便吗?”

我看了眼赵振华的展台。

他还在笑,还在讲。屏幕上的数据依旧漂亮,像一座没裂缝的完美雕塑。

“方便。”我说。

06

和陈总见面约在一家茶馆包厢。

他比论坛头像上老一点,四十多岁,穿Polo衫,手里盘着串沉香木珠子。见我进来,他起身握手,力道很足。

程老师,久仰。”他笑,“小李跟我说了,您那套算法不得了。

“陈总客气。”我坐下,“只是些个人兴趣。”

“兴趣能做成这样,更是天才。”他给我倒茶,动作慢条斯理,“不瞒您说,我盯‘智云管家’盯了两年。赵振华那人,做生意还行,做技术……呵呵。他那套系统,内核其实很值钱,就是被他做死了。”

我端起茶杯,没接话。

“我本来想挖他技术团队的人。”陈总靠在椅背上,“但奇怪,核心人员好像早走了。剩下的人,问什么都支支吾吾。后来我才听说——”

他看着我。

“是被开掉的。因为迟到一分钟。”

茶馆里很安静,古筝曲子若有若无。我放下茶杯,陶瓷磕在木桌上,轻轻一声。

“陈总消息很灵通。”

“干这行,消息不灵通早死了。”他笑,眼里没笑意,“所以程老师,您今天找我,是想……合作?”

“看陈总需要什么。”

“我需要一个能打的产品。”他身体前倾,“明年行业要出新标准,接口全部开放。赵振华那套封闭系统,必死无疑。谁能先做出符合新标准的方案,谁就能吃下大半市场。”

他从包里拿出份文件,推过来。

是行业新标准的草案稿,厚厚一沓。

我翻开,快速浏览关键部分。

果然,缓存交互协议、数据格式、扩展接口……全都变了。

现有的系统要适配,几乎等于重写。

但我的插件……

我心跳快了几拍。

插件设计时,我刻意用了模块化思路,接口可配置。当时只是出于技术洁癖,没想到撞上了新标准。

“程老师。”陈总敲了敲文件,“您的Demo我看了,性能很强。但如果要对接新标准,改动大不大?”

我合上文件。

“不大。”我说,“核心算法不动,只改接口层。两周能出适配版本。”

陈总眼睛亮了。

“两周?确定?”

“确定。”我顿了顿,“但陈总,合作之前,有些事得说清楚。”

“您讲。”

第一,这套算法的核心知识产权在我手里,软著证书齐全。合作可以是授权,不能是买断。

陈总点头:“合理。”

“第二,授权范围、期限、费用,得白纸黑字写清楚。”

“这是自然。”他笑,“我做事喜欢先小人后君子。”

“第三……”我直视他,“我目前和前公司还有法律上的模糊地带。虽然算法是我的早期成果,但毕竟被他们用了三年。如果合作,可能会引发纠纷。”

陈总笑容淡了。

他盘珠子的手停下来,沉思片刻。

“程老师,您跟我说实话。”他缓缓道,“您觉得,赵振华现在知道您手上有这东西吗?”

“应该不知道。”

“那您觉得,如果他知道了,是会跟您打官司,还是……坐下来谈?”

我没回答。

陈总自己接下去:“我了解赵振华。他这人,面上讲规则,骨子里其实最怕风险。打官司耗时耗力,还影响公司声誉。尤其现在,他系统快撑不住了,客户等着新方案。这个时候,他赌不起。”

他喝了口茶。

“所以我觉得,他更可能选第二条路——坐下来谈。当然,前提是,他必须明白,您手里有他不得不谈的筹码。”

筹码。

我的插件是筹码,新标准的时间窗口是筹码,陈总这个潜在竞争对手……也是筹码。

程老师。”陈总放下茶杯,“您如果愿意,我们可以签个初步意向。您把插件适配新标准,我提供测试环境和资源。做好了,我们按市场价谈授权。至于赵振华那边……

他笑了笑。

“等您准备好了,我这边可以适当放点风声。给他点压力。”

我看着他的眼睛。

生意人的眼睛,精明,算计,但也坦诚——坦诚地告诉你,我就是想赚钱,但我们可以一起赚。

“我需要考虑。”我说。

“当然。”陈总递来名片,“随时联系。”

走出茶馆,夜风吹过来。

我站在路边,看着车流。手机震了,是徐鹤轩。这次不是电话,是微信消息,很长一段:“师父,出事了。系统今天下午崩了半小时,三个大客户投诉。赵总发飙了,说下周再不解决,整个技术部滚蛋。我查了日志,是那个重置模块到期了,但我找不到密钥……师父,求您了,最后一次,告诉我密钥吧。我快被逼疯了。”

我盯着屏幕。

光标在输入框里闪烁。

我能想象徐鹤轩现在的样子,抓着头皮,眼睛通红,对着看不懂的代码干瞪眼。

也许赵振华就在他身后骂,冯秀文冷着脸记录。

密钥是什么?

很简单,八个数字加我名字的拼音首字母。当年随手设的,为了方便记。

打出来,删掉。

再打出来,再删掉。

最后我回:“密钥在我离职那天就失效了。现在系统里的是自动续期机制,但如果底层时间同步出问题,会触发锁死。让你查日志,查了吗?”

过了五分钟,徐鹤轩回:“查了!时间同步确实有偏差!那……那怎么办?”

“两个办法。”我打字,“一,修复时间同步服务。二,重写重置模块。”

“重写?!”徐鹤轩发来个崩溃的表情,“师父,那模块跟系统核心绑死了,我动不了啊!”

那就修复时间服务。

“我不会……”

我没再回。

关了手机,往家走。路上经过一家还在营业的水果店,我进去买了盒草莓。曼妮爱吃。

回到家,她正在看合同草案。抬头见我,笑:“谈得怎么样?”

陈总想合作。”我洗了草莓,递给她一颗,“但我没马上答应。

“谨慎点好。”曼妮咬了口草莓,“对了,刚才薛老师来电话,说专利申请有进展了,让你下周去补个材料。”

我嗯了声。

曼妮看着我:“你好像有心事。”

“徐鹤轩又找我了。”我坐到她旁边,“系统崩了,因为重置模块。”

曼妮动作停住。

“你……没帮他吧?”

“没有。”我靠在她肩上,“但我在想,赵振华现在应该很着急。系统崩了,客户投诉,徐鹤轩搞不定……他会不会,终于要低头了?”

曼妮放下草莓,握住我的手。

她的手心有薄汗。

“靖琪。”她轻声说,“如果赵振华真的找上门,你打算怎么办?”

我想了很久。

窗外有车灯划过,光影在墙上流动。

“我不知道。”我诚实地说,“可能会紧张,可能会生气,可能……会笑。”

“笑?”

“嗯。”我闭上眼,“笑他终于也有今天。”

曼妮没说话,只是更紧地握住我的手。

那一夜我睡得不安稳。

梦里全是代码。

绿色的数据流变成藤蔓,缠住我的手脚。

赵振华站在高处,端着茶杯说:“规则就是规则。”然后藤蔓突然断裂,他掉下来,茶杯摔得粉碎。

惊醒时天还没亮。

曼妮在旁边熟睡,呼吸均匀。我轻轻起身,走到书房,打开电脑。

屏幕上,插件的性能测试报告静静躺着。

各项指标都远超行业平均水平。适配新标准的接口层代码,我已经写了一半。

我新建了一个文档。

标题是:谈判要点。

第一行写:算法产权归属(软著、专利、早期证据链)。

第二行:三年无偿使用事实(服务器日志可证明)。

第三行:系统当前危机(重置模块、架构老化、新标准压力)。

第四行:替代方案(我的插件、陈总意向)。

第五行……

我停住。

第五行该写什么?报价?情绪发泄?还是沉默?

光标闪烁,像心跳。

最后我打下:主动权在我。不急。

保存文档,加密。

窗外天色渐亮,鸟开始叫。我关掉电脑,回到床上。曼妮迷迷糊糊翻身,钻进我怀里,呢喃了句什么。

我没听清。

但抱紧了她。

打开网易新闻 查看精彩图片

07

赵振华找上门,是在一个周四下午。

那天下雨,和一年前我被开除那天的雨很像。我正在家调试插件最后一段接口代码,门铃响了。

透过猫眼,我看见他。

赵振华老了点。头发梳得整齐,但鬓角白了些。西装有点皱,手里提着个果篮,站在楼道里,背挺得笔直,但眼神里有藏不住的疲惫。

我打开门。

“赵总。”我说,“稀客。”

他挤出笑:“小程,好久不见。”

我没让开:“有事吗?”

“能进去说吗?”他看了眼我身后,“就几分钟。”

我沉默几秒,侧身:“鞋套在门口。”

他弯腰穿鞋套,动作有点笨拙。进屋后,他把果篮放在茶几上:“一点心意。听说你结婚了?恭喜。”

“还没结。”我给他倒了杯水,“在准备。”

“哦哦,好事,好事。”他接过水,没喝,放在手里转。

客厅不大,沙发旧了,但干净。书架上摆着我和曼妮的书,最显眼的位置是软著证书和专利受理通知书。赵振华的目光扫过那里,停了一瞬。

我坐下,等他开口。

雨声淅沥,时钟滴答。

“小程啊。”他终于开口,“这一年,过得怎么样?”

“还行。”

“找到工作了吗?”

暂时没找。”我看着他,“在弄自己的东西。

赵振华点点头,手指摩挲着玻璃杯。他嘴唇动了动,像在斟酌词句。这个曾经在我面前颐指气使的男人,现在像个第一次面试的毕业生。

“其实今天来……”他深吸口气,“是想请你帮个忙。”

我没说话。

“公司那边,系统出了点问题。”他语速加快,“缓存老出毛病,最近还崩了一次。小徐——就是徐鹤轩,你徒弟——他搞不定。所以我想……”

他停下来,看我反应。

我端起自己的水杯,喝了口水。

赵总。”我放下杯子,