雨砸在办公楼玻璃上,模糊了整座城市。我冲进公司时,前台电子钟刚好跳到九点零一分。
头发滴着水,鞋子里都是。
赵振华站在我工位旁,手指敲了敲桌面:“程靖琪,你迟到了。”
“赵总,路上堵死了,雨太大……”
“公司规定九点整。”他打断我,语气像在念规章制度条文,“你负责的‘智云管家’今天上午十点要交付给客户演示,现在还剩五十八分钟。”
冯秀文从旁边递来一张纸,脸上没什么表情。
是解雇通知。
我盯着那行“因漠视公司纪律”,喉咙发干:“系统只有我能维护,现在……”
“地球离了谁都转。”赵振华把通知往前推了推,“收拾东西吧。”
那场雨下了三年。
他们用着我留下的系统赚了三年钱。
直到今天,赵振华坐在我对面,茶杯在他手里转了三圈也没喝。系统崩了,客户在砸门,而他终于发现——有些东西,离了我,还真转不动。
“小程,”他挤出笑,“咱们聊聊?”
我给他续了茶,热气模糊了镜片。
“好啊赵总。”我摘下眼镜擦了擦,“先聊聊,这三年‘免费用’的租金。”
01
雨还在下。
我站在工位前,身上湿透的衬衫贴着背,有点冷。
冯秀文递过来一个纸箱,空的那种,边角都裁得整整齐齐。
她说:“私人物品,半小时内清理完毕。公司物品,请自觉留下。”
我看了眼电脑屏幕。
“智云管家”的后台界面还开着,绿色数据流安静地滚动。
这是我花了十一个月做出来的东西,从架构到代码,每一行都熬过夜。
上周赵振华还在会上说,这是公司明年冲击市场的王牌。
现在王牌还在,打牌的人要被踢出去了。
“源代码呢?”我没动。
“公司资产。”赵振华已经转身往办公室走,声音飘过来,“你签的合同里写得很清楚,任职期间开发的一切成果,归公司所有。”
我想争辩。
但嘴唇动了动,没发出声音。合同确实签了,那时候我刚毕业,看见月薪一万二就赶紧按了手印。条款?谁仔细看条款。
徐鹤轩从隔壁工位探出头,眼神躲闪。
他是我招进来的徒弟,基础还行,就是缺股狠劲。我冲他招手,他磨蹭着过来。
“后台监控模块的日志路径,记得吗?”
他摇头。
“数据库压力阈值设了多少?”
他又摇头。
我叹了口气,抓过键盘。指尖刚碰到按键,冯秀文的手就按在了我手腕上。很轻,但透着不容置疑的力道。
“程先生,”她改了口,“请遵守离职流程。”
我抽回手。
纸箱放在桌上,我开始收拾。
抽屉里有半盒润喉糖,曼妮买的,说我老加班嗓子哑。
有本翻毛了的算法笔记,从大学跟到现在。
有个小小的盆栽,仙人掌,居然还活着。
电脑没关。
我故意没关。赵振华办公室的玻璃墙反射着屏幕的光,我能看见他坐在里面打电话,脸上有笑。他在跟客户聊“智云管家”的演示,语气自信满满。
他不知道,或者说不在乎——系统里埋了个定时检查模块,每隔七天需要手动重置一次密钥。上次重置是五天前。
还有两天。
我把仙人掌放进纸箱,抱起箱子。经过徐鹤轩时,他小声说:“师父,那个压力阈值……”
“自己翻我笔记。”我没停步,“第三十七页。”
走到门口,我回头看了眼办公室。
所有人都低着头,键盘声噼里啪啦。没人看我,就像我从没来过。玻璃墙里,赵振华挂了电话,端起茶杯喝了一口。
雨声被隔绝在外。
世界很安静。
02
电梯降到一楼,雨还没停。
我没带伞,抱着纸箱站在檐下。手机震了,是曼妮:“怎么样?迟到这么久,挨骂了吧?晚上给你炖汤压压惊。”
我盯着屏幕,手指悬在键盘上。
不知道该打什么。
最后回了句:“被开了。”
电话秒打过来。曼妮的声音急吼吼的:“什么?就因为迟到?一分钟?他们疯了吧!你等着,我请假过来!”
“别来。”我看着雨幕,“来了也没用。”
“那也不能……”
“合同写了,迟到三次或严重违纪,公司可单方面解约。”我背出条款,“我是第三次。”
电话那头沉默了几秒。
“前两次都是因为项目紧急,你通宵加班第二天睡过头!”曼妮声音发颤,“这算什么违纪?他们讲不讲理?”
我扯了扯嘴角。
讲理?赵振华最常说的话就是:“公司不是讲理的地方,是讲规则的地方。”规则是他定的,解释权在他手里。
挂了电话,我冲进雨里。
纸箱被淋湿了,底部开始发软。
我护着它跑到地铁站,衣服又湿了一层。
车厢里人挤人,有个小孩盯着我纸箱里的仙人掌看,伸手想摸,被他妈拽回去了。
到家推开门,暖气混着饭菜香。
曼妮还是回来了。她系着围裙从厨房出来,看见我一身狼狈,眼圈立刻红了。但她没哭,接过纸箱放在地上,转身去拿毛巾。
“先洗澡。”她推我进卫生间,“别感冒。”
热水冲下来的时候,我才开始发抖。
不是冷,是后怕。房租下个月要交,曼妮读在职法硕的学费还没凑够,我妈前两天打电话说家里冰箱坏了……工作没了,这些怎么办?
洗完澡出来,曼妮已经摆好饭菜。
两菜一汤,很简单。她盛了碗汤推过来:“趁热喝。”
我端起碗,手还在抖。
“程靖琪。”曼妮放下筷子,看着我,“你跟我说实话,除了迟到,还有别的事吗?是不是跟赵振华吵架了?还是项目出了岔子?”
我摇头。
“那为什么非要今天开除你?明知道十点有演示……”她忽然停住,眼睛睁大,“演示!对了,系统怎么办?离了你他们能搞定?”
“徐鹤轩在。”
“他?”曼妮皱眉,“你去年才带他,核心模块他碰都没碰过吧?”
我没说话,低头喝汤。
汤很鲜,但喝不出味道。
脑子里全是后台界面,绿色数据流,还有那个倒计时两天的手动重置模块。
赵振华知道吗?
他可能不知道。
冯秀文肯定不知道。
徐鹤轩……他也许翻到笔记了,也许没翻到。
“曼妮。”我放下碗。
“嗯?”
“我电脑没关。”我看着桌上的仙人掌,刺上还挂着水珠,“系统后台一直开着。”
曼妮愣了下,随即明白了:“他们……会继续用?”
“合同说成果归公司所有。”我扯了扯嘴角,“他们当然会用。”
“可那是你……”
“我的代码,我的架构,我熬的夜。”我打断她,声音有点哑,“但现在法律上,是公司的资产。”
曼妮沉默了很久。
她起身去厨房,又端了盘水果出来。切好的苹果,插着牙签。她坐回我身边,肩膀轻轻挨着我。
“先吃饭。”她声音很轻,“明天……明天我们再想。”
夜里我睡不着。
手机屏幕在黑暗里亮着,我打开云端备份。
那里有“智云管家”最早期的版本,当时还没进公司,是我在出租屋里瞎琢磨的原型。
代码很粗糙,但核心算法的思路已经在了——多层缓存机制,动态负载预测,还有那个后来被赵振华吹上天的“智能决策树”。
这些,是在入职前就有的。
我坐起身,打开台灯。从箱子里翻出那本算法笔记,一页页翻。第三十七页,压力阈值的计算公式旁边,有我随手画的架构草图。
草图角落,有个小小的日期戳。
一年半前。
那时我还没毕业,这是硕士课题的初步构想。导师还批注:“想法不错,可深入。”
我盯着那个日期,心跳有点快。
03
接下来一周,我投了二十七份简历。
石沉大海。
有两家约了面试,聊到项目经验时,我提到“智云管家”。对面HR眼睛亮了,细问技术细节。我讲到一半,忽然停住。
“这部分涉及前公司的商业机密。”我说。
HR笑容淡了:“理解,理解。”
然后就没然后了。
曼妮每天下班回来,第一件事就是看我脸色。我努力装得正常,做饭,洗碗,刷招聘网站。但夜里她睡着后,我会偷偷爬起来,坐在电脑前。
不是写简历。
是打开那个原型代码,一行行看。
薛学仁的电话是第八天打来的。他是我硕士导师的朋友,退休的技术大牛,现在偶尔接点专利顾问的活儿。老头说话直:“小程,听说你被开了?”
“薛老师您消息真灵通。”
“赵振华那小子,当年我就看他不实在。”薛学仁哼了声,“怎么样,接下来打算?”
我苦笑:“找工作呗。”
电话那头沉默了下。
“你那系统,‘智云管家’,我听说最近在几个展会上露脸了。”薛学仁慢慢说,“赵振华到处吹,说是他们技术团队三年的心血。”
我握紧了手机。
“薛老师,那系统……”
“我知道是你做的。”他打断我,“去年喝茶时你给我看过架构图,还记得吗?当时我说,里面那套缓存预测算法有意思,像是从你硕士课题里深化出来的。”
我呼吸一滞。
“小程啊。”薛学仁叹了口气,“代码写在哪儿,不重要。重要的是,思路从哪儿来,证据在哪儿留。”
挂了电话,我对着电脑发呆。
曼妮轻手轻脚走过来,递了杯热牛奶。“薛老师说什么?”
我接过牛奶,温度透过杯子传到掌心。
“他提醒我一件事。”我转向曼妮,“你学法律的,帮我分析分析。”
我打开云端,调出原型代码和笔记扫描件。
又翻出入职合同,指着知识产权条款那一页。
最后打开手机,找到一年半前和导师的邮件往来,里面提到了算法思路。
曼妮看了很久。
台灯的光照在她侧脸上,睫毛投下浅浅的阴影。她抿着嘴唇,手指无意识地在法律条文上滑动。
“有点复杂。”她终于开口,“按合同,任职期间的成果确实归公司。但是——”
她抬头看我,眼睛很亮。
“如果这部分成果,是基于你入职前已经存在的个人成果发展而来的,那么这部分基础权利,可能还在你手里。关键是……怎么证明‘个人成果’的存在,以及和最终版本的关联性。”
“我有早期代码和笔记。”
“不够。”曼妮摇头,“需要更完整的证据链。开发日志,版本迭代记录,最好还有第三方的时间戳证明。”
我想了想,打开一个旧硬盘。
里面是我硕士期间的所有资料。
乱糟糟的文件夹,有论文草稿,有实验数据,还有一堆半成品的代码片段。
我翻找着,鼠标点击声在寂静的夜里格外清晰。
找到了。
一个名为“CachePredict”的文件夹,创建日期是三年零四个月前。
里面有个简陋的Python脚本,注释里写着:“尝试用马尔可夫链预测缓存命中率——程靖琪,硕士课题预研”。
我点开脚本。
代码只有两百行,但核心函数的逻辑,和现在“智云管家”里的缓存模块,有七成相似。
“这个行吗?”我把屏幕转向曼妮。
她凑近看了会儿,又拿起我的算法笔记对照。
笔记第三十七页,那个压力阈值公式下面,其实还有几行小字:“参考CachePredict思路,但需考虑分布式环境下的延迟问题……”
“有点意思。”曼妮坐直身体,“但还需要更多。比如,你是怎么把这个早期思路,一步步变成最终产品的。中间的所有修改、所有决策,最好都有记录。”
我靠在椅背上,望着天花板。
记录?
有的。
我有写开发日志的习惯,每天下班前简单记几笔:今天改了哪个模块,遇到什么问题,怎么解决的。
这些日志都存在个人笔记软件里,云端同步。
但入职后,尤其是项目后期,日志记得越来越潦草。
很多时候就一句话:“调试缓存模块,问题未解决,明日继续。”
曼妮看出我的犹豫:“不够详细?”
“嗯。”我揉了揉太阳穴,“当时太忙了,每天累得只想睡觉。”
“那就从现在开始补。”曼妮握住我的手,“把你能想起来的所有细节,全部写下来。时间,地点,当时怎么想的,为什么那么设计。尤其是那些和早期思路一脉相承的部分。”
“补这些有用吗?”
“不知道。”曼妮很诚实,“但做了,总比什么都不做强。”
她顿了顿,声音轻下来:“靖琪,我知道你现在最想的是找新工作。但这件事……如果我们能搞清楚,也许就不只是出口气那么简单。”
我看着她的眼睛。
“你是说……”
“我是说,”曼妮一字一句,“如果那些代码里,真的有一部分永远属于你,那谁也不能白拿。”
窗外夜深了。
我重新打开文档,光标在空白处闪烁。第一行该写什么?我想了想,敲下日期。
一年零十个月前。
那天我正式接手“智云管家”项目,赵振华拍着我肩膀说:“小程,公司未来就靠你了。”
我信了。
04
补日志是个苦活儿。
记忆像浸了水的纸,捞起来时总黏连不清。
我拼命回想:那次缓存模块大改是因为什么?
哦,是客户临时要求支持高并发,原有架构撑不住。
我熬了三个通宵,最后用了早期“CachePredict”里的动态预测思路,但加了分布式锁机制。
这个决策有邮件记录吗?
我翻遍邮箱,只找到一封当时发给测试组的通知:“缓存模块已更新,请重点压测。”没提技术细节。
曼妮周末陪我去学校图书馆。
她查知识产权判例,我翻硕士期间的实验记录。
打印纸堆了半张桌子,空气里都是旧书的灰尘味。
旁边坐着备考的学生,偶尔投来烦躁的目光——我们翻纸的声音太吵了。
“找到了。”曼妮忽然压低声音。
她把笔记本转过来给我看。
屏幕上是某个判例的摘要:某程序员离职后,起诉前公司侵犯其软件著作权。
法院认定,软件中部分核心算法系该程序员入职前独立开发,有早期代码及论文为证。
最终判决该部分著作权归属程序员个人,公司需赔偿并停止使用。
我盯着判决结果那行数字。
赔偿金额不小。
“但这个案子……”我仔细看案情细节,“程序员在职期间,就把早期代码的权属问题明确跟公司提过,还签过补充协议。”
“我们没签过。”曼妮合上电脑,“但我们有早期代码,有时间戳,有开发日志——虽然不完整。更重要的是……”
她看向我。
“我们有时间。”
时间。三个月过去了。
我投的简历渐渐有回音,面试了几家,但开的薪水都比之前低三成。
有家创业公司倒是大方,但要求立刻入职,并签下“一切成果归公司所有”的条款。
我看着那行字,眼前闪过赵振华的脸。
“我再考虑考虑。”我说。
走出写字楼时,天阴着。手机震了,是徐鹤轩。我们很久没联系了,他怎么会打来?
我接起。
“师父。”他声音有点虚,“那个……您最近忙吗?”
“找工作,不算忙。”我走到路边长椅坐下,“有事?”
电话那头支吾了几秒。
“就是,系统最近老出小毛病。缓存那块,有时候会莫名其妙清空,客户那边投诉了好几次。”徐鹤轩语速加快,“我查了日志,但看不懂您当年写的那个预测逻辑……师父,您方便的话,能不能简单指点我一下?就十分钟!”
我握紧手机。
风吹过来,卷起地上的落叶。
“小徐。”我慢慢说,“我已经离职了。”
“我知道我知道!但就这一次,我实在没辙了……”他声音里带着恳求,“赵总天天催,说客户要撤单了。师父,您帮帮我,我……我请您吃饭!不,我给您咨询费!”
我闭上眼。
眼前是办公室的玻璃墙,赵振华端茶杯的样子。是冯秀文递来的解雇通知。是雨夜里湿透的纸箱。
“咨询费?”我笑了声,“赵振华知道你给我打电话吗?”
电话那头瞬间安静。
过了很久,徐鹤轩才低声说:“他不知道。师父,您别跟他说……我就是,就是快扛不住了。”
我睁开眼,看着灰蒙蒙的天。
“压力阈值的公式,在我笔记第三十七页。”我平静地说,“缓存预测的逻辑,是基于马尔可夫链的,但加了个动态衰减因子。具体参数,在第四十二页的实验数据表里。你看完还不懂,就自己翻书去。”
“师父……”
“另外,”我打断他,“系统里有个手动重置模块,每七天要操作一次。上次重置是多久前,你自己查日志。”
“什么重置模块?”徐鹤轩声音变了,“我怎么不知道?”
“因为我没来得及写进文档。”我站起身,“小徐,祝你好运。”
挂了电话,我站在原地。
手心有汗。
刚才那瞬间,我几乎要脱口而出:密钥是什么,怎么重置。但我咬住了。不能说。不是狠心,是不能。
曼妮说得对,有些东西,给出去了就再也拿不回来。
回到家,我把这件事告诉曼妮。她正在整理我补写的开发日志,厚厚一沓纸铺满了餐桌。
“他真打来了?”曼妮放下笔。
“嗯。”我倒了杯水,“听起来挺惨的。”
“你心软了?”
我喝水,没回答。
曼妮走过来,从背后抱住我。
她把脸贴在我背上,声音闷闷的:“靖琪,我知道你是什么样的人。当年徐鹤轩刚进公司,什么都不会,是你手把手教的。你现在不帮他,心里肯定难受。”
我放下杯子。
“但难受也得忍着。”曼妮收紧手臂,“这不是帮不帮的问题。这是界限。你现在帮他一次,他下次还会找你。赵振华如果知道了,会觉得你好拿捏,以后更肆无忌惮地用人家的东西。”
她松开我,转到面前,仰头看我。
“你得让他们痛一次。”她眼睛亮得惊人,“痛到明白,那些代码不是天上掉下来的,是有人熬了无数个夜,一点一点攒出来的。用了,就得付代价。”
代价。
我想起薛学仁昨天电话里说的话。
老头帮我梳理了证据链,建议我先申请软件著作权登记。
“不管将来用不用得上,先把名分定下来。那套缓存预测算法,既然早期版本在你手里,就把它单独打包,申请软著。”
我照做了。
材料递上去那天,我在知识产权局的走廊里坐了很久。
阳光透过玻璃窗照进来,光里有灰尘飞舞。
前面排队的有个大学生,在给手机APP登记;后面是个中年人,抱着一摞图纸。
每个人手里,都捧着点什么东西。
可能是心血,可能是希望,可能只是赌一把。
轮到我了。窗口工作人员接过材料,熟练地翻看。“程靖琪……‘智能缓存预测算法V1.0’……嗯,材料齐全。登记费五百。”
我扫码付款。
回执单打印出来,薄薄一张纸。我捏着它走出大楼,风吹得纸边哗啦响。曼妮在门口等我,接过回执看了眼,小心地折好放进包里。
“第一步。”她说。
“嗯。”我回头看了眼大楼,“不知道有没有第二步。”
那时候我还不知道,第二步会来得那么快。
05
软著证书寄到家那天,正好是我失业的第四个月。
红彤彤的封皮,里面印着我的名字和算法名称。曼妮把它摆在书架最显眼的位置,和她的法律职业资格证并排。
“像个纪念品。”我说。
“是武器。”曼妮纠正我,“只是现在还没开刃。”
武器。
我咀嚼着这个词。
从小到大,我习惯用代码解决问题。
代码是讲逻辑的,对就是对,错就是错。
但人和人之间不是。
赵振华开除我,不是因为代码错了,是因为我“破坏了规则”。
规则是人定的。
而人,会变。
徐鹤轩后来又打过两次电话。
一次是问数据库锁的配置,一次是问日志解析脚本。
我没再提咨询费的事,但也没细说,只给了关键词让他自己查。
他每次都说谢谢,语气一次比一次疲惫。
第三次时,他忽然说:“师父,系统可能要重写了。”
我正在调试新写的代码——基于那套缓存算法,我开发了一个独立插件,可以无缝对接各种现有系统。听到这句,我手指停在键盘上。
“为什么?”
“架构太老了。”徐鹤轩声音沙哑,“客户现在都要微服务,要容器化,咱这系统还是单体架构,维护起来要命。赵总想升级,但……动不了。”
“哪里动不了?”
“核心模块一改就崩。”他苦笑,“尤其是您写的缓存那块,跟整个系统耦合得太深了。我试着抽离过,但一拆,性能直接掉一半。客户不干。”
我盯着屏幕上的插件代码。
这几个月,我一边补日志,一边重构早期算法。
剥离了和“智云管家”强绑定的部分,做成标准化接口。
测试数据显示,性能比原版提升了百分之三十。
但我没说。
“赵振华什么态度?”我问。
“还能什么态度?天天骂人呗。”徐鹤轩压低声音,“师父,我跟您说个事……赵总最近在接触其他技术团队,想找人重做系统。但报价都高得吓人,最低的一家也要八百万。”
八百万。
我算了算。
当年我做“智云管家”,算上我的工资和服务器成本,赵振华总投入不超过一百万。
现在他宁愿花八百万重做,也不愿意……不愿意什么?
不愿意找我?
或者,他根本没想到我。
“小徐。”我忽然问,“系统现在每天支撑多少交易量?”
他报了个数。比去年翻了三倍。
“客户有增无减。”徐鹤轩叹气,“所以赵总更不敢大动,怕出问题。就这么拖着,缝缝补补。”
挂了电话,我打开行业论坛。
搜索“智云管家”,跳出来不少帖子。
有夸系统稳定的,有骂界面老土的,还有几个技术帖在讨论它的缓存机制。
我点开最热的一个,楼主详细分析了缓存预测的逻辑,最后结论是:“设计很精妙,但扩展性差,像是闭门造车的产物。”
下面有人跟帖:“听说核心程序员早离职了,现在维护的人根本不敢动代码。”
再往下翻,我看到个熟悉的ID。
陈总。
不是真名,是论坛里的昵称。
但这人我认识——另一家SaaS公司的老板,跟赵振华是死对头。
他在那个技术帖下回复:“架构确实落后了。现在行业都在推新标准,搞开放接口。封闭系统活不长。”
下面有人@他:“陈总有好方案?”
他回了个笑脸:“正在研发。”
我盯着那三个字,心里一动。
关闭网页,我继续写插件。键盘敲击声在安静的房间里回荡,像心跳。曼妮今晚加班,家里只有我和那盆仙人掌。它长大了点,刺更密了。
十一点,曼妮回来,带了一身寒气。
“怎么还没睡?”她脱外套。
“等你。”我保存代码,起身去热汤,“今天律所忙?”
“嗯,有个知识产权案子,吵了一下午。”她瘫在沙发上,闭着眼,“甲方咬死算法是他们团队集体成果,乙方说是核心员工个人发明……争来争去,都是钱的事。”
我把汤端过来。
曼妮坐起身,小口喝着。热气氤氲在她脸上,显得很疲惫。
“曼妮。”我坐在她旁边,“如果……我是说如果,我想主动联系陈总,你怎么看?”
她动作停住。
“那个跟赵振华不对付的陈总?”
“对。”我盯着汤碗,“他在论坛暗示有新方案。我猜,他要么在挖人,要么在找现成的技术。我的插件……也许他感兴趣。”
曼妮放下碗,抽了张纸巾擦嘴。
她没立刻回答,而是看着窗外。夜色浓稠,远处写字楼的灯光零星亮着。
“风险很大。”她终于说,“第一,陈总不一定信你。第二,就算信了,他可能会压价,或者套出技术细节后甩开你。第三……”
她转向我。
“赵振华如果知道了,可能会告你泄露商业机密。虽然你的插件是基于个人早期成果,但毕竟和‘智云管家’有渊源,打起官司来很麻烦。”
“我知道。”
“那为什么还想做?”
我靠在沙发背上,天花板上的灯有些晃眼。
“因为这四个月,我一直在躲。”我慢慢说,“躲赵振华,躲过去,躲得都快忘了自己当初为什么要写那些代码。我不是为了被他开除才写的。我是真的觉得……那套算法能解决问题。”
曼妮握住我的手。
她的手很暖。
“那就去做。”她声音很轻,“但别急。等个时机。”
时机很快就来了。
一周后,行业峰会召开。
赵振华的公司有展台,宣传册上“智云管家”还是C位。
陈总的公司展台就在斜对面,人流量明显更多。
我在论坛看到消息,匿名注册了参会资格。
那天我穿了件普通的衬衫,戴了顶帽子,混在人群里。
赵振华亲自在展台接待客户,西装笔挺,笑容满面。
他指着一块大屏幕,上面滚动着系统实时数据。
“我们的缓存命中率保持在百分之九十五以上,业内顶尖。”
有客户问:“听说你们核心架构师离职了?”
赵振华笑容不变:“团队很完整,技术迭代一直在进行。很快会有大版本更新。”
我在心里冷笑。
更新?徐鹤轩连小修小补都吃力。
转身走向陈总的展台。他们展示的是一个新平台概念,讲“开放、模块化、生态”。陈总本人没在,负责讲解的是个年轻技术总监。
我凑近听了会儿,抓住一个空隙提问:“你们的缓存模块,怎么解决分布式环境下的预测不准问题?”
技术总监看了我一眼。
“我们用了自研的智能算法,可以动态学习业务特征。”
“基于马尔可夫链?”
他愣了下:“呃……有类似思想,但做了优化。”
“优化方向是加了衰减因子,还是引入外部特征?”我追问。
技术总监眼神变了。他打量着我,犹豫几秒,然后说:“这位老师,有兴趣私下聊吗?”
我压了压帽檐。
“好啊。”
我们在展台后面的休息区坐下。他递来名片,姓李。我接过,没给名片,只说:“我姓程,做算法的。”
聊了二十分钟。
我说的全是技术细节,没提“智云管家”,没提赵振华。但李总监显然听懂了弦外之音。他最后问:“程老师,您这些想法……有落地产品吗?”
“有Demo。”
“方便看看吗?”
我拿出平板,打开插件的测试界面。数据跑起来,性能指标一条条跳出来。李总监盯着屏幕,呼吸渐渐变重。
“这是您独立开发的?”
“对。”
“产权清晰吗?”
我抬眼看他:“申请了软著,证书在家里。”
李总监沉默了很久。他拿出手机,发了条消息。几分钟后,他抬头:“程老师,我们陈总想跟您见一面。今晚,方便吗?”
我看了眼赵振华的展台。
他还在笑,还在讲。屏幕上的数据依旧漂亮,像一座没裂缝的完美雕塑。
“方便。”我说。
06
和陈总见面约在一家茶馆包厢。
他比论坛头像上老一点,四十多岁,穿Polo衫,手里盘着串沉香木珠子。见我进来,他起身握手,力道很足。
“程老师,久仰。”他笑,“小李跟我说了,您那套算法不得了。”
“陈总客气。”我坐下,“只是些个人兴趣。”
“兴趣能做成这样,更是天才。”他给我倒茶,动作慢条斯理,“不瞒您说,我盯‘智云管家’盯了两年。赵振华那人,做生意还行,做技术……呵呵。他那套系统,内核其实很值钱,就是被他做死了。”
我端起茶杯,没接话。
“我本来想挖他技术团队的人。”陈总靠在椅背上,“但奇怪,核心人员好像早走了。剩下的人,问什么都支支吾吾。后来我才听说——”
他看着我。
“是被开掉的。因为迟到一分钟。”
茶馆里很安静,古筝曲子若有若无。我放下茶杯,陶瓷磕在木桌上,轻轻一声。
“陈总消息很灵通。”
“干这行,消息不灵通早死了。”他笑,眼里没笑意,“所以程老师,您今天找我,是想……合作?”
“看陈总需要什么。”
“我需要一个能打的产品。”他身体前倾,“明年行业要出新标准,接口全部开放。赵振华那套封闭系统,必死无疑。谁能先做出符合新标准的方案,谁就能吃下大半市场。”
他从包里拿出份文件,推过来。
是行业新标准的草案稿,厚厚一沓。
我翻开,快速浏览关键部分。
果然,缓存交互协议、数据格式、扩展接口……全都变了。
现有的系统要适配,几乎等于重写。
但我的插件……
我心跳快了几拍。
插件设计时,我刻意用了模块化思路,接口可配置。当时只是出于技术洁癖,没想到撞上了新标准。
“程老师。”陈总敲了敲文件,“您的Demo我看了,性能很强。但如果要对接新标准,改动大不大?”
我合上文件。
“不大。”我说,“核心算法不动,只改接口层。两周能出适配版本。”
陈总眼睛亮了。
“两周?确定?”
“确定。”我顿了顿,“但陈总,合作之前,有些事得说清楚。”
“您讲。”
“第一,这套算法的核心知识产权在我手里,软著证书齐全。合作可以是授权,不能是买断。”
陈总点头:“合理。”
“第二,授权范围、期限、费用,得白纸黑字写清楚。”
“这是自然。”他笑,“我做事喜欢先小人后君子。”
“第三……”我直视他,“我目前和前公司还有法律上的模糊地带。虽然算法是我的早期成果,但毕竟被他们用了三年。如果合作,可能会引发纠纷。”
陈总笑容淡了。
他盘珠子的手停下来,沉思片刻。
“程老师,您跟我说实话。”他缓缓道,“您觉得,赵振华现在知道您手上有这东西吗?”
“应该不知道。”
“那您觉得,如果他知道了,是会跟您打官司,还是……坐下来谈?”
我没回答。
陈总自己接下去:“我了解赵振华。他这人,面上讲规则,骨子里其实最怕风险。打官司耗时耗力,还影响公司声誉。尤其现在,他系统快撑不住了,客户等着新方案。这个时候,他赌不起。”
他喝了口茶。
“所以我觉得,他更可能选第二条路——坐下来谈。当然,前提是,他必须明白,您手里有他不得不谈的筹码。”
筹码。
我的插件是筹码,新标准的时间窗口是筹码,陈总这个潜在竞争对手……也是筹码。
“程老师。”陈总放下茶杯,“您如果愿意,我们可以签个初步意向。您把插件适配新标准,我提供测试环境和资源。做好了,我们按市场价谈授权。至于赵振华那边……”
他笑了笑。
“等您准备好了,我这边可以适当放点风声。给他点压力。”
我看着他的眼睛。
生意人的眼睛,精明,算计,但也坦诚——坦诚地告诉你,我就是想赚钱,但我们可以一起赚。
“我需要考虑。”我说。
“当然。”陈总递来名片,“随时联系。”
走出茶馆,夜风吹过来。
我站在路边,看着车流。手机震了,是徐鹤轩。这次不是电话,是微信消息,很长一段:“师父,出事了。系统今天下午崩了半小时,三个大客户投诉。赵总发飙了,说下周再不解决,整个技术部滚蛋。我查了日志,是那个重置模块到期了,但我找不到密钥……师父,求您了,最后一次,告诉我密钥吧。我快被逼疯了。”
我盯着屏幕。
光标在输入框里闪烁。
我能想象徐鹤轩现在的样子,抓着头皮,眼睛通红,对着看不懂的代码干瞪眼。
也许赵振华就在他身后骂,冯秀文冷着脸记录。
密钥是什么?
很简单,八个数字加我名字的拼音首字母。当年随手设的,为了方便记。
打出来,删掉。
再打出来,再删掉。
最后我回:“密钥在我离职那天就失效了。现在系统里的是自动续期机制,但如果底层时间同步出问题,会触发锁死。让你查日志,查了吗?”
过了五分钟,徐鹤轩回:“查了!时间同步确实有偏差!那……那怎么办?”
“两个办法。”我打字,“一,修复时间同步服务。二,重写重置模块。”
“重写?!”徐鹤轩发来个崩溃的表情,“师父,那模块跟系统核心绑死了,我动不了啊!”
“那就修复时间服务。”
“我不会……”
我没再回。
关了手机,往家走。路上经过一家还在营业的水果店,我进去买了盒草莓。曼妮爱吃。
回到家,她正在看合同草案。抬头见我,笑:“谈得怎么样?”
“陈总想合作。”我洗了草莓,递给她一颗,“但我没马上答应。”
“谨慎点好。”曼妮咬了口草莓,“对了,刚才薛老师来电话,说专利申请有进展了,让你下周去补个材料。”
我嗯了声。
曼妮看着我:“你好像有心事。”
“徐鹤轩又找我了。”我坐到她旁边,“系统崩了,因为重置模块。”
曼妮动作停住。
“你……没帮他吧?”
“没有。”我靠在她肩上,“但我在想,赵振华现在应该很着急。系统崩了,客户投诉,徐鹤轩搞不定……他会不会,终于要低头了?”
曼妮放下草莓,握住我的手。
她的手心有薄汗。
“靖琪。”她轻声说,“如果赵振华真的找上门,你打算怎么办?”
我想了很久。
窗外有车灯划过,光影在墙上流动。
“我不知道。”我诚实地说,“可能会紧张,可能会生气,可能……会笑。”
“笑?”
“嗯。”我闭上眼,“笑他终于也有今天。”
曼妮没说话,只是更紧地握住我的手。
那一夜我睡得不安稳。
梦里全是代码。
绿色的数据流变成藤蔓,缠住我的手脚。
赵振华站在高处,端着茶杯说:“规则就是规则。”然后藤蔓突然断裂,他掉下来,茶杯摔得粉碎。
惊醒时天还没亮。
曼妮在旁边熟睡,呼吸均匀。我轻轻起身,走到书房,打开电脑。
屏幕上,插件的性能测试报告静静躺着。
各项指标都远超行业平均水平。适配新标准的接口层代码,我已经写了一半。
我新建了一个文档。
标题是:谈判要点。
第一行写:算法产权归属(软著、专利、早期证据链)。
第二行:三年无偿使用事实(服务器日志可证明)。
第三行:系统当前危机(重置模块、架构老化、新标准压力)。
第四行:替代方案(我的插件、陈总意向)。
第五行……
我停住。
第五行该写什么?报价?情绪发泄?还是沉默?
光标闪烁,像心跳。
最后我打下:主动权在我。不急。
保存文档,加密。
窗外天色渐亮,鸟开始叫。我关掉电脑,回到床上。曼妮迷迷糊糊翻身,钻进我怀里,呢喃了句什么。
我没听清。
但抱紧了她。
07
赵振华找上门,是在一个周四下午。
那天下雨,和一年前我被开除那天的雨很像。我正在家调试插件最后一段接口代码,门铃响了。
透过猫眼,我看见他。
赵振华老了点。头发梳得整齐,但鬓角白了些。西装有点皱,手里提着个果篮,站在楼道里,背挺得笔直,但眼神里有藏不住的疲惫。
我打开门。
“赵总。”我说,“稀客。”
他挤出笑:“小程,好久不见。”
我没让开:“有事吗?”
“能进去说吗?”他看了眼我身后,“就几分钟。”
我沉默几秒,侧身:“鞋套在门口。”
他弯腰穿鞋套,动作有点笨拙。进屋后,他把果篮放在茶几上:“一点心意。听说你结婚了?恭喜。”
“还没结。”我给他倒了杯水,“在准备。”
“哦哦,好事,好事。”他接过水,没喝,放在手里转。
客厅不大,沙发旧了,但干净。书架上摆着我和曼妮的书,最显眼的位置是软著证书和专利受理通知书。赵振华的目光扫过那里,停了一瞬。
我坐下,等他开口。
雨声淅沥,时钟滴答。
“小程啊。”他终于开口,“这一年,过得怎么样?”
“还行。”
“找到工作了吗?”
“暂时没找。”我看着他,“在弄自己的东西。”
赵振华点点头,手指摩挲着玻璃杯。他嘴唇动了动,像在斟酌词句。这个曾经在我面前颐指气使的男人,现在像个第一次面试的毕业生。
“其实今天来……”他深吸口气,“是想请你帮个忙。”
我没说话。
“公司那边,系统出了点问题。”他语速加快,“缓存老出毛病,最近还崩了一次。小徐——就是徐鹤轩,你徒弟——他搞不定。所以我想……”
他停下来,看我反应。
我端起自己的水杯,喝了口水。
“赵总。”我放下杯子,
热门跟贴