老周用了三天组队。
第一天他列了一份名单,十四个人,从技术部的三个小组里挑的。
名单上每个人后面标了两项信息:一个是技术方向,后端/前端/测试/架构;另一个是当前手上的项目和交接周期。
他把名单打印出来,铺在实验室的大桌子上,用铅笔划掉了两个,加上了一个,最后剩十三个人。
第二天他跟三个小组的组长谈了话。
不是在会议室谈的,是走到他们工位旁边,站着说的。
老周谈事情从来不预约时间,走过去说了就算数。
三个组长的反应不太一样。
第一个没问题,说"我这边两个人下周可以交接完,你要谁"。
老周报了两个名字,对方点点头,说"行"。
第二个犹豫了一下,说"OS的v2.7.5还有几个兼容性bUg没修完,能不能等到月底"。
第三个直接问:"什么项目?优先级比OS高?"
老周对第二个说:"bUg交给小陈,他跟得了,你的人我明天就要。"
对第三个说:"高。"
没解释什么项目,三个组长也没追问。
在微光的技术部,老周说"优先级高"就是最高优先级,不需要解释。
这个权力是他用v2.7.3上线生产环境那天挣来的。
OS 80.3%可用率,稳定运行到现在没出过一次P0。
他说的话在六楼就是能落地的。
第三天,十二个人到位了。
还有一个在出差,杭州到深圳的高铁上,晚上才能到。
老周没等他,先开了一个碰头会。
碰头会在实验室里开的,实验室不大,十二个人加上老周,十三个人挤在里面,椅子不够,有四个人站着。
老周站在白板前面,白板擦干净了,上面什么都没有。
他没有做PPT。
"这个项目叫'可编程货币引擎',"老周说,"我先说清楚几件事。”
“第一,保密,项目内容不出这个房间,不跟家人说,不跟技术部的其他人说,不在公司群里聊。”
“第二,时间,两个半月,明年一月中旬之前必须能跑起来。”
“第三,目标,我们要做一套独立于银行清算系统的可编程逻辑层,异步架构,跟央行的账本系统通过回调通信。"
他停了一下,看了一圈。
十二张脸,有的在听,有的在想,有的表情没什么变化。
年纪最大的三十五六,最小的二十六七。
大部分人是跟着老周从OS项目一路干过来的,经历过v2.7.3上线前那段最难的日子,通宵赶工,bUg修到凌晨四点,咖啡机坏了用热水冲速溶的。
那段时间扛过来的人对老周有一种不需要言说的信任,他说干什么就干什么,不问为什么。
"有问题现在问。"
安静了两秒。
后端的一个工程师举了一下手,三十出头,戴眼镜,叫方远。
"异步回调的一致性怎么保证?央行的账本是强一致的,我们的逻辑层如果是异步的,中间如果出现网络抖动或者消息丢失,两边的状态会对不上。"
"这是核心问题,"老周说,"也是我们选择这条路的原因,一致性问题解决了,这套架构就成立了,解决不了,就不成立,所以这是你的活。"
方远点了一下头,没再问。
另一个测试工程师问:"测试环境用什么?央行的清算系统我们又没有,怎么模拟?"
"自己搭,我已经申请了一组独立的服务器,模拟央行的双层账本系统,模拟的精度不需要百分之百,但核心的记账逻辑和接口规范要跟央行的公开文档一致,这个我来定规格,你负责搭环境。"
"两个半月搭环境加跑测试,时间够吗?"
"够。"老周说这个字的时候没有停顿。
碰头会开了四十分钟。
老周把项目拆成了四个模块:核心引擎、规则编译器、异步通信层、测试框架。
四个模块分给四个小组,每个小组两到三个人,他自己不挂在任何一个组里,负责整体架构和跨组协调。
分完组之后他在白板上画了一张时间表,不是甘特图,是一条直线,上面标了五个节点:
11月15日 — 架构设计完成
11月30日 — 核心引擎原型跑通
12月15日 — 规则编译器对接完成
12月31日 — 全链路测试通过
1月10日 — 可交付版本
五个节点,平均每十五天一个。
每一个都卡得很死,没有缓冲。
"从今天开始这间实验室就是项目部,"老周说,"白板不擦,桌子不收,东西放哪是哪,别人动了找不到算谁的我管不了,门上的牌子我会换一块。"
他走到门口,把原来那张"微光OS测试环境·闲人免入"的A4纸撕下来,从桌上拿了一支马克笔,在纸的背面写了几个字,重新贴上去。
"请勿打扰。"
…………
那天晚上林彻在七楼办公室里看到了六楼走廊的灯。
不是透过窗户看到的,是他下班走到电梯口的时候,电梯门开了,里面站着一个技术部的人,手里拎着两袋外卖。
林彻认识他,是方远,后端那个戴眼镜的。
方远看到他愣了一下:"林总。"
"加班?"
"嗯,老周说今晚把架构设计的初稿过一遍。"方远举了举手里的外卖袋子,"他们还没吃饭,我下去买的。"
林彻看了一眼外卖袋子,两袋,十几个人的量。
"辛苦。"
"还好。"方远按了六楼的按钮。
电梯门关上了。
林彻站在电梯口没有动。
他听到电梯下行的声音,嗡嗡的,钢缆在井道里滑过去。
七楼的走廊很安静,头顶的灯已经关了一半,只有电梯口这一盏还亮着,地板打了蜡,泛着惨白的光。
他看了一眼手表,晚上八点四十。
六楼那帮人今晚不会走了。
架构设计的初稿,十二个人围在一起过一遍,讨论到哪算哪,讨论不完就接着讨论。
老周开项目的节奏一向是这样,不分上下班,不分工作日休息日,干到阶段性完成为止。
OS上线前的那半个月他在实验室里睡了七个晚上,不是睡不着才不回家,是觉得回家路上浪费的那四十分钟不如用来多跑一轮测试。
他转身回了办公室,从窗户往下看不到六楼的灯,角度不对。
但他知道灯是亮着的。
十二个人加上老周,十三个人,在一间不算大的实验室里,对着白板上那条五个节点的时间线,开始走那条慢的路。
选慢的,那就慢慢走。
他关了灯,拿起包,走了。
楼道里很安静,电梯到了之后他按了负一楼,地下车库。
电梯经过六楼的时候没有停,但他能想象到那个门后面的画面:白板上的时间表,方远的外卖袋子,老周的搪瓷缸,灯全开着。