创作声明:本文为虚构创作,请勿与现实关联

「你这种写法还停留在10年前,在我们清华实验室早就淘汰了。」

新任CTO李总当着全部门30多人的面,指着我的代码冷笑道。

「公司要发展,就不能被这种落后思维拖累。」他直接任命一个号称阿狸P8的王浩然为核心架构师,把我调到基础开发组写增删改查。

更过分的是,他竟然要求我签署「不干预新架构开发」的承诺书,威胁不签就调到客服部做技术支持。

我被迫签了字,但私下保存了一份详细的风险评估报告。果然,新架构上线第一天系统就全面崩溃,用户无法登录,订单无法处理,公司每小时损失200万!

李总满头大汗地跑来求我:「建国,快帮忙看看!」

我冷静地回答:「抱歉,根据承诺书,核心系统我不能碰。」

可谁也没想到,三天后发生的事情,彻底颠覆了所有人的认知!

01

01

周五下午四点,我正埋头修复一个支付模块的紧急bug。系统昨天晚上开始偶发性报错,用户投诉电话已经响了一上午。

「张建国,你停一下。」

我抬起头,新任CTO李总站在我工位后面,身边跟着一个三十岁左右的年轻人。整个技术部三十多号人的目光瞬间聚焦过来。

李总指着我的屏幕:「你这种写法不利于后期升级维护。你看,这里直接写SQL拼接,没有用ORM框架;这里的异常处理还在用try-catch包一大段,现在都用函数式编程的方式处理了。」

我的手指在键盘上停住。我来这家公司10年了,作为一个干了快20年开发的程序员,这套代码我从零写到现在,稳定运行,处理过亿万级的交易数据,从没出过大问题。

李总转向其他同事:「大家看看,这就是技术债务。代码能跑不代表代码好,我们要的是可扩展、可维护的现代化架构。」

「李总,这个模块涉及复杂的业务逻辑,直接写SQL是为了性能考虑...」

「你先别说话,我还没说完。」李总摆摆手,「性能?现在硬件这么便宜,我们追求的是开发效率和代码优雅性。你这种思维还停留在十年前资源紧张的时代。」

十多年来第一次怀疑自己的判断。

李总拍拍身边年轻人的肩膀:「给大家介绍一下,这位是王浩然,前阿狸P8,我们的技术专家。接下来公司要进行技术架构全面升级。」

我握紧拳头。这个王浩然从进门开始就没看过我一眼,仿佛我这个老员工根本不值得他注意。

「现在宣布一下新的组织架构。」李总清了清嗓子,「王浩然担任核心系统架构师,负责用户系统、支付系统、订单系统的重构。原来参与核心开发的同事,暂时调到基础开发组。」

基础开发组?那不就是写增删改查的地方吗?

旁边的小陈低下头,不敢看我。他跟我搭档三年,对这套系统的每个模块都了如指掌。现在却要被一个外来的人指手画脚。

「当然。」李总扫视全场,最后目光落在我身上,「如果老员工能证明自己跟得上时代,我们也欢迎。」

这话听起来像是给了机会,实际上是在宣判死刑。一个在公司干了十年的老员工,被当众质疑技术水平,还要"证明自己"?

我站起身,直视李总的眼睛:「李总,我来这家公司10年了,作为一个干了快20年开发的程序员,这套系统我从零开始写到现在,每一行代码的业务逻辑我都清楚。性能优化、故障处理、数据迁移,这些都不是理论知识能替代的。」

「建国,时代在变,技术在进步。」李总的语气缓和了一些,但话里的意思没变,「你的经验很宝贵,但我们需要用更现代的方式来管理代码。王浩然会带领团队,用微服务架构重新设计整个系统。」

王浩然终于开口了:「老张,你这套代码确实该淘汰了。但是单体架构确实已经不适合公司现在的发展规模了。」

感情?他用这个词来形容我十年的技术积累?

我收拾桌上的笔记本,起身往外走。在门口,我回头看了一眼。三十多个同事,有的低头看手机,有的假装整理文件,没人敢跟我对视。

只有小陈抬起头,冲我苦笑了一下。

李总的声音从身后传来:「会后大家把现有代码整理一下,准备交接给王浩然团队。新架构预计三个月内完成开发,六个月内上线。」

三个月?我用了十年才把这套系统打磨成现在的样子,他们三个月就要推倒重来?

走出办公室,我在楼梯间点了根烟。手机响了,是老婆打来的。

「怎么样?新领导还好相处吗?」

我深吸一口烟:「挺好的,就是要证明一下自己跟得上时代。」

「那就证明给他们看呗,你这么厉害。」

我没再说话。电话那头,老婆还在关心地问着什么,但我的注意力已经回到刚才那个场景。

证明自己?好,我倒要看看,你们能玩出什么花样来。

02

02

周三上午,李总召集了全部门技术评审会。王浩然在大屏幕上展示他的微服务架构图,密密麻麻的模块连接线看得人眼花。

我翻着手里的技术方案,越看越皱眉。用户认证服务只部署一个实例?这要是挂了,整个系统都得瘫痪。

「有什么问题吗?」王浩然注意到我的表情。

我放下文件:「这个用户认证服务存在单点故障风险。一旦这个节点出问题,所有业务都会受影响。」

「张工,你这是用十年前的思维看现在的技术。」王浩然点击PPT翻到下一页,「现在的容器技术已经很稳定了,而且我们用的是云原生架构,自动扩缩容,不会有你担心的问题。」

我直接站了起来:「容器再稳定也是跑在物理机上的。网络故障、磁盘损坏、机房断电,这些问题容器解决不了。」

「那是运维的事,不是架构设计要考虑的。」王浩然摆摆手,「我们要关注的是业务逻辑的解耦,不是这些底层的细节。」

会议室里安静得能听到空调的嗡嗡声。小陈和几个老同事互相看了看,没人敢说话。

李总敲敲桌子:「建国,王浩然说得对。现在的云计算技术已经很成熟了,我们要相信新技术的能力。」

我拿起桌上的水杯,一口气喝完:「李总,三年前我们处理过一次类似的故障。当时就是因为认证服务单点故障,导致整个系统瘫痪了四个小时,损失了两百万。」

「那是三年前的技术水平。」李总的语气有些不耐烦,「建国,你不能总是用过去的经验来否定新的方案。技术在进步,我们的思维也要进步。」

王浩然补充道:「而且我们这次用的是分布式架构,跟三年前的单体系统完全不一样。」

我看着这两个人,一个是学院派的CTO,一个是空降的专家,都没在这个系统上真正流过血流过汗。

「那好,我建议至少部署三个认证服务实例,做负载均衡。」我退一步,「这样成本不会增加太多。」

「张工,你还是不理解微服务的精髓。」王浩然摇摇头,「过度设计是大忌,我们要的是轻量级、敏捷开发。」

李总看看手表:「好了,这个方案就这么定了。建国,你的意见我们记录下来了,但是最终决策权在技术委员会。」

技术委员会?就李总和王浩然两个人,还叫什么委员会。

散会后,李总把我单独留下:「建国,有件事需要你配合一下。」

他从文件夹里抽出一张纸:「为了保证新架构开发的独立性,需要原来参与核心系统的同事签个承诺书。」

我接过来看了看,上面写着"不干预新架构开发,不对新方案提出质疑"等条款。

「李总,这是什么意思?」

「就是说,新系统开发期间,你们专心做基础开发的工作,不要对王浩然的团队指手画脚。」

我把纸放在桌上:「我不签。」

李总的脸色沉了下来:「建国,这是公司的决定。」

「哪条公司制度规定技术人员不能提出技术意见?」我盯着他的眼睛,「这个承诺书本身就是违法的。」

门口走进来一个人,是人事部的张主任。显然是李总提前安排好的。

张主任坐下来,打开笔记本:「建国,公司现在要进行技术转型,需要每个人都配合。如果你觉得现在的岗位不合适,我们可以考虑调整。」

03

03

周末在家整理技术资料时,我突然想起一件事。王浩然说自己是阿狸P8,但他对阿狸的技术栈好像并不熟悉。

我打开微信,找到大学同学老刘。他在阿狸待了七年,现在是P9级别的技术专家。

我发了个语音过去:「老刘,帮我查个人,王浩然,说是你们那边出来的P8架构师。」

半个小时后,老刘回复:「查了,没这个人。P8级别的架构师我基本都认识,从来没听过这个名字。」

我又问了企鹅和字节的几个朋友,都说没有这个人。

周一上午,我敲响了李总办公室的门。

「李总,我需要跟你聊聊王浩然的事情。」

李总头也不抬:「有什么问题?」

「他的简历有问题。我通过朋友核实过,阿狸那边根本没有这个人。」

李总停下手中的笔,抬头看我:「建国,你这是在做什么?」

「我在履行技术人员的职责。」我把手机里的聊天记录截图放在他桌上,「这些都是阿狸、企鹅、字节的朋友帮我核实的。王浩然所谓的P8经历完全是编造的。」

李总拿起截图看了看,然后冷笑一声:「你有什么直接证据吗?就凭几张聊天记录?」

「这些朋友都是各大厂的技术专家,他们的话还不够可信?」

「就算是真的,那又怎么样?」李总把截图推回给我,「改变不了你技术落后的事实。王浩然的方案得到了我的认可,这就够了。」

我握紧手机:「李总,你这是在包庇。」

「建国,我警告你,不要再搞这些小动作了。」李总站起身,「专心做好你的基础开发工作,别的事情不要多管。」

我看着他的眼睛:「那如果新架构出了问题,你负责吗?」

「不会出问题的。即使出了问题,也有应急预案。」

走出办公室,我在楼梯间点了根烟。王浩然简历事情,李总明显是知道的,但他选择了装聋作哑。这说明什么?说明在他眼里,赶走我比维护公司利益更重要。

下午开周会,王浩然在汇报新架构的进展。

「目前用户模块和支付模块已经完成了基本框架,预计下周可以进入联调阶段。」

小陈举手发言:「王专家,这个进度确实很快,比我们之前的开发效率高多了。」

我转头看小陈,他避开我的目光。这个跟我搭档三年的兄弟,现在开始公开表态支持王浩然了。

王浩然笑了笑:「微服务架构的优势就在这里,模块化开发,并行推进。」

「建国哥,时代变了,我们也要变。」小陈突然看向我,「新技术确实有它的优势,我们不能总是抱着老思想不放。」

会议室里十几双眼睛看着我。小陈这话等于是在众人面前划清界限,宣布他站队王浩然。

我什么话都没说,起身离开了会议室。

在茶水间遇到另一个老同事小李,他端着咖啡走过来:「建国,听说你在查王浩然的底细?」

「你也觉得我多管闲事?」

「我不是这个意思。」小李四下看了看,压低声音,「但是现在风头不对,我们这些老员工都在观望。你这样冲在前面,万一出事了...」

「什么万一出事了?」

「万一出事了,没人能保你。」

我喝了口水:「那你觉得我应该怎么办?」

「低头认错,主动配合新架构。现在公司明摆着要换血,咱们这些老员工,能保住工作就不错了。」

晚上回到家,老婆坐在沙发上,脸色很难看。

「怎么了?」

「今天我们公司的技术对接出问题了。」老婆看着我,眼圈泛红,「你们那边的API接口不稳定,我负责的项目上线又要延期。」

我坐下来:「什么接口?用户认证那个?」

「对!今天下午开始频繁超时。」老婆突然提高音量,「我们技术总监说,你们公司正在做架构升级,系统很不稳定。我的KPI考核就看这个项目,延期意味着年终奖没了!」

我伸手想拉她,被她甩开:「这不应该啊,现在用的还是老系统,怎么会不稳定?」

「不管什么系统!」老婆站起来,在客厅里来回走,「因为你们的问题,我的项目要推迟一个月。你知道我们老板今天怎么说的吗?说你们公司技术部管理混乱,以后要重新评估合作关系。」

我也站了起来:「我没有拖后腿,我只是在坚持技术原则。」

「什么技术原则!」老婆转身对着我喊,「建国!你到底要闹到什么时候?房贷车贷孩子上学,这些你想过吗?」

我看着老婆通红的眼睛,一时间不知道说什么。她说得对,我的坚持确实影响了她的工作。但是,技术人员如果连最基本的职业操守都没有了,那还算什么技术人员?

老婆坐回沙发上,把脸埋在手里:「建国,我求求你,别再跟他们斗了。我们斗不过的,真的斗不过。」

我走到窗边,看着楼下车水马龙的街道。十年前刚进这家公司的时候,我充满斗志,觉得只要技术过硬,就能在这个行业站稳脚跟。

现在我才明白,技术过硬只是基础,更重要的是要会看风向,会站队,会低头。

但是,让我向一个如此假的人低头,我做不到。

我回到书房,继续完善那份风险评估报告。不管别人怎么看我,这份报告就是我的态度。

04

04

接下来的两周,我选择了妥协。

老婆那天晚上哭得很厉害,我意识到自己的坚持确实影响了家人。第二天上班,我主动找到王浩然。

「王专家,如果有需要我协助的地方,尽管说。」

王浩然看起来有些意外:「张工,你愿意配合我们的工作了?」

「技术无国界,也无派别。能把系统做好,我当然愿意帮忙。」

我确实帮了不少忙。数据库迁移脚本是我写的,老系统的API兼容方案也是我提供的。小陈私下跟我说:「建国哥,你这样配合,大家都看在眼里。」

团队氛围缓和了很多。李总路过我工位时,甚至还点了点头。

但我心里很清楚,这种表面的和谐改变不了什么。那份风险评估报告,我依然在更新,依然在完善。

三周后的周一上午,李总召集全公司大会,宣布新架构正式上线。

「经过三个月的努力,我们的技术架构全面升级完成。新系统将为公司带来更高的性能和更好的扩展性。」

台下掌声雷动。我坐在最后一排,鼓掌的动作很轻。

上午十点,新系统正式切换。

十点十五分,客服部开始接到用户投诉电话。

十点三十分,运维组长跑到技术部:「系统出问题了!用户登录失败率超过50%!」

王浩然在自己电脑上敲着命令:「应该是负载问题,我马上调整服务器配置。」

十一点,情况更糟了。订单系统开始报错,支付流程完全卡死。

李总站在王浩然旁边,额头开始冒汗:「到底怎么回事?」

「可能是数据库连接池的配置有问题。」王浩然的声音有些发抖,「我需要时间排查。」

十一点三十分,整个系统彻底瘫痪。用户无法登录,商家无法接单,客服电话被打爆。

我坐在工位上,看着大屏幕上飞速滚动的错误日志。每一条错误信息,都在我的风险评估报告里提到过。

认证服务单点故障,数据库连接池溢出,缓存雪崩效应。一个接一个,就像多米诺骨牌。

李总满头大汗地跑到我面前:「建国,你最熟悉底层逻辑,快帮我们看看!」

我缓缓抬起头,看着这个三周前还在质疑我技术水平的CTO:「抱歉李总,根据承诺书,我只负责基础代码维护。核心系统的问题,我不能碰。」

「现在不是说这些的时候!」李总的声音有些尖锐,「公司每分钟都在损失钱!」

我打开计算器,按了几个数字:「按照我们的日均交易量,系统瘫痪一小时,直接损失大概120万。加上客户流失和品牌影响,一小时200万差不多。」

李总愣住了:「你...你早就知道会出这种问题?」

「我在技术评审会上提过,在风险评估报告里写过。」我从抽屉里拿出那份报告,放在桌上,「但是你说我技术落后,不懂新技术。」

王浩然从另一边跑过来,脸色惨白:「张工,我承认之前态度不好。现在能不能先帮忙解决问题?」

我看了看手表,距离系统瘫痪已经过去一个半小时了:「王专家,你不是说容器技术很稳定,不会有我担心的问题吗?」

「我...我确实低估了复杂度。」王浩然的声音小得像蚊子,「但现在最重要的是修复系统。」

办公室里安静得可怕。三十多个同事都看着我们三个人,等着看这出戏怎么收场。

我站起身,走到窗边,看着楼下的车流。十年来,我第一次感受到了什么叫做技术人员的尊严,那种被需要、被依赖的感觉。

但我也知道,这种尊严是用公司的损失换来的。每多等一分钟,损失就多几万块。

我转身面对李总:「我可以出手,但有两个条件。」

李总急切地说:「什么条件?你说!」

「第一,这次修复由我全权负责,任何人不得干预我的技术决策。第二,等问题解决后,我要在全公司技术大会上做技术复盘,把这次故障的原因详细分析一遍。」

李总毫不犹豫地点头:「没问题!我现在就宣布,张建国全权负责系统修复!」

我开始在键盘上飞速敲击命令。十年的经验,让我对每个模块的依赖关系都了如指掌。

首先关闭非核心服务,释放数据库连接。然后重启认证服务,恢复用户登录。接着调整缓存策略,防止雪崩再次发生。

一个小时后,系统开始逐步恢复。

两个小时后,所有功能完全正常。

李总瘫坐在椅子上,长长地出了一口气:「建国,辛苦了。」

我保存了修复日志,关上电脑:「李总,三个小时的停机时间,按最保守估计,公司损失600万。这就是不听技术建议的代价。」

办公室里依然很安静。每个人都在思考一个问题:如果当初听了我的建议,今天的灾难是不是就不会发生?

但我知道,这只是个开始。我在修复系统的同时,也收集了一些有趣的证据...