封闭开发的第一天,李大刚只睡了三个小时。
小会议室被改造成了临时开发间,三张桌子拼在一起,六台显示器,两台服务器。老周负责运维环境,小张负责前端接口,李大刚负责核心架构。
王美兰来过一次,待了五分钟。她穿着一身崭新的职业套装,高跟鞋在大理石地面上敲出清脆的声响。她站在门口,扫了一眼满墙的流程图和代码,说了一句"辛苦了",然后转身走了。
"她连我们在干什么都不知道。"小张在她走后低声说。
"她知道我们在干活就够了。"李大刚盯着屏幕,手指在键盘上飞舞,"她不需要知道我们在干什么,她只需要知道三十天后有东西可以演示。"
老周从角落里拖出一个纸箱,里面装满了方便面和矿泉水。"我从楼下小卖部搬的,先凑合着。"
三个人就这样开始了。
前十天,李大刚完成了底层架构的设计。他没有采用常规的微服务架构,因为那种架构需要大量的测试和调优,时间不允许。他设计了一个高度耦合的单体架构,所有模块紧密绑定,数据流在内部循环,对外只暴露一个统一的API接口。
这种架构的优点是开发快,部署简单,演示效果好。缺点是任何一个模块出问题,都会导致整个系统崩溃。
"这样不行。"小张在第十一天的晚上说,他指着架构图上的一个节点,"这个时钟同步模块,如果出问题,整个系统的时间戳都会错乱。数据会乱套,分析结果会全错。"
"我知道。"李大刚说。
"那你还这么设计?"
"因为三十天只能做出这种东西。"李大刚转过头,看着小张,"小张,你以为我不知道这个架构有问题吗?我知道。每一个模块,每一个接口,每一个数据流,我都知道问题在哪里。但王美兰不知道,政府验收的人不知道,投资人也不知道。他们只知道屏幕上显示的数据很漂亮,图表很炫酷,报告很专业。"
小张的脸色变了。"李工,你是说……"
"我什么都没说。"李大刚转回去,继续敲代码,"我只是在做我的工作。用三十天,搭一个能跑起来的系统。"
老周一直在旁边听着,没有插话。等小张去洗手间的时候,他走到李大刚身边,压低声音说:"你故意的。"
"什么?"
"这个架构,这个时钟同步模块。"老周的眼睛里有某种李大刚读不懂的东西,"你故意留了漏洞。"
李大刚的手指停在键盘上方。
"老周,"他说,"我做了十五年技术。十五年里,我搭过无数系统,修过无数bug。我知道一个系统什么时候会出问题,也知道怎么让它不出问题。但这一次,我没有选择。"
"你可以选择不做。"
"我可以选择不做,然后被开除,被行业拉黑,背着'不配合公司战略'的罪名找不到下一份工作。"李大刚的声音依然平静,"老周,我有房贷,有孩子,有老人。我不能失业。"
"所以你就做一个会炸的炸弹?"
"我会做一个在三十天内不会炸的炸弹。"李大刚纠正道,"三十天后,项目验收,王美兰领奖,公司上市。至于之后的事,那不是我的责任。"
老周盯着他看了很久,然后叹了口气。"李工,你变了。"
"人都会变。"
"不,你以前不是这样的。"老周摇摇头,"你以前会跟王美兰争,会跟公司争。你会说这样做不对,会写邮件给高层反映问题。你现在……你现在什么都不说,只是默默地做,然后留一个坑。"
李大刚没有回答。他看着屏幕上的代码,那些字符像某种他熟悉的语言,又像某种他不再理解的符号。
"因为我发现,争没有用。"他终于开口,声音很轻,"我写过的邮件,发过的投诉,做过的抗争,全部石沉大海。王美兰的表哥是副总,副总上面还有总经理,总经理上面还有董事会。他们是一伙的,我只是一个打工的。我说的话,他们听不见;即使听见了,也不会听。"
"所以你就用这种方式?"
"这是我唯一的方式。"李大刚说,"老周,你干了十五年,你应该明白。在这个行业里,技术从来不是最重要的。重要的是关系,是站队,是会不会来事。我学不会这些,我只能用我唯一会的东西保护自己。"
老周沉默了很久,最后拍了拍李大刚的肩膀。"小心点。"
"我知道。"