领导说我写代码太慢要降薪,交接项目时他问:你这破代码谁能维护?我:下周你就知道了
......
"李师傅,你的开发效率严重拖后腿,从下月起薪水降30%,不服气可以走人。"
技术总监王胜利站在会议室前方,手里拿着一份绩效报告,声音故意放得很大。他那张三十出头的脸上写满了得意,仿佛在享受这种掌控他人命运的快感。
会议室里坐着整个技术部门的人,年轻程序员们交头接耳,窃窃私语中带着幸灾乐祸的味道。HR小陈在一旁认真做着记录,偶尔抬头看一眼坐在角落的老李。
46岁的李建国——大家都叫他老李——静静地坐在最后一排,面无表情地看着这个空降了三个月的新领导。
"别人一天能写800行代码,你才写80行,这效率谁受得了?"王胜利继续说道,语气里满是不屑,"现在公司要降本增效,你这种养老型员工..."
"王总,代码质量..."老李终于开口,声音很平静。
"什么质量?"王胜利粗暴地打断了他,"能跑就行!现在是敏捷开发时代,快速迭代才是王道!你那套老古董思维早该淘汰了!"
老李看了看周围幸灾乐祸的同事们,缓缓起身收拾桌上的笔记本:"交接可以,但下周你们就知道后果了。"
这句话让会议室里的笑声戛然而止。
01
降薪决定宣布后的一周里,整个技术部门都在议论这件事。
茶水间里,几个年轻程序员围在一起,压低声音却故意让老李能听到。
"李叔这次踢到铁板了,王总可是从大厂来的。"25岁的前端程序员小张一边泡咖啡一边说道。
"就是,还在用老掉牙的SSH框架,现在都微服务了。"28岁的后端程序员小赵附和着,"我看过他的代码,一个简单功能写成那样,连新人都看不下去。"
26岁的全栈程序员小刘更是直接:"8年写成这样更说明问题,完全没进步。像我们这种有冲劲的年轻人,才是公司需要的。"
只有老员工陈哥看不下去了:"别说了,人家在公司8年了,你们才来几个月。"
"8年更说明问题!"小张不以为然,"这说明他根本没有学习能力,被时代淘汰是必然的。"
老李路过茶水间,听到这些议论,脸上没有任何表情变化。他只是默默地接了一杯开水,然后回到自己的工位上。
而此时的王胜利,正在他的办公室里接受其他部门领导的"膜拜"。
"王总就是厉害,一来就敢动老员工。"人事经理竖起大拇指,"那个老李确实该收拾收拾了。"
"这算什么,"王胜利摆了摆手,脸上满是骄傲,"现在都是云原生容器化,他那套单体应用太落后了。还在用Tomcat?Nginx+Node.js不香吗?"
"还有他那代码,完全不符合设计模式,可维护性太差了。"王胜利继续炫耀着自己的"专业知识","我在阿里的时候,这种代码根本过不了review。"
财务总监好奇地问:"王总,您在阿里待了多久?"
"半年多吧,"王胜利轻咳一声,"主要是项目太多,抽不开身,不然肯定会转正的。"
他没有说的是,那半年其实只是实习期,而且还被导师多次批评代码质量有问题。
下午的技术会议上,王胜利更是将自己的"管理艺术"发挥到了极致。
"这次我们要重新规划技术架构,"王胜利指着白板上的流程图,"李师傅年纪大了,思维跟不上了,这很正常。所以新项目我决定全部交给年轻人来做。"
小张举手发言:"王总,那老系统怎么办?"
"老系统就让李师傅继续维护吧,"王胜利挥了挥手,"反正也没什么技术含量,适合他这种...嗯,经验型员工。"
会议室里传出善意的笑声,只有老李依然面无表情地坐在那里。
"年轻人有冲劲,老员工有惰性,这是规律。"王胜利总结道,"公司要发展,就必须淘汰落后产能。李师傅,你就安心维护老系统,新技术的事情就不用操心了。"
老李抬起头看了他一眼,什么也没说。
散会后,老李依然是一个人默默地回到工位上。他每天9点准时到公司,6点准时下班,从不加班。午休时独自吃饭,经常拿着技术文档在看。
最让人奇怪的是,他经常会对着服务器监控界面发呆,有时候一看就是半个小时,也不知道在想什么。
"你们说,老李会不会在服务器上留什么后门?"小刘有些担心地问道。
"不可能吧,"小张摇头,"就他那技术水平,能写出后门来?"
"也是,"小赵附和,"估计就是不甘心被降薪,故意装深沉吧。"
然而,如果他们仔细观察,会发现老李看监控时的眼神并不是发呆,而是在观察着什么极其重要的东西。那种专注和深邃,就像一个经验丰富的医生在观察病人的生命体征。
02
一周后,正式交接的日子到了。王胜利特意选择了大会议室,还让投影仪准备就绪,显然要来一场"技术表演"。
"今天让大家看看什么叫不规范代码,引以为戒。"王胜利站在投影屏幕前,语气里带着教师般的权威感,"李师傅这8年写的代码,就是反面教材。"
整个技术部门的人都坐在会议室里,连其他部门的同事也来了不少。老李坐在最前排,面对着自己的代码被投影在屏幕上。
"你们看这里,"王胜利用激光笔指着屏幕,"为什么要写这么多try-catch?一个catch就够了,这样写完全是浪费时间。"
"还有这个循环,"他继续指点着,"为什么不用stream?还在用老式for循环,完全不符合现代Java编程规范。"
"看这个方法,天哪,200行代码!"王胜利的声音提高了八度,"完全违反单一职责原则!这样的代码谁敢维护?"
"还有这些注释,写得比代码还长,"王胜利摇头叹息,"真不知道这8年是怎么混过来的。"
老李想要解释:"王总,这个try-catch是因为..."
"别解释了,"王胜利粗暴地打断,"错就是错,还找什么借口?代码质量摆在这里,容不得狡辩。"
老李又试图说明:"这个系统比较特殊,涉及到..."
"特殊?"王胜利冷笑一声,"代码就是代码,没有特殊不特殊的!这就是典型的为自己的技术水平低找借口!"
会议室里响起了附和的笑声。
接下来,王胜利开始了更深层次的"专业分析"。
"这代码一看就是网上抄的,毫无设计思想,"他指着屏幕上的一段逻辑,"8年程序员写成这样,我怀疑基础都不扎实。"
小张举手发言:"王总说得对,现在AI都能写出比这更好的代码。"
"确实,"小刘也附和道,"这种写法在我们学校都拿不了及格分。"
"幸好要换人了,"小赵摇头说道,"不然这代码真的没法维护。"
王胜利满意地点头,然后转向老李:"李师傅,你还有什么要补充的吗?"
老李看着屏幕上自己的代码,那些被嘲笑的try-catch,被质疑的循环,被批评的长方法,沉默了很久。
"没什么要补充的。"他缓缓起身,开始收拾桌上的资料。
"等等,"王胜利叫住了他,用一种胜利者的语气说道,"你这破代码谁能维护?写得跟屎一样,看都看不懂!"
这句话引来了会议室里最大的笑声,年轻程序员们笑得前仰后合,仿佛听到了世界上最好笑的笑话。
老李停下了收拾资料的动作,抬头看着王胜利:"既然你们觉得我的代码是破代码..."
他的声音很平静,没有愤怒,也没有辩解。
"那就让更厉害的人来维护吧。"
老李将最后一个文件夹放进包里,然后直视着王胜利的眼睛:"不过我提醒一句,下周你们就知道什么叫后果了。"
"威胁?"王胜利冷笑道,"你以为公司离了你就转不了?李师傅,时代变了,这里不需要恐龙级的程序员了。"
老李背起包,最后环视了一圈会议室里的同事们:"不是威胁,是善意提醒。"
说完,他径直走出了会议室。
"切,装什么大尾巴狼,"王胜利对着老李的背影说道,"明天开始,我们的开发效率至少提升300%!"
会议室里再次响起了掌声和笑声。
小刘信心满满地说:"王总,我已经准备好重构这些老代码了,保证比原来简洁高效。"
"很好,"王胜利满意地点头,"让我们一起见证新时代的到来!"
然而,没有人注意到,老李在离开会议室后,特意绕到了服务器机房。
他站在一排服务器前,看着那些闪烁的指示灯,轻声对值班的运维小王说:"小王,这几天多注意监控,可能会有些...不寻常的情况。"
"李哥,什么情况?"小王好奇地问。
老李摇了摇头:"说不清楚,总之多留个心眼。"
03
老李离开后,小刘兴致勃勃地接手了项目。
第一天,他就开始了大刀阔斧的"重构"。
"这些冗余的try-catch全部删除,"小刘对着屏幕自信满满,"一个异常处理就够了,写这么多纯粹是浪费。"
"这个循环也要改,用stream多优雅,"他继续操作着,"老李这种老程序员就是思维固化。"
小张在一旁看着:"刘哥,你这改得真不错,代码简洁了不少。"
"那当然,"小刘得意地说,"我可是科班出身,不像某些人半路出家。"
第二天,系统开始出现偶尔的卡顿。
"怎么回事?"用户反馈页面加载变慢了。
小刘检查了一下监控数据:"应该是正常的系统波动,磨合期都会这样。"
王胜利也很淡定:"没问题,新代码需要适应期,这很正常。"
第三天,卡顿现象更加明显了。
客服部门开始接到用户投诉电话:"你们的系统怎么这么慢?点击半天没反应。"
小刘有些紧张:"我再优化一下数据库查询。"
第四天,系统开始出现零星的报错。
小张看着错误日志有些担心:"这些错误提示我都没见过。"
小刘强撑着说:"小bug而已,我这就修复。"
但是到了第五天早上9点,灾难终于全面降临了。
整个核心业务系统彻底崩溃!
用户无法登录,无法下单,无法支付,甚至连基本的页面都打不开。所有的业务流程全部停摆。
客服部的电话被愤怒的用户打爆了:
"你们这破系统怎么回事?我的订单数据都丢了!"
"什么时候能修好?我们公司还要不要做生意了?"
"这种低级错误也会犯?你们技术部门都是吃干饭的吗?"
运营部门的经理冲进技术部:"系统怎么全挂了?!我们的业务完全停摆了!"
老板也亲自赶了过来,脸色铁青:"到底什么情况?损失有多少?"
小刘对着满屏的错误日志完全懵了:"这...这些错误我从来没见过。"
小张也傻眼了:"为什么删掉那些try-catch后会报这么多异常?"
小赵更是抱着头:"数据库连接为什么一直在断开?这根本不可能啊!"
三个年轻程序员围在电脑前,看着那些密密麻麻的报错信息,彻底慌了神。
"我们...我们真的搞不定..."小刘的声音都带着哭腔。
王胜利这时候只能硬着头皮上场了。