“延光回来了啊?”
“放假带爹妈、娃回来住几天。”
一路上,不停地有人和他打招呼,王延光也屡屡停下车,和他们聊上几句。
回到家里,打开房门一看,虽然好几个月没回来了,家里依旧干干...
咸阳机场的廊桥灯光泛着冷白,安安拖着行李箱刚走出出口,就看见梁应春和他夫人并排站在接机口围栏外——梁应春穿着熨帖的深灰夹克,一手插兜,另一手拎着个印着“特区建设集团”字样的牛皮纸袋;他夫人则围着一条枣红色羊绒围巾,手里还攥着把没撑开的伞,尽管这会儿窗外正飘着细雪,候机厅玻璃上结了一层薄雾,像蒙了层毛玻璃。
安安一愣,随即加快脚步跑过去:“梁伯伯!婶婶!您二位怎么……”
“怎么?怕你冻着。”梁夫人笑着接过他肩上的双肩包,指尖碰到他耳垂时顿了顿,“都凉透了,坐了八个小时飞机,水都没喝几口吧?”
梁应春没接话,只抬手揉了揉安安后脑勺,动作熟稔得像拍打一只归巢的雀鸟。他目光扫过安安胸前那枚被体温烘得微温的00015工牌,又落回他眼睛里:“听说你在深圳干得不错,连PONY开会都让你坐前排。”
安安不好意思地摸了摸工牌边角:“就是帮着记点事、理理进度……其实好多活儿都是夜猫哥和Tony哥带着我干的。”
“谦虚什么。”梁应春从纸袋里抽出个扁平铁盒,打开,里面整齐码着二十粒琥珀色药丸,散发着淡淡甘草与陈皮混着的清苦香,“秦巴农业保健站配的参苓健脾丸,你爸让我给你带上——说你这趟去南方,熬夜多,湿气重,脾胃容易虚。每天两粒,饭后温水送服。”
安安怔住。他记得去年冬天父亲也给他带过一盒,那时他正为数学竞赛集训,连续三周凌晨两点睡、六点起,王延光半夜查房,见他书桌上摊着卷子和半杯冷茶,什么也没说,只默默把药盒放他枕边,压着一张便条:“不图你多聪明,图你身子扛得住。”
此刻他喉头忽然发紧,低头盯着鞋尖上一点未融尽的雪水,轻声说:“我爸……是不是知道我在企鹅提了管理建议?”
梁应春没正面答,只把铁盒塞进他外套内袋,顺势按了按他胸口位置:“你爸说,人年轻时敢说话是好事,但得想清楚——话是说给谁听的,又是替谁说的。”
车驶出机场高速,雪势渐密,雨刷器左右摆动,刮开一层层白茫茫的水痕。梁夫人递来保温杯,杯身烫手:“喝点红糖姜茶,暖胃。”
安安捧着杯子,热气氤氲中望向窗外。丰阳的冬日比深圳沉静得多,灰蓝色天幕低垂,梧桐枝杈嶙峋如墨线勾勒,远处秦岭余脉在雪雾里洇成淡青色剪影。他忽然想起周五会议结束时,PONY特意留他多聊了十分钟——不是谈工作,而是问他:“安安,你觉得咱们公司现在最缺什么?”
他当时脱口而出:“缺一个能同时看见五个人眼睛的人。”
PONY当时笑了,靠进转椅里,手指轻轻叩着桌面:“哦?那你觉得,这个人该长什么样?”
“不用多高明,只要不偏听,不漏看,记得住谁昨天说了什么、谁后天要交什么,能把散在三十张嘴里的信息,串成一根绳。”安安顿了顿,“就像我爸开董事会前,总让秘书把每位董事过去三个月提过的所有意见,按议题归类打印成册——不是为了监督谁,是怕哪句话掉在地上,没人弯腰捡。”
PONY沉默片刻,忽然问:“你回丰阳后,还会继续想这些事吗?”
“会。”安安答得极快,“就像我每天早上睁眼第一件事,是摸手机看有没有新邮件——不是等着干活,是怕错过别人正在经历的事。”
此刻他握着温热的保温杯,听见梁夫人在副驾轻声道:“你爸今早七点就去了农业厅,说有个‘数字乡村试点’的汇报材料要改三遍,下午还得飞汉中看猕猴桃冷库。”
安安心头一跳:“数字乡村?”
“嗯,用物联网传感器监控大棚温湿度,数据直传县农业局平台,再由农技员推送给种植户——设备采购走的是秦巴农业供应链,平台开发……”梁夫人侧过脸,镜片后笑意温润,“听说你们企鹅有个叫TONY的工程师,最近在帮农业厅做原型系统?”
安安猛地坐直:“Tony哥?他没跟我提过!”
“他上周五才签的协议,合同压在你爸办公桌最下层抽屉里,盖了‘特事特办’章。”梁应春目视前方,语气平淡,“你爸的意思是,先让Tony带三个本地职校生搭个最小可用版本,跑通数据采集—上传—预警—推送闭环。要是行,明年就把OICQ的即时通讯模块嵌进去,让果农用手机收农情提醒。”
安安怔住。他忽然明白父亲为何默许他全程参与企鹅的跨组协调——那根本不是实习,是一次无声的沙盘推演。秦巴农业需要的从来不是现成软件,而是一套能长在丰阳泥土里的思维习惯:如何把五十人的创业公司里磨出来的信息同步逻辑,移植到五百个乡镇农技站;如何让写代码的程序员听懂果农说的“叶子蔫了不是旱是涝”,再把这句话变成服务器里一行可执行的判断语句。
车拐进南门里老巷,积雪被碾出两道浅痕。梁应春忽然减速,指着路边一家挂着褪色蓝布帘的小店:“瞧见没?‘李记修表’。”
安安点头:“嗯,小时候跟您来买过麦芽糖。”
“现在改修电脑主板了。”梁应春停稳车,摇下车窗。店门口蹲着个穿旧棉袄的老师傅,正捏着镊子,在放大镜下焊一块巴掌大的电路板,旁边小马扎上坐着个戴红领巾的小男孩,手里攥着台屏幕裂了缝的步步高学习机。
“上个月,这老师傅的儿子在西安电子科大毕业,回乡开了家‘乡村IT服务站’,专给老人修智能手机、教视频通话。”梁应春声音很轻,“昨天他送来三台翻新的二手笔记本,说给村小学建个微机室——主板是拆旧机换的,外壳是自己喷的漆,系统是用企鹅开源的QQ Lite改的离线版,连不上网也能练打字。”
安安呼吸微滞。他想起自己整理的那份《OICQ用户反馈高频词统计》,其中“爷爷不会用微信”出现频次排第七,“奶奶想看孙子视频但点不开”排第四。当时他只当是运营数据,此刻才懂,那些汉字背后,是千万个李记修表铺子里蹲着的、戴着老花镜焊电路板的手。
晚饭是在梁家吃的。四菜一汤,清炒荠菜、酱焖豆腐、萝卜炖牛腩,汤是当归黄芪乌鸡汤。梁夫人盛汤时手腕一抖,几滴油星溅上安安搁在餐桌边的笔记本——那是他在深圳用的,封皮印着企鹅LOGO,内页密密麻麻记着移动梦网结算周期、BBS用户留存率曲线、夜猫标注的客服话术优化节点。
梁应春用筷子尖点了点那几滴油渍:“这本子,留这儿吧。”
“啊?”
“你爸说,他下周要去深圳,顺道看看企鹅。这本子你带回去,他路上翻翻。”梁应春夹了块牛腩放进他碗里,“顺便告诉他,秦巴农业准备把‘数字果园’项目预算的百分之十五,转成技术入股——不占股,算预研经费,专门支持你们做适配国产操作系统的OICQ轻量版。”
安安筷子悬在半空。他忽然记起临行前PONY塞给他的一叠A4纸,印着“OICQ Windows CE 版开发日志(内部测试)”,纸角有Tony潦草的批注:“内存占用压到2.3MB,待测:汉字输入法兼容性”。当时他以为只是技术备忘,此刻才知,那叠纸早已被父亲的目光反复丈量过。
夜里雪停了。安安躺在客房床上,听见窗外枯枝承不住雪,簌簌断落一声轻响。他摸出手机——信号格空空如也,但锁屏壁纸仍是深圳湾畔那张:傍晚的腾讯大厦玻璃幕墙映着火烧云,楼下OICQ团队合影里,PONY搂着他肩膀,夜猫举着咖啡杯笑得露出虎牙,Tony在镜头外比了个OK手势。
他没开灯,借着窗外雪光翻看笔记本。油渍已干成淡褐色小圆点,像一枚微型印章。翻到某页,他停住——那是周四下午整理的《移动梦网联调风险清单》,第三条写着:“运营商计费接口文档缺失关键字段说明(如SPID校验规则),研发组复现失败三次”。
指尖停在那里。他忽然翻身坐起,从行李箱底层取出一台银灰色ThinkPad——这是PONY硬塞给他的:“带回去,给你爸演示下咱们怎么远程调试服务器。”机器还带着深圳写字楼恒温空调的余凉。
他开机,连上家里那根老旧的56K拨号上网线。调制解调器发出刺耳的蜂鸣,蓝屏弹出连接提示,他输入企鹅内网地址,敲下账号密码。界面一闪,进入熟悉的OICQ测试后台。他点开“梦网通道模拟器”,调出接口日志文件,快速检索“SPID”。果然,在凌晨三点十七分的报错记录里,有一行被Tony用红色波浪线标出的异常返回值:“ERROR_4097: INVALID SPID FORMAT — EXPECTED 8-DIGIT HEX, RECEIVED 7-DIGIT DECIMAL”。
安安屏住呼吸。他点开自己随身带的移动梦网合作备忘录电子版——第十二页,附录三,赫然印着运营商提供的《SPID编码规范(V1.2)》,白纸黑字写着:“SPID为八位十六进制字符串,由省代码(2位)+行业标识(2位)+序列号(4位)构成”。
问题不在代码。在文档本身。
他迅速截屏,新建邮件,收件人填“<a href="mailto:
tony@tencent.com">tony@tencent.com</a>”,主题栏敲下:“关于梦网SPID校验的歧义点(附现场日志及规范原文)”。正要点击发送,鼠标却悬停在按钮上方。
窗外,雪光映亮书桌一角。那里静静躺着父亲今早托梁应春捎来的信封,牛皮纸材质,没有邮戳,只有钢笔写的“安安亲启”,字迹沉稳如刀刻。
他放下鼠标,撕开信封。
信纸只有半页,抬头是秦巴农业抬头纸,下面两行字:
> 安安:
>
> 看完深圳的本子,有件事想问你——
> 当你发现对方给的图纸画错了,是立刻指出来,还是先照着错图纸搭个架子,再让对方自己看见墙歪了?
>
> 父 字
安安久久凝视那行字。楼下传来梁夫人轻唤:“安安,牛奶热好了,下来喝一口再睡?”
他没应声,只将笔记本合上,把那封信仔细折好,夹进ThinkPad键盘下方。然后,他重新点开邮件界面,在正文空白处缓慢敲下:
> Tony哥:
>
> 附件是梦网接口日志中SPID校验失败的原始报错。我核对了运营商提供的V1.2规范文档,发现其中SPID格式定义与实际返回值存在表述差异。
>
> 建议方案:
> 1. 我们暂不修改客户端校验逻辑,保持现有八位十六进制匹配规则;
> 2. 在下次与运营商联调会议前,由夜猫哥牵头,整理一份《SPID字段交互确认清单》(含示例值、校验规则、异常处理建议),请对方技术负责人签字确认;
> 3. 同步准备两套客户端适配预案:A方案按当前规范,B方案兼容七位十进制(预留开关)。
>
> 这样既保证上线节奏,又能把模糊地带变成可追溯的书面共识。
>
> ——安安
邮件发送成功。屏幕右下角时间跳成23:58。
他关机,把ThinkPad放回箱中。起身推开窗——雪后初霁,月光清冽如水,洒在院中那棵老槐树虬结的枝干上。树影斜斜投在墙上,像一幅未完成的工笔画。
安安忽然想起PONY在机场送别时说的话:“你记住,好系统不是写出来的,是磨出来的。磨掉每个人心里那层‘我以为’,剩下大家真正共用的那一块石头。”
他拉上窗帘,躺回床上。黑暗里,手机屏幕突然亮起,微信弹出一条新消息,来自PONY:
> 【PONY】
> 刚收到Tony转发的邮件。他说你提的“确认清单”法,比他们原计划下周去广州谈判时硬碰硬强多了。
>
> 另:你爸今天下午三点,和Jason、Charles在南山科技园喝了两小时茶。走的时候,Jason把那份《专项协调岗试行细则》的终稿塞进了你爸公文包。
>
> 晚安,00015号职工。
>
> 明年暑假,等你回来接手移动梦网正式版上线。
安安望着天花板,嘴角慢慢扬起。窗外月光悄然漫过窗帘缝隙,在地板上淌出一道微光,细长、稳定、不疾不徐,像一条正在延伸的、尚未命名的路。