![]()
会议室的空调开得低,我把手掌压在膝盖上,仍能感觉衬衫后背黏着一层汗。
邱曼把一份确认书推到我面前,纸边擦过桌面,声音很轻。
“经董事会讨论,原协议中的百分之四利润分成,自今日起作废。”
我看了她一眼。她穿着灰色套装,胸前别着公司十五周年的银徽章。那东西还是去年我陪韩峥去定做的。
长桌另一头,韩峥低头翻材料,没有看我。
“理由呢?”
邱曼把钢笔放到纸上,笔尖朝着我。
“经营方式调整。徐总,公司会按劳动合同结清工资,其他待遇另谈。”
百分之四不是股权,也不是韩峥额外赏我的钱。十七年前,我带着自己写的底层模块进公司,双方约定,公司获得使用许可,我按年度利润拿百分之四。
协议续过两回,条款一直没变。
我翻到最后一页。确认书只写分成终止,对代码许可只字不提。
“韩峥,你也这么定?”
他端起茶杯,杯盖在杯沿上磕了一下。
“老徐,先把手续办了。后面的事,让邱曼跟你谈。”
我等了几秒,他仍没有抬头。玻璃墙外,有人抱着电脑快步走过,鞋底踩在地砖上,一声接一声。
我拿起笔,签下徐启明三个字。
邱曼刚把文件收回去,我便从包里取出另一份通知,放在桌子中央。
“既然绑定分成作废,原许可同步终止。公司整个架构,从今天起不得继续使用我独立撰写的三十项底层代码。”
几位董事同时坐直了身子。
邱曼皱起眉。“你要停掉系统?”
“我不会碰公司的机器,也不会远程破坏任何东西。”
我把旧协议翻到许可条款,推到她面前。
“你们可以正常处理现有数据,但不得继续部署、复制和发布这三十项代码。期限和边界,协议写得清楚。”
韩峥终于抬起头,脸色沉了些。
“老徐,别把事做绝。”
我扣好公文包。“作废的时候,你们没问我绝不绝。”
我站起身,椅脚在地上拖出一声闷响。走到门口时,回头看了一眼。
别人或惊或急,只有赵凯没说话。他低着头,在一份装订好的清单上逐项确认,蓝色水笔已经勾了大半页。
那份清单,显然不是刚刚才有的。
01
十七年前,我三十二岁,进公司时连一张像样的办公桌都没有。
韩峥租了城南一间旧厂房,楼下做纸箱,楼上挤着七个人。夏天机器一开,电线发热,屋里总有股塑料皮烤焦的味道。
他比我大五岁,爱穿洗得发灰的衬衫。第一次见面,他把一碗盒饭推过来,说公司没钱,工资只能先发七成。
“但系统做成了,咱们一起吃肉。”
我没问肉在哪儿,只问服务器什么时候到。
那时做企业软件,客户要求一天一个样。白天开会,晚上改程序,困得狠了,就在折叠床上躺两个钟头。
最早的三十项模块,是我在那几年陆续写出来的。权限、消息、缓存、任务调度,一层压着一层,撑住了公司头几批项目。
有次服务器半夜出故障,韩峥骑摩托来接我。外面下冻雨,我们到机房时,裤脚全湿了。他蹲在地上拧插线板,我守着屏幕排查。
天亮后系统恢复,他从口袋里掏出两个冷包子。
“老徐,等公司挣钱,我不亏你。”
后来谈融资,外面的人要核对代码归属。我那些模块写于入职前后,部分用的是自己的设备和时间,归属一时说不清。
律师拟了协议。知识成果仍归我,公司取得长期使用许可,作为对应收益,我每年拿利润的百分之四。
韩峥当时拍着桌子,说股权容易变,白纸黑字更牢靠。
我也觉得合适。公司活着,代码就有用。我拿该拿的钱,不参与经营上的争执。
头几年利润薄,百分之四没多少。有一年年底只分到两万六,我拎着一桶油和一袋米回家,刘岚还笑我像领了年货。
公司慢慢做大,搬了三次办公室。员工从七个人涨到三百多人,旧厂房的折叠床,也成了韩峥在年会上爱讲的故事。
他讲骑摩托,我讲冷包子。台下年轻员工鼓掌,我们隔着灯光碰一下杯,像那些苦日子从来没有走远。
邱曼是在公司站稳后接手财务的。她做事细,一张出租车票贴歪了都要退回来重贴。大家怕她,背后叫她铁算盘。
她不喜欢口头约定。每次续签代码许可,都会拿计算器核一遍利润,再把数字逐项圈出来。
“徐总,情分归情分,账要落在纸上。”
她常说这句话。我并不反感,甚至觉得公司就该有这么一个人。
再后来,我有了独立办公室,名片上印着首席架构师。公司重大项目评审,韩峥总会让人给我留右手边的位置。
客户问系统稳不稳,他往往指着我说:“老徐在,底座就不会塌。”
听多了,我也把这句话当成了事实。
四十九岁这年,公司周年庆刚办完,邱曼第一次没有按惯例送来利润核算表。我问过财务,对方说口径还没定,让我再等等。
一等就是两个月。
其间,韩峥来我办公室喝过一次茶。他绕着新业务说了半天,临走只留下一句,公司大了,规矩也得变。
我以为他在说管理。还笑着回他,早该变了,不能总靠创业时那套土办法。
现在想想,那天他在门边站了好一会儿,手搭着门把,却始终没有提百分之四。
董事会通知发来前,邱曼单独约我谈过。她把历年协议摞在桌上,问我愿不愿意把固定分成改成绩效奖金。
“奖金由谁定?”
“董事会根据年度贡献评定。”
我把协议推了回去。“代码许可不是绩效。两件事别混。”
她抿了口温水,没有再劝,只说让我考虑公司眼下的难处。
那一年,公司利润并不差。年会上刚公布过新客户数量,大厅电子屏还滚动播放增长数据。我不明白她说的难处是什么。
我去找韩峥,他正在接待客人。秘书让我等,我从下午三点坐到五点半,最后只收到他的一条消息。
“邱曼负责协议,你和她谈。”
短短十个字,我看了好几遍。
十七年里,他叫过我老徐,叫过我徐工,也在最缺钱的时候叫过我兄弟。可关于这份协议,他从头到尾没有当面给我一句话。
董事会散场后,我回办公室收东西。柜子里还有一只旧搪瓷杯,杯口掉了块蓝漆,是从城南厂房带过来的。
杯底压着一张老照片。七个人站在纸箱堆前,韩峥搂着我的肩,邱曼那时还没进公司。
我把照片放进包里,杯子留在了桌上。
门外有人经过,小声喊了一句徐总,又赶紧低头。工位区的键盘声密密响着,和平常没有区别。
走到电梯口,我收到邱曼发来的邮件。附件是离任手续,抄送了赵凯和人事。
韩峥不在收件人里。
02
其实在董事会之前,许多东西已经变了,只是我没有往深处想。
最早是代码仓库权限。
三个月前的一个周一,我照常准备合并版本,系统却提示无权操作。我给运维打电话,对方查了半天,说权限规则刚调整。
“徐总,您以后提交申请,我们审核后再放行。”
我问是谁定的,他含糊地说是统一要求。
过去十多年,核心仓库由我负责。哪条分支能动,哪个版本能发,出了问题该退到哪里,最后都落在我这里。
突然要经过申请,我心里不舒服。不过公司扩张后,审计流程越来越多,我只当又添了一道手续。
第二次是在月度技术会上。
赵凯拿着一份接口目录,请我补充说明。目录列得很细,连早年停用的调用方式都标了出来。
“这些老接口没人用了,整理它们干什么?”
他扶了扶眼镜。“怕以后查不到。韩总要求技术资料完整些。”
赵凯三十二岁,进公司六年,做事快,汇报也利索。研发部不少年轻人服他,遇到问题先找他,很少再直接敲我的门。
我把目录留下,花两个晚上补完。交给他时说,文档能写清步骤,写不出临场判断。
他笑了笑。“所以还得请徐总多带我们。”
话说得客气,我便没再追问。
那之后,他隔三岔五来找我。有时问缓存失效顺序,有时问任务堵塞后的降级边界,还有一次,把三十项模块之间的依赖关系重新画成了图。
图上的线密得像蜘蛛网。我看出三处错误,拿红笔改掉。
“系统不是积木,拆开再拼,未必还能严丝合缝。”
赵凯站在桌边,认真记了下来。
临走前,他提过一种新框架,说研发部正在试,希望我也看看。
我扫了两页介绍,觉得那套东西绕得厉害。
“新名字不等于新办法。底层道理都一样。”
他顿了一下,把资料收回文件夹。
“有空您再看看,里面的并发处理挺有意思。”
我嗯了一声,转头接客户电话。那份资料后来再没送来,我也没问。
仓库权限继续缩减。先是不能直接合并,接着不能查看部分运行记录,到最后,我连测试环境的发布按钮也看不见了。
每次询问,都有一个听起来合理的解释。安全分级、职责隔离、流程规范。词不同,结果一样,我能碰的东西越来越少。
有天晚上,我加班到九点。研发区还亮着灯,会议室百叶窗拉得严实,里面坐着赵凯和几名骨干。
屏幕上闪过架构流程图。我推门问了一句,他们说在做压力测试。
“测试结果发我一份。”
赵凯马上答应。第二天,他只发来一张结论页,上面写着运行稳定,满足预期。
没有环境参数,没有错误记录,也没有原始数据。
我让他补齐,他说材料还在整理。过了一周,我再问,他说已经归档,需要走内部申请。
我听得有些冒火。
“我是首席架构师,看测试数据还要申请?”
赵凯站在门口,脸上有点尴尬。“流程是邱总那边定的,我也不好越过去。”
我拿起电话想找韩峥,号码拨到一半,又放下了。
为一份测试数据闹到董事长那里,显得我容不下年轻人。何况赵凯一直对我客气,项目真出问题,最后还是会来找我。
这种念头撑着我,把一件件异常都压成了小事。
随后两个月,公司做了好几轮架构测试。会议室常常占到深夜,运维临时加机器,研发部周末也有人值班。
我偶尔能看见测试通知,却从没被邀请参加结果评审。
一次在茶水间碰到韩峥,我半开玩笑地问,公司是不是有了新技术,就把我这个老人晾起来了。
他拍了拍我的胳膊。
“你是定盘星,日常试验让年轻人折腾。”
这句话我听着顺耳,疑心也就淡了。
赵凯对我的称呼仍是徐总。他来要资料,我大多会给。接口说明、故障案例、模块边界,能整理的都整理了。
有些细节只存在我脑子里,他问得急,我便坐在白板前一条条讲。讲到兴头上,还会嫌他理解得慢,拿笔重新画一遍。
他从不争辩,只把每张白板拍下来,按日期存好。
董事会前一周,运维通知我,核心仓库将实行只读管理。我回邮件提出异议,抄送韩峥。
等到下班,没有回复。
第二天早上,邱曼让助理送来会议通知。议题写的是年度经营调整,附件却需要权限才能查看。
我去董事长办公室,门关着。秘书说韩峥出去了,什么时候回来不清楚。
下午,赵凯抱着一摞资料来找我签字,说是技术文档交接确认。
“谁要走?”
他低头翻页,避开了我的目光。
“没有谁走,先把流程补上。”
我没有签,把资料压在桌角。他站了片刻,轻声说,公司最近改动多,您最好把新框架再看一看。
那语气不像请教,更像提醒。
我抬头看他,他却已经抱起剩下的文件,退到门外。
直到董事会上,邱曼把确认书推过来,我才明白那些权限、文档和深夜测试,都不是互不相干的小事。
只是有一点,我仍想不通。
若公司真准备调整我的位置,韩峥为什么不亲口告诉我?
电梯下到一楼,我隔着玻璃门看见赵凯。他站在大厅里打电话,手边放着那份勾满蓝色记号的清单。
见我出来,他挂断电话,朝我走了两步。
我没停,提着公文包出了门。外面刚下过雨,台阶湿滑,门卫照常叫我徐总。
我点了一下头,没有纠正。
03
回到家时还不到五点。刘岚在社区超市上班,屋里没人,餐桌上扣着半盘早晨剩下的煎饼。
我把公文包放到沙发边,先去厨房烧水。水壶响了很久,我才发现自己没按开关。
手机里积着十几条消息。公司工作群已经找不到了,人事发来工资结算单,请我三日内确认。
补偿一栏空着,备注写着双方对协议终止存在争议,暂缓协商。
我把手机扣在桌上,吃了半张凉煎饼。面皮发硬,嚼到最后,只剩一股油腥味。
晚上七点,同行群里有人转发公司公告。新架构已正式启用,各业务系统运行平稳,服务未受影响。
公告配了一张照片。赵凯站在机房中间,身后两排屏幕都是绿色。他笑得拘谨,眼下带着熬夜后的青色。
群里很快热闹起来。
有人问我那三十项代码怎么处理,也有人说老系统早该换了。一个只见过两次的同行发了句,技术人最怕拿旧功劳压公司。
后面跟着几个笑脸。
我打出一行字,说许可边界由协议约定,不是谁倚老卖老。看了一遍,又全删了。
他们只看见系统没停。至于公司提前准备了多久,用了多少我写下的说明,没人会问。
赵凯私下发来消息,说新架构目前稳定,叫我不用担心。我盯着“不用担心”四个字,胸口像塞了一团湿棉花。
我问他,大客户的数据迁移测过没有。
消息显示已读,过了二十分钟,他才回复,测试由项目组统一管理,自己不便透露。
我继续问结果。他没再回。
这恰好是公司最难的一关。普通客户数据量小,接口也简单,能跑起来不算本事。几个大客户用了十多年,历史数据乱,定制规则多,一处错位就可能整批返工。
以前每次迁移,我都守在现场。最久的一次,连续三十六小时没合眼,光速溶咖啡喝了七袋。
如今公告只写运行平稳,对关键测试半个字都没提。
我把这点反复看了几遍,心里又升起一点底气。系统可以跑,不代表过得了最难那道坎。
门锁响时,我正翻旧协议。
刘岚拎着两袋打折蔬菜进来,看见公文包,先问我怎么回来这么早。
“公司那边结束了。”
她换鞋的动作停了停。“什么叫结束了?”
我把董事会的事说了一遍,没提群里的话,只说工资会结算,分成没了,后续补偿还要谈。
刘岚把芹菜放进水池,一根发黄的叶子掉在地上。她弯腰捡起,半天没直起身。
“你把代码许可也停了?”
“他们先毁约。”
“我问的是,你停了没有。”
我点头。她拧开水龙头,水冲在塑料袋上,哗哗地响。
“徐启明,你回来前,能不能先给我打个电话?”
“打了又能怎样?”
她关掉水,抽了张纸擦手。“至少我不用像个傻子,还想着今年分成下来,先把徐洋下学期的钱留出来。”
听见儿子的名字,我才想起月初那封缴费提醒。刘岚一直管家里的账,我没细问过具体日期。
她从卧室拿出一张打印单,边角已经折软。
“十天内,十八万元。学费、住宿费,还有保险。少一项都不行。”
我看着那串数字,先算存款,又算工资和分成。算到一半,才记起从今天起,固定收入已经断了。
“先从存款里出。”
刘岚没接话,只把手机里的账户余额递给我。几个数字排在白底屏幕上,比那张缴费单短得多。
“存款还有别的用处。房贷、生活费,你妈的药,哪样能停?”
客厅没开主灯,楼下广告牌的红光一阵阵扫过墙面。我想说自己很快能找到工作,话到了嘴边,却想起同行群里的那几个笑脸。
刘岚把缴费单压在协议上。
“公司到底还能不能给补偿?”
“会谈。”
“什么时候?”
我说不出日期。
她把蔬菜一根根择好,动作比平时慢。锅里的油热了,她也没下菜,直到冒出淡淡的焦烟。
那晚我们吃得很安静。刘岚只盛了半碗饭,剩下半盘芹菜,她拿保鲜膜盖好,放进冰箱。
睡前,我又点开公司公告。运行平稳四个字下面,多了上百个点赞。
赵凯仍没回复我关于大客户测试的消息。
04
第二天早上,刘岚把存折、房贷单和三张银行卡摆在餐桌上,让我自己看。
扣掉徐洋的十八万元,账户里的钱只够家里撑三个月。房贷还剩十一年,每月六千八百元,月底照常划走。
她拿计算器按得很响。社区超市的工资不到五千,除去水电和日常开销,补不上缺口。
“公司原先提过补偿,你为什么不先谈好?”
“他们拿分成逼我签字,我不能装没看见。”
“你可以回家商量一晚。”
我抬高了些声音。“协议是我的,代码也是我的。”
刘岚把计算器推开。“可房贷不是你一个人的,儿子的学费也不是。”
她说完去上班,门关得不重。我站在桌边,忽然觉得那点轻响比争吵更难受。
上午,我给几家熟悉的公司发了简历。有人很快回复,问我是否愿意做短期顾问,也有人客气地说暂时没有合适岗位。
一个老朋友打来电话,绕了半天才问,我和韩峥是不是彻底闹翻了。
“技术岗位好说,首席的位置不好找。你这个年纪,薪资也得往下放一放。”
我说可以谈。挂断后,又把简历里的期望薪资删掉。
午后,我打开赵凯曾送来的新框架资料。几页介绍看得不顺,很多术语只知道大概,示例代码也和我习惯的写法不同。
过去我总觉得工具换名字,底下仍是那些道理。真坐下来细看,才发现有些东西已经隔了一层。
我关掉文档,去阳台抽烟。楼下有人收废纸箱,三轮车上的喇叭来回播放同一句话,听久了让人心烦。
晚上,刘岚回来后没再提补偿。她煮了一锅面,给我卧了两个鸡蛋,自己只放了青菜。
吃到一半,她手机亮了。徐洋发来一张表格,让她帮忙核对银行卡信息。
刘岚点开附件,脸色慢慢变了。
那不是缴费表,是休学申请。理由一栏写着家庭经济困难,计划暂停学业一年,自行工作筹款。
我拿过手机,立刻拨了视频。那边是清晨,徐洋坐在宿舍窗边,头发乱着,眼下有一圈黑。
“谁让你申请休学的?”
“我还没交,只是先准备。”
“删了。钱的事不用你管。”
徐洋看着屏幕外面。“妈已经跟我说了。十八万元不是小数。”
刘岚在旁边拉了我一下,让我别急。我把手机往桌上一放,画面晃了几下。
“我干了十七年,还不至于供不起你。”
“爸,我没说你供不起。”
“那你弄这张表干什么?”
徐洋沉默了一会儿,说有同学在餐馆打工,也有人做校内助理。他可以先挣生活费,等家里缓过来再回去。
我听着那些安排,胸口越来越堵。二十一岁的孩子在外面算一天能端几小时盘子,我这个父亲却还在拿旧协议争一口气。
“别学人家逞能。你的任务是读书。”
徐洋抬起眼。“你不也是在逞能吗?”
我愣了一下,伸手关了视频。
屏幕黑下来,映出我的脸。鬓角比去年白了不少,眉间那道纹,在暗屏里显得很深。
刘岚把筷子放下。“他说错了吗?”
“你们母子商量好了,就等着教训我?”
“没人教训你。我们是想知道,接下来怎么办。”
我把椅子往后推,碗里的面汤晃出来,滴在桌布上。刘岚抽纸去擦,我没帮忙。
“公司离了我,迟早会出问题。到时候他们会来找。”
她抬头看我,眼里没有反驳,只有疲惫。
“万一不找呢?”
这四个字,我一整晚都没能撵出去。
凌晨两点,我重新打开那份新框架资料。照着示例搭环境,第一步就出了错。搜索半天,才发现版本早已更新。
赵凯提醒我时,我嫌它花哨。现在连安装说明都要逐行查,我才看见自己这些年守着的,不全是底气。
有些东西是经验,有些只是熟悉。两者混在一起久了,我也分不清。
刘岚半夜出来喝水,看见我坐在电脑前,没有问。她把一件外套搭在椅背上,又回了卧室。
桌边的休学申请还开着。状态一栏写着未提交。
我伸手想关页面,鼠标停了很久,最后只把屏幕亮度调低了一格。
05
第三天下午,韩峥给我打来电话。
我看着他的名字响了十几秒,才按下接听。背景里有人说笑,似乎正在开庆功会。
“老徐,新架构已经全面上线了。”
他说得平静,像通知我一次普通版本发布。
我问了几个关键指标,他没有回答,只说主业务正常,客户也没有投诉。至于后续测试,由赵凯带队处理。
“你那些代码,我们不会再用。手续让邱曼继续和你谈。”
我握着手机,半晌没出声。
三十项模块停用后,公司没有乱,也没有回来请我。那张勾到大半的清单,原来真能落地。
“你打电话,就是告诉我这些?”
韩峥咳了一声。“共事这么多年,我不想你从别人嘴里听说。”
我望着窗外晾衣架上的水珠。“我已经从别人嘴里听过了。”
电话那边安静几秒。他说过段时间一起吃饭,我没有答应,直接挂了。
同行群里很快有人贴出上线截图。有人夸赵凯年轻有为,也有人拿我的许可通知开玩笑,说老技术总爱把公司当人质。
先前还问我情况的朋友,这次没再私聊。
我把群设成免打扰。手机放回桌上时,手背碰翻了水杯,水沿着账单流下来,浸湿了房贷金额。
刘岚下班回来,看见我在擦桌子,先问是不是公司有消息。
“系统上线了,没用我的代码。”
她脱外套的动作慢了一下。没有说我错,也没有说早知如此,只把湿账单一张张揭开,放到窗台晾着。
晚饭后,我继续投简历。两个顾问岗位给了回复,一个要长期出差,一个开出的月薪不到我原来的三分之一。
我没资格立刻拒绝,却也没按下接受。四十九岁第一次认真找工作,才知道过去那张名片挡住了多少冷风。
九点多,徐洋发来消息,说休学申请暂时没交。他还补了一句,让我们别为钱吵架。
刘岚看完,低头把超市带回来的临期面包分装好。每袋两片,准备当明早的早餐。
我回到书房,把三十项代码的权属文件重新翻了一遍。它们仍归我,可离开原来的业务环境,能值多少钱,我心里没有数。
过去,公司依赖它们,我便以为市场也需要它们。如今新系统顺利上线,这份自信像一张受潮的纸,轻轻一揭就破了。
晚上十点,邮箱忽然响了一声。
发件人叫周临,正文只有简单的自我介绍,自称代表一家有收购需求的企业,希望购买我名下全部底层代码。
附件第一页写着总价六百万元。
我以为是恶作剧,继续往下翻。第二页列出了三十项代码指纹,提交日期、核心函数摘要和版本差异,一项不少。
这些内容足以证明,对方见过代码的准确特征。不是随手问价,更不是群里看热闹的人。
周临要求独家转让,签约后我不得再向任何企业授权。答复期限是次日中午,签署当日先支付两成,也就是一百二十万元。
我把数字抄到纸上,算了两遍。
十八万元学费可以立刻补齐,剩下的钱足够还掉大部分房贷。刘岚不必再盯着三个月的生活费,徐洋也不用填那张休学申请。
鼠标停在合同末页,我却没有马上回复。
三十项代码不是一摞旧文件。谁拿到它们,便能用最短时间搭起成熟底座,也能摸清韩峥公司旧业务的脉络。
公司眼下只是完成临时替换,关键客户迁移仍没有公开结果。若这些代码落到有心人手里,下一次迁移可能就是一道过不去的坎。
墙上的钟走到十点十三分。周临又发来一封邮件,问我是否愿意当晚沟通。
我看着桌边的缴费单,又看向窗台上尚未干透的房贷账单。
卖掉,六百万元能把家里的窟窿一次填平。先查清这个人,交易也许就没了;立刻卖,我又不敢下手。若把消息告诉韩峥,等于去提醒刚把我赶出门的公司。
邮件右上角标着剩余时间,十三小时四十七分。
我握着鼠标,回复框里一个字都没有。