“可他……”
“他那边我去说。”陈默站起来,“你先去吃饭。下午两点,会议室见。”
他走出办公区,在电梯口遇见了张锐。张锐刚从食堂回来,手里拎着罐冰可乐,易拉罐表面凝结着细密的水珠。
“陈总。”张锐打招呼。
“正好。”陈默按下电梯下行键,“聊两句。”
两人走进电梯。轿厢里只有他们俩,镜子映出两个穿衬衫的男人,一个沉稳,一个锐利。
“王浩的技术水平,你怎么看?”陈默问。
张锐想了想。“扎实。代码风格统一,bug 率低,对业务逻辑理解深。缺点是技术视野有点窄,对新东西接受慢。”
“如果让他实现你的架构,能做好吗?”
“能。”张锐回答得很干脆,“他做事仔细,肯钻研。就是需要有人带着走一遍,把设计思路讲透。”
电梯到了二楼,停住。门开了,没人进来,又缓缓关上。
“那你下午的任务就是这个。”陈默说,“把架构讲透,带着他把关键技术点过一遍。我要看到具体的落地计划,不是方案书。”
张锐挑了挑眉。“陈总,您这是让我……教他?”
“是合作。”陈默纠正,“你的强项在设计和前瞻性,他的强项在实现和稳定性。把两者结合起来,项目才能做成。单打独斗,再厉害也有限。”
电梯到了一楼。门开了,外面是大堂,玻璃门外是正午明晃晃的阳光。
张锐没马上走出去。他站在轿厢里,手里的可乐罐滴下一滴水,在地毯上洇开一个深色的小点。
“我明白了。”他说,“下午我会和王工好好沟通。”
“去吧。”
张锐点点头,走了出去。背影挺直,步子很大,很快消失在旋转门后。
陈默重新按了七楼。电梯上行时,他看了眼手机。财经新闻的推送已经弹出来了,标题很醒目:“灵锐科技前高管涉嫌多项罪名被警方带走调查”。
他划掉了推送。
回到办公室,沈清澜的视频通话请求正好发过来。陈默接通,屏幕上出现她的脸。背景是她家的书房,书架上摆满了技术书籍,窗户敞着,能看见外面绿意盎然的树梢。
“看到新闻了。”沈清澜说,声音透过扬声器传出来,有点轻微的电子杂音。
“嗯。”
“团队那边怎么样?”
“在磨合。”陈默把手机立在桌上,自己坐下,“张锐和王浩刚吵完,苏晴在中间协调。下午开评审会,得把方案定下来。”
沈清澜点了点头。她今天穿件浅蓝色的家居服,头发松松地扎在脑后,几缕碎发垂在脸颊边。没化妆,眼下也有淡淡的青色。
“你看起来没睡好。”陈默说。
“昨晚跟法务开完会,又看了会儿材料。星耀那边施压升级了,可能要正式发律师函。”沈清澜揉了揉眉心,“不过问题不大,王律师都预料到了。”
“需要我做什么?”
“不用。”沈清澜放下手,看着他,“你把团队带好就行。新项目第一个里程碑,不能出岔子。”
“知道。”
两人沉默了几秒。视频通话有微小的延迟,沈清澜眨眼的动作看起来像慢了一帧。
“赵志刚的事,”她忽然问,“你感觉怎么样?”
陈默想了想。“没什么感觉。就像拔掉一颗坏了的牙,疼了很久,终于拔掉了。剩下的只有空荡荡的牙床,和一点不习惯。”
“会习惯的。”
“嗯。”
窗外的阳光又移动了一点,现在照在书架边缘,几本厚皮书的书脊被晒得微微发烫。空气里有纸张受热后特有的干燥气味。
“下午的会,我远程参加。”沈清澜说,“新办公区的网络调试好了吧?”
“调试好了。全千兆,专门拉了专线。”
“那就好。”沈清澜看了眼时间,“我两点准时上线。你先去吃饭。”
“你吃了没?”
“叫了外卖,马上到。”
陈默还想说什么,但最终只是点了点头。“好。两点见。”
视频挂断了。屏幕暗下去,映出他自己的脸,还有身后一整面墙的书架。那些书有些是买的,有些是前同事送的,还有些是这三年一本本攒下来的技术手册。
他站起来,从抽屉里拿出个面包。塑封包装,夹着火腿和生菜,是便利店最普通的那种。陈默撕开包装,咬了一口。面包有点干,生菜叶不够脆,但能填饱肚子。
他一边吃,一边继续看那两份方案文档。红笔在纸页上移动,划出重点,写下批注。阳光慢慢偏斜,影子在桌面上拉长。
一点五十,陈默收拾好文档,走出办公室。
会议室里已经有人了。张锐和王浩坐在长桌两侧,中间隔了两个空位。两人面前都摊着笔记本电脑,屏幕上显示着不同的图表。没说话,但气氛比早上缓和了些。
苏晴坐在靠墙的位置,面前摆着投影仪遥控器和一沓打印出来的产品原型图。看见陈默进来,她站起来:“陈总。”
“坐。”陈默走到主位,放下手里的文件夹,“沈总监远程参加,设备调好了吗?”
“调好了。”苏晴指了指桌上的摄像头和麦克风,“音视频都测试过,没问题。”
两点整,墙上的显示屏亮起。沈清澜出现在画面里,她已经换了正装,白衬衫,头发梳得整齐。背景是书房的那面白墙,干干净净,没有杂物。
“大家下午好。”她说,声音清晰地从音箱里传出来。
“沈总监好。”张锐和王浩几乎同时开口。
陈默打开投影仪。白色的光柱打在幕布上,映出方案文档的首页。“开始吧。张工,你先讲架构设计。”
张锐站起来,走到幕布前。他打开自己的演示文稿,第一页是事件驱动架构的整体框图。线条清晰,色块分明,箭头指向明确。
“先从问题说起。”张锐开口,语速比平时慢了些,像是在刻意控制,“现有轮询方案的最大瓶颈,在于资源利用率低和响应延迟高。这是数据。”
他切换到下一页,柱状图,折线图,密密麻麻的数字。
王浩盯着那些图表,手指在桌面上轻轻敲击。那是他思考时的习惯动作。
张锐讲了二十分钟。从架构原理,到技术选型,再到具体实现路径。每讲到一个关键点,他都会看一眼王浩,像是在确认对方是否跟上。
陈默注意到,王浩敲击桌面的频率在降低。到后面,他甚至会微微点头。
“这是风险清单。”张锐翻到最后一页,表格列了十七条,“其中一到五条是技术风险,六到十二条是时间风险,十三到十七条是团队能力风险。我的建议是,技术风险可以通过预研和 PoC 验证来降低,时间风险需要调整项目排期,团队风险……”
他顿了顿,看向王浩。
“需要王工协助,带领团队熟悉新框架。”
所有人的目光都落在王浩身上。
王浩沉默了几秒。他站起来,走到幕布前,接过张锐递来的翻页笔。“那我就从落地角度说说。”
他打开自己的文档。第一页不是架构图,而是一张详细到每一天的甘特图。
“如果按张工的架构改,我们需要这些资源。”王浩指着图表,“前端两人,后端三人,测试两人,至少两周的预研时间。这是最理想的情况,不遇到重大技术问题。”
他切换到下一页,是风险评估矩阵。
“十七条风险里,我认为这三条最要命。”王浩用激光笔圈出三个条目,“新框架和现有监控系统不兼容,需要自研适配层。事件丢失后的数据恢复机制,目前开源方案都不完善,得自己写。还有团队学习成本,保守估计,前两周效率会下降百分之四十。”
张锐点了点头。“我同意。这三个问题确实关键。”
“解决方案我列了几个。”王浩继续往下翻,“监控适配层,可以用我们之前做过的某个中间件改造,工作量大约三人天。数据恢复机制,我昨晚查了资料,有个半成品的开源项目可以借鉴,改改能用。学习成本……”
他看向张锐。
“需要张工出一套培训材料,带着大家手把手走一遍核心流程。第一周每天抽两小时,第二周每天一小时。这样效率损失可以控制在百分之二十以内。”
张锐想了想。“可以。材料我今晚开始准备。”
会议室里安静下来。幕布上的光映在每个人脸上,明明灭灭。
陈默看向视频画面里的沈清澜。她微微点头,在平板上写着什么。
“苏晴。”陈默开口,“产品角度,你怎么看?”
苏晴站起来。她走到幕布前,打开产品原型图。“如果采用新架构,实时看板可以做到秒级更新。这是我们的核心卖点之一,对投资方演示很重要。”
她顿了顿,翻到下一页。
“但我也同意王工的风险评估。时间太紧,如果因为技术问题导致 deo 延期,或者演示时出 bug,那还不如用稳定方案,至少功能完整。”
“所以你的建议是?”沈清澜的声音从音箱里传出。
苏晴深吸一口气。“我建议分阶段。核心链路先用新架构,保证演示效果。非关键模块保持现有方案,降低风险。等 deo 结束后,再逐步迭代。”
张锐和王浩对视了一眼。
“技术上可行。”张锐先说,“核心链路大概占代码量的百分之四十。集中人力攻这一块,两周应该能搞定。”
“测试压力会很大。”王浩补充,“但如果我们把自动化测试用例先写出来,边开发边测试,应该能扛住。”
陈默靠在椅背上。他看了眼幕布上的各种图表,又看了眼面前的两个工程师。张锐站得笔直,眼神专注。王浩微微弓着背,但脸上的焦虑已经淡了许多。
“那就这么定。”陈默说,“张锐负责核心链路架构设计和关键技术攻关。王浩负责落地实施、风险控制和团队培训。苏晴调整产品需求优先级,聚焦核心功能演示。”
他顿了顿。
“从今天起,你们俩每天早晚各同步一次进度,有问题当场解决,不准拖。苏晴每天跟进度,随时调整需求。我每两天看一次整体汇报。”
三个人都点了点头。
“沈总监还有补充吗?”陈默看向摄像头。
沈清澜在画面里微微一笑。“没有。执行层面你们定,需要资源支持随时找我。”
“好。”陈默合上文件夹,“散会。各自去忙吧。”
张锐和王浩收拾电脑,一前一后走出会议室。苏晴留下整理投影设备,动作利索。
陈默关掉视频通话。屏幕暗下去之前,他看见沈清澜朝他比了个大拇指。
很微小的动作,但意思明确。
窗外传来隐约的施工声,隔壁楼好像在装修。电钻的嗡嗡声透过玻璃传进来,闷闷的,像远处打雷。
陈默走到窗边。下午的阳光斜照在园区里,把建筑物的影子拉得很长。绿化带里的自动喷头开始工作,旋转着喷出水雾,在光里折射出细小的彩虹。
他站了一会儿,然后回到办公室。
桌面上,手机屏幕亮着。一条新消息来自周拓:“陈哥,媒体反响很大。灵锐的股价开盘跌了七个点,董事会刚才发了紧急停牌公告。”
陈默打字回复:“知道了。”
他放下手机,打开电脑。邮箱里又堆了几十封新邮件,有媒体采访请求,有行业会议的邀请函,还有几家投资机构发来的约见信。
全都标为未读。
陈默点开代码编辑器。他需要写一段工具脚本,用来监控新架构开发的关键节点。手指放在键盘上,敲下第一行注释。
屏幕的光映在他脸上,那双眼睛很专注,专注得像在解一道复杂的数学题。
办公室外传来隐约的讨论声。张锐和王浩的工位挨着,两人正在白板上画着什么,语速很快,但语气平和。苏晴抱着笔记本走过去,加入了讨论。
键盘声,说话声,白板笔划过板面的吱呀声——所有的声音混合在一起,成了这个下午的背景音。
陈默写完脚本,测试,运行。命令行窗口里跳出一行行绿色的输出,所有检查项都通过。
他保存,关闭,靠在椅背上。
窗外的天空开始泛黄,傍晚要来了。远处的楼宇玻璃幕墙上,映出大片大片的橙红色晚霞,像烧起来的火。
手机又震了。这次是沈清澜:“晚上一起吃饭?庆祝一下。”
陈默回复:“好。想吃什么?”
“你定。我半小时后出门。”
“那就老地方。”
“行。”
陈默收起手机。他站起来,走到办公室门口,往外看了一眼。
开放式办公区里,张锐和王浩还站在白板前。两人肩并肩,一个在画架构图,一个在写注意事项。苏晴坐在旁边的工位上,对照着原型图修改需求文档。
绿植的叶子在空调的风里轻轻晃动。
灯光一盏盏亮起来,暖黄色的光晕笼罩着每个工位。显示器屏幕的光,键盘缝隙里的光,咖啡杯上氤氲的热气——所有的细节拼在一起,成了这个团队此刻的样子。
还不完美,还有摩擦,还有问题。
但他们在往前走了。
陈默轻轻关上门。他走回办公桌前,关掉电脑,收拾东西。西装外套搭在手臂上,公文包拎在手里。
走出办公室时,他听见张锐说:“这个地方的并发处理,我觉得可以用队列缓冲。”
王浩回答:“队列可以,但得考虑消息堆积的情况。我建议加个监控,超阈值就告警。”
“有道理。那监控指标怎么定?”
“我列几个,你看看。”
陈默没打扰他们。他穿过办公区,走进电梯。轿厢下行时,能听见钢缆摩擦的规律声响,像某种机械的心跳。
大堂里灯光明亮。前台小姑娘正在收拾东西准备下班,看见他,笑着挥手:“陈总再见。”
“再见。”陈默点头。
推开玻璃门,傍晚的风涌进来。不冷不热,刚刚好。天空是渐变的蓝紫色,西边还残留着一抹橙红。街灯已经亮了,车流开始变得密集,尾灯连成红色的长河。
陈默站在路边等车。他掏出手机,看了眼时间。
下午六点二十一分。
距离早晨醒来,过去了十一个小时三十四分钟。距离赵志刚被带走,过去了六个小时。距离团队吵架,过去了九个小时。
时间在往前走,事情在发生,问题在被解决。
就像代码运行,就像系统迭代,就像这座城市永不停歇的脉搏。
车来了。陈默拉开车门坐进去,报出餐厅地址。车子汇入车流,窗外的街景开始向后流动。
他靠在椅背上,闭上眼睛。
脑海里没有推演界面,没有概率数字,没有风险提示。只有一片平静的黑暗,像深夜的海面。
车子拐过街角,驶向城市的灯火深处。
窗外,暮色四合,夜晚即将降临。而新的一天,已经在酝酿之中。