引言:
新品发布会的聚光灯刺眼得像手术台的无影灯,冰冷地切割着王总额头上豆大的汗珠。
台下,上千位嘉宾、投资人和媒体记者的手机屏幕,无一例外地定格在那个红色的错误弹窗上——“服务器连接超时”。
主打APP“星链”上线即崩溃,像一枚投入湖面的深水炸弹,将这场本该是公司高光时刻的盛会,炸得死寂无声。
王总的视线穿过慌乱的人群,仿佛看到了我一周前平静的脸,那时我拿着3000块的奖金通知,对他说:“王总,从今天起,我会严格遵守劳动法。”
01
“叮——”
下午三点整,一封来自HR部门、标题为“关于‘星链’项目奖金发放的通知”的邮件,准时送达了公司每一个人的邮箱。
我正戴着降噪耳机,指尖在机械键盘上飞舞,屏幕上滚动的代码流是我过去半年里唯一的风景。
为了“星链”这个被公司定位为“战略级”的社交电商APP,我们技术部几乎是以一种燃烧生命的方式在工作。
连续六个月的996,最紧张的时候,我们团队十几个人在公司打了整整一个月的地铺。
作为“星链”APP的首席架构师和核心开发,我几乎是以一己之力,扛起了整个项目最复杂、最底层的架构设计。
从高并发处理到数据库优化,再到那个被王总在投资人面前吹嘘为“拥有自主知识产权的智能推荐算法”,每一个模块,每一行关键代码,都渗透着我的心血。
终于,上周APP成功通过了所有内测,正式封版,只待一周后的新品发布会上一鸣惊人。
所有人都松了一口气,疲惫的脸上写满了对未来的憧憬和对回报的期待。
王总在庆功会上拍着我的肩膀,满脸红光地许诺:“林杰,你这次是头功!公司绝对不会亏待任何一个功臣!”
我疲惫地笑了笑,没把他的话太当真,但心里总归是有一丝期盼的。
毕竟,为了这个项目,我不仅鸽了女朋友无数次约会,甚至连父亲的六十大寿都没能赶回去。
耳机里正放着激昂的纯音乐,邮件弹窗的瞬间,我并没在意,直到旁边的测试组小妹发出一声不敢置信的惊呼。
我皱了皱眉,摘下耳机,整个技术部,几十号人的办公区,此刻却安静得可怕,只有此起彼伏的、压抑着的粗重呼吸声。
我心里咯噔一下,有种不祥的预感。
点开那封邮件,鲜红的“通知”二字下,是一张清晰的奖金分配表。
我快速扫过,找到了技术部的区域,然后,我的名字后面,那个数字像一根针,狠狠扎进了我的瞳孔。
“林杰,项目核心,奖金:3000元。”
三千?
我以为我看错了,揉了揉干涩的眼睛,凑近屏幕,一个像素一个像素地确认。
没错,就是三千,后面还贴心地带着“.00”。
那一瞬间,大脑嗡的一声,仿佛有无数台服务器在我脑子里同时宕机。
半年的心血,无数个不眠之夜,那些被我牺牲掉的个人生活,最后就换来了这轻飘飘的三千块?
连我这个月为提神灌下去的咖啡钱都不够。
我猛地抬起头,环顾四周。
技术部的兄弟们,脸色一个比一个难看。
最惨的是负责前端的小李,他为了一个视觉效果的优化,连续熬了72小时,奖金只有1500。
他呆呆地看着屏幕,嘴唇哆嗦着,一句话也说不出来。
而就在这时,一墙之隔的销售部,突然爆发出一阵惊天动地的欢呼和尖叫。
“卧槽!五万!大卫哥牛逼!”
“哈哈哈,老子这个月就去提车!”
“谢谢王总!王总大气!”
那边的喧嚣,像一把把淬了毒的刀子,精准地捅进我们技术部每个人的心脏。
我下意识地站起身,目光越过玻璃隔断,看到了销售总监大卫·陈正被一群人簇拥着,他手里拿着手机,屏幕上赫然是转账成功的短信通知,数字是“50000.00”。
他似乎感觉到了我的目光,朝我这边看过来,嘴角勾起一抹轻蔑而得意的笑容,甚至还举起手机朝我晃了晃,口型仿佛在说:“辛苦了,码农。”
我浑身的血液瞬间冲上了头顶。
“星链”项目能拿下那个千万级的投资,销售部确实有功劳,他们凭着几页画得天花乱坠的PPT和王总的人脉,成功说服了投资人。
但是,将那些PPT上的概念和牛皮,真正变成一个可运行、可交互、拥有百万级承载能力的APP的,是我们!
是我们技术部!
没有我们一行行敲出来的代码,他们手里的就是一堆废纸!
可到头来,我们这些真正的建造者,却只配分到一些残羹冷炙,而那些动动嘴皮子的人,却在开香槟庆祝。
这不公平。
这是一种赤裸裸的羞辱。
我深吸一口气,压下心头的怒火。
我看到部门经理老张的脸色铁青,他握着鼠标的手因为用力而指节发白。
他是个老实人,技术过硬,但性格懦弱,不善言辞。
指望他去为我们出头,显然不现实。
整个技术部死气沉沉,与隔壁的狂欢形成了无比讽刺的对比。
一些年轻的程序员已经开始默默地收拾东西,我知道,离职潮是不可避免了。
但我不一样,我不能就这么灰溜溜地走。
我为“星链”付出的心血,不允许它被如此践踏。
我关掉邮件,面无表情地打开我的代码编辑器,看着屏幕上那些熟悉的、由我亲手构建的复杂系统,一个念头在我心中疯狂滋生。
既然你们认为技术一文不值,那么,我就让你们亲眼看看,没有了“一文不值”的技术,你们那五万块的奖金,到底有多么烫手。
02
我拿着打印出来的奖金通知单,径直走向CEO王总的办公室。
技术部的同事们都抬起头看我,眼神复杂,有担忧,有期待,也有人觉得我是去自取其辱。
我没有理会,脚步坚定。
王总的办公室门敞开着,销售总监大卫正站在里面,眉飞色舞地向王总汇报着什么,声音大到整个走廊都能听见:“王总您放心,发布会那天,我保证在线注册用户能突破十万!我已经和好几个渠道的大V都谈好了,到时候流量绝对爆炸!”
王总靠在昂贵的真皮老板椅上,手里夹着一支雪茄,脸上是毫不掩饰的满意笑容:“好,大卫,这件事你办得漂亮!销售部是咱们公司的发动机,你们的价值,我看在眼里,也记在心里。”
他说着,恰好看到了站在门口的我,脸上的笑容收敛了一些,但依旧带着一股高高在上的客气:“哦,林杰啊,有事吗?”
我走了进去,将那张薄薄的A4纸轻轻放在他那张巨大的红木办公桌上。
“王总,我想请您解释一下,这份奖金分配方案的依据是什么。”我的声音很平静,听不出任何情绪。
王总拿起通知单瞥了一眼,然后随手扔到一边,似乎这只是一件微不足道的小事。
他吐出一口烟圈,慢悠悠地说:“林杰啊,我知道,你们技术部的同事们辛苦了。但是你要理解,公司是一个整体,每个部门的价值贡献是不一样的。销售部在前面冲锋陷阵,拉来了投资,签下了渠道,这都是实打实的现金流。他们的功劳,必须得到体现。”
“那么技术部的功劳呢?”我追问,“把一个概念变成现实,这不算功劳吗?没有我们,销售拿着什么去冲锋陷阵?一堆无法运行的图片吗?”
“话不能这么说。”大卫在一旁阴阳怪气地插嘴,“现在市面上的技术方案那么多,说白了,你们能做的,外包出去找个团队一样能做,甚至成本更低。但我们销售的人脉和渠道,是独一无二的。这才是公司的核心竞争力。”
我怒极反笑,盯着大卫:“哦?外包团队?那你去找一个外包团队,能在半年内,用这么点预算,给你做出一个能承载百万用户高并发的系统架构来。你去找啊!如果你找到了,我林杰今天就卷铺盖走人!”
大卫被我噎得脸色一变,但还是嘴硬道:“你这是什么态度!跟领导说话呢?再说了,我这是打个比方,我们当然还是相信自己公司的技术团队嘛。”
王总皱了皱眉,显然对我的“顶撞”有些不满。
他敲了敲桌子,语气沉了下来:“林杰,注意你的言辞。公司怎么决策,有公司的考量。我理解你的情绪,年轻人有冲劲是好事,但眼光要放长远,不要只盯着眼前这点小钱。‘星链’项目成功了,以后还怕没有回报吗?
你要有大局观。”
又是“大局观”这套说辞。
每次压榨我们的时候,他们就谈大局观;每次分蛋糕的时候,他们就谈直接价值。
我看着王总那张油腻的脸,心中最后一丝幻想也破灭了。
我明白了,在他眼里,我们这些搞技术的,就是一群可以随意替换的螺丝钉,是成本,而不是资产。
我们的价值,远不如一个能说会道的销售。
“王总,”我一字一句地说道,“我无法认同您的价值观。既然您认为技术部的贡献只值三千块,那么我也会拿出与之匹配的工作态度。”
说完,我不再看他,转身就走。
“林杰!你这是什么意思?威胁我?”王总在我身后咆哮。
我没有回头,只是淡淡地回答:“不,王总。我只是决定,从今天起,严格遵守《中华人民共和国劳动法》,按时上下班,并且不再提供任何超出我工作职责范围之外的义务劳动。”
走出办公室,我能感觉到背后两道要杀人的目光。
整个办公区鸦雀无声,所有人都听到了我们的对话。
技术部的同事们看着我,眼神里除了震惊,还多了一丝敬佩和快意。
回到座位上,我打开工作日程表,把我之前为了项目主动添加的那些“夜间巡检”、“周末备勤”、“紧急bug修复”的日程,一条一条地,全部删除。
下午六点,下班时间一到,我准时关掉电脑,背上包,在几十双眼睛的注视下,第一个走出了技术部。
身后,销售部的狂欢派对才刚刚开始。
走出写字楼,晚风吹在脸上,我感觉到了久违的轻松。
过去半年,我没有在晚上十点前离开过这里。
我抬头看了看这座灯火通明的大楼,它像一个巨大的、吞噬生命的怪兽。
而我,决定不再做它的燃料。
接下来的一周,会很有趣。
我心想。
03
接下来的一周,公司里形成了一道奇异的风景线。
技术部,这个曾经公司里下班最晚、灯火最亮的区域,如今一到下午六点,便准时人去楼空。
只剩下我和几个同事,严格按照八小时工作制打卡上下班。
我不再像以前那样,把工作群置顶,24小时待命。
所有非工作时间的消息,我一概不回。
所有临时插进来的需求,无论对方说得多么“紧急”,我都微笑着请他们按照公司的标准流程,提交需求单,排期,等待下个版本的迭代。
“林哥,你这样……王总会不会……”年轻的程序员小李有些担忧地凑过来问我。
我一边喝着枸杞茶,一边悠闲地浏览着技术论坛,头也不抬地说:“会怎么样?开除我?现在是项目上线前的关键时期,‘星链’整个后端系统都是我搭的,他敢吗?”
我不是狂妄,而是自信。
我深知自己在这个项目中的不可替代性。
王总可以羞辱我,但他不敢轻易动我,至少在发布会成功召开之前。
我的“按时下班”宣言,像一颗投入死水潭的石子,在技术部引起了连锁反应。
大家积压已久的不满找到了一个宣泄口,纷纷效仿。
我们不再是那个可以被随意使唤、无偿奉献的团队了。
我们开始谈流程,谈需求文档,谈排期。
这让其他部门,尤其是产品部和销售部,极度不适应。
周二下午,大卫·陈风风火火地冲到我的座位旁,把一份文件“啪”地拍在我的桌上。
“林杰,这个渠道方提了个新要求,需要在APP里给他们开一个专属的引流入口,要动画效果,要酷炫。发布会上要展示的,后天就要!”他颐指气使地说道,仿佛这是天经地义的事情。
放在以前,我会皱着眉,一边骂产品经理没脑子,一边认命地开始评估技术难度,然后召集兄弟们通宵赶工。
但现在,我慢悠悠地拿起那份只有几行字的需求,看了一眼,然后递还给他,微笑着说:“陈总监,这么大的功能变更,按照规定,需要先提交正式的需求评审,产品部出具详细原型图,UI出设计稿,然后我们技术部再评估开发周期。您现在提,我估计最快也得排到下个月的版本里去了。”
“下个月?你开什么玩笑!我说了,发布会上就要用!”大卫的眼睛瞪得像铜铃。
“那很抱歉,做不到。”我摊了摊手,“而且,您这个需求,连个正式的需求单都没有,只是口头一说,我没办法安排工作。您还是先找产品经理吧。”
“你……”大卫气得满脸通红,指着我,“林杰,你别忘了,是谁给公司拉来的投资!你这是不配合工作!”
“我正在非常专业地配合工作,”我回视着他,语气平静但坚定,“一个成熟的公司,应该有成熟的开发流程。我们技术部,不是你们销售部的私人外包团队,可以召之即来挥之即-去。”
大卫被我怼得哑口无言,最后只能撂下一句“你给我等着”,然后悻悻地去找产品经理扯皮。
类似的事情在接下来几天里不断发生。
市场部说,APP在某些新机型上启动有点慢,希望我们优化一下。
我回复:请提供详细的性能测试报告和日志,我们分析后会进行排期。
运营部说,后台有个数据报表不太好用,想临时加几个字段。
我回复:请提交需求单,评估数据结构变更风险后,纳入迭代计划。
他们都习惯了我们技术部“有求必应”的救火队模式,却忘了,那些所谓的“举手之劳”,背后都是我们无数个夜晚的无偿加班。
当我们开始拿起流程当武器时,他们才发现,原来让一个程序员在半夜爬起来改代码,并不是那么理所当然的事情。
当然,我也不是完全的消极怠工。
在工作时间内,我依旧高效地处理着我的本职工作,修复那些真正影响主流程的、有明确记录的BUG。
同时,我花了大量时间,把我负责的所有模块,都写下了极其详尽的、堪称教科书级别的技术文档。
我这么做,有两个目的。
第一,让任何人都挑不出我在工作态度上的毛病。
第二,这是我留给他们的“遗产”。
因为我知道,一场巨大的风暴,正在发布会那天,等着他们。
04
距离新品发布会还有三天。
公司的气氛越来越紧张,也越来越亢奋。
市场部的宣传稿铺天盖地,公关部邀请的媒体和网红名单拉了长长一串,王总更是每天都把“颠覆行业”、“创造历史”挂在嘴边,仿佛“星链”已经成了下一个互联网奇迹。
技术部依旧平静。
我们准时上班,准时下班,波澜不惊。
周三上午,我收到了一个来自测试部门提交的BUG单。
单子的优先级被标记为“中”,描述是:“在模拟高并发压力测试下,APP有极低概率出现短暂卡顿,偶发性闪退,日志未见明显错误,难以复现。”
我点开附带的简短日志文件,只扫了一眼,瞳孔就微微一缩。
就是它。
这个问题,其实我早就发现了。
那是在一个月前的一个深夜,我独自一人进行系统深层优化时,偶然发现的。
我们使用的某个第三方开源框架,存在一个极其隐蔽的内存泄漏漏洞。
在正常使用情况下,这个漏洞几乎不会被触发,影响可以忽略不计。
但是,一旦服务器瞬间涌入巨大且持续的流量,这个漏洞就会像一个被扎破的气球,在短时间内耗尽服务器的所有内存资源,导致整个系统雪崩式的瘫痪。
当时,我立刻着手编写修复补丁。
这是一个非常棘手的工作,因为不能直接修改开源框架的底层代码,只能通过一些“非常规”的手段,写一个外部监控脚本,像一个旁路警察一样,实时监测内存使用情况,一旦发现异常,就强制执行垃圾回收。
这个补丁,我写了一整个通宵,并且在本地的模拟环境中测试通过。
我本来打算,在封版前的最后几天,找一个服务器负载最低的深夜,悄悄地部署到线上服务器。
这在以前是我的常规操作。
很多这种深层的、非业务逻辑的隐患,只有我这种对系统架构了如指掌的人才能发现和修复。
我从来不会把这些写进工作报告,因为解释起来太麻烦,在管理者看来,这远不如多实现一个新功能来得有“价值”。
我只是默默地,把这些潜在的“地雷”排掉。
但是,那封三千块的奖金通知,改变了一切。
我看着那个BUG单,上面写着“难以复现”。
是的,测试部门用他们有限的几台机器做压力测试,当然难以复现。
他们无法模拟出发布会那天,成千上万真实用户在同一秒钟涌入的恐怖场景。
只有我知道,这个“中优先级”的BUG,实际上是一颗足以炸毁整个项目的定时炸弹。
而它的引线,将在发布会开始的那一刻,被瞬间点燃。
我的手指悬在键盘上。
我只需要花十分钟,把我已经写好的补丁脚本部署上去,就可以彻底解决这个隐患。
我甚至不需要向任何人汇报。
神不知鬼不觉地,拯救公司于危难之中。
然后呢?
继续拿着三千块的奖金,看着大卫那样的人在我面前耀武扬威,听着王总画着那些永远不会兑现的大饼?
凭什么?
我心中那个名为“责任感”的职业准则,在与“屈辱”和“不公”的搏斗中,第一次败下阵来。
我在BUG单下面,敲下了一行冷静的回复:“根据描述,此问题为偶发性,且优先级为中。建议持续观察,收集更多日志。已纳入问题池,待下个迭代周期进行评估。”
然后,我点击了“提交”。
做完这一切,我感觉浑身一阵轻松。
我不是在破坏,我只是停止了奉献。
我没有制造问题,我只是选择,不再去义务地解决那些不属于我分内之事的问题。
这个漏洞,不是我写的。
是第三方框架自带的。
发现它,是我的水平。
修复它,是我的情分。
现在,情分没了,我只谈本分。
我的本分,就是处理那些流程清晰、优先级明确的工作。
而这个被标记为“中”的BUG,显然不在此列。
我端起茶杯,看着窗外。
天空很蓝,天气很好。
一个适合看烟花的,好天气。
05
发布会前夜。
公司灯火通明,所有部门都在做最后的准备。
市场部在确认媒体席位,公关部在演练突发状况的应对预案,销售部则在开着香槟,提前庆祝即将到来的“伟大胜利”。
技术部却一反常态地,只有寥寥几人留守。
我们大部分人,都在六点钟准时离开了。
晚上八点,王总召集所有部门负责人,开了最后一次动员大会。
我也被叫去了。
会议室里,气氛热烈得像个传销现场。
王总站在最前面,激情澎湃地挥舞着手臂:“各位同仁!明天,就是我们‘星链’扬名立万的日子!
我们即将开启一个新的时代!
我在这里,要特别感谢我们的销售团队,是大卫和他的猛将们,为我们打下了这片江山!”
掌声雷动。
大卫·陈意气风发地站起来,向众人挥手致意,享受着英雄般的待遇。
“当然,”王总顿了顿,目光扫向我这边,语气变得有些平淡和客套,“也要感谢我们技术部的同事们,在背后默默的付出。你们也辛苦了。”
稀稀拉拉的掌声响起,充满了敷衍。
我面无表情地坐在角落里,像一个局外人,冷眼看着这场滑稽的表彰大会。
在他们眼中,我们技术人员,似乎永远是“背后”的、“默默”的,是舞台的背景板,是理所应当的付出者。
会议的最后,王总突然点我的名:“林杰,你留一下。”
众人散去,会议室里只剩下我和王总。
他收起了刚才激情四射的表演,换上了一副严肃的面孔。
“林杰,明天就是发布会了,我最后问你一遍,技术上,不会出任何岔子吧?”他盯着我,眼神锐利,带着一丝不容置疑的压迫感。
我迎着他的目光,平静地回答:“王总,‘星令’APP当前线上的版本,已经通过了公司标准的所有测试流程,测试报告您也看过了。
从流程上讲,它是稳定且符合上线标准的。”
我没有撒谎。
我说的每一个字,都是事实。
它确实通过了“标准”的测试流程。
但那个“标准”本身,就有巨大的漏洞。
王总显然对这个滴水不漏的官方回答很满意。
他点了点头,语气缓和了一些,开始了他惯用的“胡萝卜”环节。
“林杰,我知道,之前奖金的事情,你可能有点情绪。你要理解,公司现在还在创业阶段,每一分钱都要花在刀刃上。但你放心,你的能力和贡献,我心里有数。等这次发布会成功了,公司进入下一个阶段,我保证,少不了你的好处。期权、分红,都可以谈。”
他以为我还是那个可以被几句空头支票就打动的愣头青。
我只是微微笑了笑,不置可否:“谢谢王总,我会做好我的本职工作。”
看到我这副“不卑不亢”的态度,王总似乎也觉得无趣,挥了挥手:“行了,那你也早点回去休息吧。明天打起精神来。”
“好的,王总。”
我走出会议室,最后看了一眼那群依旧在亢奋中的人们。
然后,我回到自己空无一人的工位,没有立刻离开。
我打开电脑,进入了服务器的后台。
我看着那个我亲手编写的、用于修复内存泄漏的补丁脚本,它就静静地躺在我个人的工作目录下。
我选中它,然后,按下了“Delete”键。
做完这一切,我将电脑里所有关于这个漏洞的分析记录、日志片段、本地测试数据,全部彻底清除。
我站起身,关上电脑,背起我的双肩包。
当我走出公司大门时,时钟正好指向晚上九点。
我回头望去,销售部的办公室里,传出了震耳欲聋的音乐和欢笑声。
我拿出手机,给女朋友发了条信息:“明天有空吗?我们去看电影吧。”
手机屏幕的光,映着我平静的脸。
明天,确实会有一场好戏上演。
只不过,观众是他们,而我,是那个提前买了票,坐在最佳观影区的人。
06
发布会现场,衣香鬓影,觥筹交错。
我坐在台下媒体区后排的一个不起眼角落,穿着一身与周围精致的西装革履格格不入的休闲装。
我不是被邀请来的,而是凭着一张之前公关部给的、供技术支持人员备用的入场证混进来的。
台上,绚丽的灯光下,王总正手持话筒,慷慨激昂地讲述着“星链”的宏大愿景。
他口中的每一个词,都经过精心包装,充满了煽动性——“连接未来”、“赋能个体”、“万亿市场”。
台下的投资人和嘉宾们听得如痴如醉,仿佛已经看到了无数钞票在向他们招手。
“……而现在,就是见证奇迹的时刻!”
王总的声音通过音响传遍整个会场,将气氛推向了最高潮。
他身后巨大的LED屏幕上,出现了一个硕大的“星链”APP下载二维码。
“请大家拿出手机,扫描屏幕上的二维码!从此刻起,让我们共同开启一个全新的社交电商时代!”
台下,所有人都兴奋地举起了手机,打开了摄像头。
数千道闪光灯亮起,像一片璀璨的星海。
我也拿出了手机,但我没有去扫码,而是打开了一个实时服务器监控软件。
这个软件的权限,只有我一个人有。
屏幕上,代表服务器CPU、内存和网络带宽的曲线,开始像心电图一样剧烈地跳动起来。
“嘀——”
第一批用户的注册请求,像潮水一样涌入了服务器。
CPU占用率瞬间从10%飙升到95%。
“嘀嘀嘀——”
更多的人扫描成功,开始进入注册流程。
网络带宽瞬间被占满,数据流像决堤的洪水,疯狂冲击着服务器的防火墙。
来了。
我死死地盯着那条代表内存占用的绿色曲线。
在最初的几秒钟,它还算平稳。
但是,随着用户请求呈指数级增长,那条绿线开始以一个诡异的、肉眼可见的角度,向上攀升。
10%……30%……60%……
那个被我预料到的内存泄漏漏洞,像一个贪婪的恶魔,被瞬间激活。
它开始疯狂地、无节制地吞噬着服务器的内存资源,并且无法被系统自动回收。
“咦?怎么这么卡?”
“我这也是,一直在转圈圈。”
“提示网络错误,你们呢?”
台下的人群中,开始出现了一些骚动。
最前排的嘉宾们,脸上的表情从期待变成了疑惑。
王总显然也注意到了不对劲,但他还在强作镇定,对着话筒打圆场:“呵呵,看来大家的热情,超出了我们的预期啊!我们的服务器,都快被挤爆了!”
他话音未落,我的手机监控软件上,内存占用曲线,终于冲破了98%的红色警戒线!
下一秒,屏幕上所有的数据曲线,瞬间归零。
整个服务器集群,因为内存耗尽,触发了连锁保护机制,集体宕机。
会场里,那块巨大的LED屏幕上,酷炫的APP宣传动画瞬间消失,取而代之的,是一个冰冷的、所有程序员都无比熟悉的界面——“503 Service Unavailable”。
全场,一片哗然。
刚才还热闹非凡的会场,瞬间陷入了一片死寂。
所有人都目瞪口呆地看着台上那个巨大的错误代码,空气中弥漫着尴尬和难以置信的气氛。
王总脸上的笑容彻底僵住了,他拿着话筒,嘴巴张了几下,却一个字也说不出来。
他额头上的汗珠,在聚光灯的照射下,闪着绝望的光。
销售总监大卫,更是面如死灰,刚才还意气风发的他,此刻像一只被戳破的气球。
“技术部!技术部的人呢?死哪去了!”王总终于反应过来,对着后台歇斯底里地咆哮起来。
我的手机,在这一刻疯狂地响起。
来电显示,正是“王总”。
我按下了静音,将手机揣回兜里。
然后,我站起身,逆着那些开始离场的、失望的人流,悠然地向出口走去。
走出金碧辉煌的会场,外面的阳光正好。
我深吸了一口自由的空气。
这场耗资千万的发布会,成了本年度互联网圈最大的笑话。
而这一切,都源于一封三千块的奖金通知。
多划算啊。
07
我没有回家,而是找了一家常去的咖啡馆,点了一杯拿铁,悠闲地坐在窗边。
我的手机像一块被烧红的烙铁,在口袋里不停地震动,屏幕上闪烁着来自王总、大卫、公司行政等几十个未接来电。
我一概不理。
大约半小时后,一个陌生的号码打了进来。
我犹豫了一下,接通了。
“林杰!你他妈在哪儿?!你知不知道公司出多大事了!”电话那头传来王总气急败坏的怒吼,声音都变了调,背景音里是各种嘈杂的争吵声。
我把手机拿远了一点,等他咆哮完了,才慢悠悠地开口:“王总,您好。今天是周五,现在是下午四点,我的工作时间应该在六点结束。请问,您这个时候打电话给我,是有什么需要占用我个人休息时间处理的紧急公务吗?”
我的语气平静得像是在谈论天气,这种平静,显然进一步激怒了他。
“你他妈还跟我谈个人时间?!服务器全崩了!发布会搞砸了!几千万的投资,几百万的宣传,全打水漂了!你作为技术负责人,跟我说这是你的个人时间?”
“首先,王总,我的职位是首席架构师,不是技术负责人,请您不要给我乱扣帽子。其次,服务器崩溃的具体原因,我不在现场,无法判断。最后,”我顿了顿,一字一句地说道,“我只是个奖金三千块的核心技术员,这种公司生死存亡的重大事件,已经远远超出了我的薪酬所能覆盖的责任范围。”
电话那头瞬间沉默了。
我能想象到王总那张因为愤怒而扭曲的脸。
过了几秒,大卫的声音抢过了电话:“林杰!你别他妈给脸不要脸!你是不是故意的?发布会前王总问你,你亲口说系统是稳定的!”
“陈总监,”我轻笑一声,“我确实说过,系统通过了公司的标准测试流程。但你们似乎忘了,我曾经多次在会议上提议,要增加针对超高并发场景的压力测试,并且申请更多的服务器资源。是你们,以‘成本太高’、‘没必要’为由,驳回了我的申请。
现在出了问题,你倒反过来怪我?”
“我……”大卫一时语塞。
我继续说道:“而且,上周测试部门提交过一个关于系统在高压下偶发性卡顿的BUG单,因为难以复现,被定为‘中优先级’。
按照公司流程,这种级别的BUG,是排在下个迭代周期处理的。
我严格遵守了公司的规定,有什么问题吗?”
我的每一句话,都有理有据,让他们无法反驳。
他们所奉行的那套管理流程,此刻成了我最完美的挡箭牌。
“你……你这是在狡辩!”王总的声音再次响起,但已经没有了刚才的气势,多了一丝色厉内荏,“林杰,我命令你,立刻!马上!回到公司!把问题给我解决了!否则,你就等着收律师函吧!”
“律师函?”我笑了,“好啊,我等着。不过我建议您先咨询一下公司的法务,看看是‘员工严格遵守公司流程和劳动法’更容易败诉,还是‘公司长期要求员工无偿加班,并涉嫌薪酬欺诈’更容易败免诉。
另外,王总,我得提醒您,我现在不在工作状态,我们的通话,我正在录音。”
“你!”
电话那头传来一声闷响,似乎是手机被狠狠摔在了地上。
然后,通话中断了。
我放下手机,继续喝着我的咖啡。
我知道,这只是开始。
他们很快就会发现,没有我,他们连问题的根源都找不到。
整个“星链”的后端系统,就像一座我亲手建造的迷宫,里面布满了各种我留下的、只有我能看懂的“路标”。
那些试图在里面横冲直撞的人,只会迷失得更深。
王总,大卫,这场游戏,现在才刚刚进入第二回合。
08
事实正如我所料。
接下来的二十四小时,对“星链”公司来说,是地狱般的二十四小时。
发布会惨败的消息,以病毒般的速度传遍了整个互联网行业。
各大科技媒体用上了各种幸灾乐祸的标题——《“星链”上线即“流星”,盘点史上最尴尬产品发布会》、《千万级项目,死于服务器?揭秘创业公司背后的技术之殇》。
公司的名字,以前所未有的方式,“火”了。
投资方的电话被打爆,愤怒的质问和撤资的威胁,像刀子一样扎在王总心上。
合作的渠道方也纷纷发来解约函,发布会现场的流量反噬,让他们的口碑也受到了严重影响。
公司内部,更是一片混乱。
技术部的留守人员,在王总的命令下,通宵达旦地排查问题。
但他们就像一群没头苍蝇。
小李后来偷偷告诉我,他们重启了无数次服务器,检查了无数遍代码,但系统就是反反复复地在崩溃和临时恢复之间横跳。
只要稍微有点用户流量进来,内存就立刻爆满。
他们甚至请来了阿里云的专家进行远程会诊,专家查了半天,最后给出的结论是:“系统架构底层存在致命缺陷,建议联系原架构师进行处理。”
这个结论,无异于给王总判了死刑。
他终于意识到,那个被他用三千块打发掉的“码农”,才是这艘即将沉没的大船上,唯一的救生圈。
周六下午,我的手机再次响起。
这一次,是公司HR总监的电话。
她的声音,与平日里的威严不同,充满了刻意的温和与讨好。
“林杰啊,我是丽萨。周末过得还好吗?有点事想跟你聊聊,你现在方便吗?”
“不方便。”我干脆地回答。
电话那头的丽萨显然噎了一下,但还是耐着性子说:“是这样的,林杰。公司现在遇到了一点小麻烦,王总呢,也知道之前在奖金的事情上,可能有些考虑不周的地方,让大家受委屈了。他现在很诚心地想请你回来,帮公司度过这个难关。条件都好说,奖金、职位、期权,你来提。”
我心中冷笑。
现在知道“考虑不周”了?
早干嘛去了。
“丽萨姐,我现在正在外地旅游,信号不太好。有什么事,等我周一上班再说吧。”我随口胡诌道。
“别啊林杰!”丽萨的语气急了,“这事等不到周一了!十万火急!这样,你开个价,只要你现在回来,解决问题,公司马上给你打一百万的奖金!怎么样?”
一百万。
这个数字,若是放在一周前,或许会让我欣喜若狂。
但现在,在我听来,却充满了讽刺。
“丽萨姐,这不是钱的问题。”我淡淡地说,“是尊重的问题。我的专业,我的心血,被人当成垃圾一样对待。现在垃圾堆着火了,又想花钱让我回去当消防员?不好意思,我没那么廉价。”
“那……那你到底想怎么样?”丽ซ่า的声音里带上了一丝哭腔。
我想怎么样?
我看着窗外,天色渐晚。
“你让王总,亲自给我打电话。”
说完,我挂断了电话。
我知道,这一刻,攻守之势已经彻底逆转。
现在,轮到我来制定游戏规则了。
09
又过了两个小时,王总的电话,终于打了过来。
这一次,电话那头的他,没有了咆哮,没有了威胁,只剩下一种被现实彻底击垮的疲惫和沙哑。
“林杰……是我,王成。”他连“王总”的架子都放下了,直呼自己的名字。
“王总,有何贵干?”我明知故问。
电话那头是一阵长长的沉默,我甚至能听到他沉重而压抑的呼吸声。
他似乎在做着剧烈的思想斗争,放下他那可悲的、身为老板的自尊。
“林杰,我错了。”
终于,他从牙缝里挤出了这四个字。
“我为我之前的短视和傲慢,向你,向整个技术部,道歉。是我没有认识到你们的真正价值,是我伤害了你们的感情。我恳求你,回来帮帮公司。只要你能让‘星链’恢复正常,任何条件,我都答应。”
他的声音里,充满了悔恨。
但我知道,这悔恨,不是因为他真的认识到了技术的价值,而是因为他看到了自己即将崩盘的生意和泡汤的财富。
但,这不重要了。
我想要的结果,已经达到。
“好啊。”我平静地说道,“既然王总这么有诚意,那我就谈谈我的条件。”
“你说!你说!”他像是抓住了最后一根救命稻草。
“第一,以公司名义,向技术部全体员工,发布正式的道歉公告,承认在‘星链’项目奖金分配上的严重不公。
并且,补发奖金,技术部所有核心人员,奖金标准不得低于销售部。
这笔钱,今天之内,必须到账。”
“没问题!我马上让财务处理!”王总答应得没有丝毫犹豫。
“第二,销售总监大卫·陈,在公司大会上,公开向我本人及技术部道歉。并且,他个人必须从他那份项目奖金里,拿出一半,作为给技术部的额外补偿。”
“这个……好!我也替他答应了!”王总咬着牙说道。
“第三,”我顿了顿,说出了我最终的目的,“我要的,不是回来上班。我要以‘技术顾问’的身份,与公司签订一份短期的技术服务合同。
我的工作,是负责修复‘星链’APP目前存在的系统问题,确保其稳定运行。
合同为期一周,服务费,五百万。”
“五……五百万?!”王总的声音瞬间拔高,充满了震惊,“林杰,你这是狮子大开口!”
“王总,你要搞清楚。你现在损失的,是几千万的投资,和一个估值上亿的项目。我用五百万,帮你把这一切都挽救回来。这笔买卖,到底是谁赚了?”我冷冷地说道,“而且,这五百万里,买的不仅是我的技术,更是我的心血和被践踏的尊严。这个价格,一分都不能少。”
“……”电话那头再次陷入死寂。
“我给你十分钟考虑。”我补充道,“十分钟后,如果你不答复,那就请另请高明吧。不过我猜,等你们找到能看懂我代码的人时,‘星链’这个项目,恐怕已经凉透了。”
说完,我直接挂断了电话。
我看着手机上的倒计时。
我知道,他会打回来的。
果然,还不到五分钟,王总的电话再次响起。
“我答应你。林杰,我答应你所有的条件。”他的声音,像是瞬间苍老了十岁。
“很好。”我说道,“让你的法务准备合同吧,我现在就过去。记住,我要先看到合同和道歉公告,以及到账的奖金,才会开始工作。”
挂掉电话,我站起身,走出了咖啡馆。
夜幕已经降临,城市的霓虹灯开始闪烁。
该去结束这一切了。
10
当我再次踏入公司大门时,迎接我的是一种截然不同的景象。
前台、行政,所有见到我的人,都对我点头哈腰,眼神里充满了敬畏。
技术部的同事们,已经收到了补发的奖金和王总的道歉信,他们看到我,纷纷围了上来,眼神里是掩饰不住的感激和崇拜。
“林哥,牛逼!”小李激动地给了我一拳。
我笑了笑,拍了拍他的肩膀。
王总亲自在办公室门口迎接我,脸上堆满了比哭还难看的笑容。
法务已经拟好了合同,五百万的技术服务费,条款清晰。
我仔细看过,签下了自己的名字。
几乎是同时,我的手机收到了银行的转账短信。
一切就绪。
我没有理会王总和大卫那帮人,径直走向服务器机房。
在几十号技术人员的注视下,我坐到了主服务器的操作台前。
我没有立刻开始修复,而是调出了系统的后台日志,指着屏幕上那条持续飙升的内存占用曲线,对身后的同事们朗声说道:“大家看这里,这就是问题的根源。我们使用的某个第三方开源框架,存在内存泄漏的隐患。在常规测试下很难被发现,但在超高并发的场景下,就会被瞬间引爆,导致服务器资源耗尽而崩溃。”
我把整个问题的原理、技术细节,毫无保留地、清清楚楚地讲给了在场的所有人。
我要让他们知道,公司到底差点毁在了一个什么样的问题上,而这个问题,又是如何能被提前规避的。
讲完之后,我才开始操作。
其实,所谓的修复,对我来说,不过是把那个被我删掉的补丁脚本,重新写一遍而已。
它的每一行代码,都早已刻在我的脑子里。
在几十双眼睛的注视下,我的手指在键盘上翻飞。
创建监控进程、设置内存阈值、编写强制回收逻辑、植入系统内核……一系列操作行云流水,一气呵成。
不到十分钟,补丁脚本编写、测试、部署,全部完成。
我敲下最后一个回车键。
“好了。”
我站起身,对目瞪口呆的众人说道。
服务器监控屏幕上,那条之前狰狞的内存曲线,在系统重启后,瞬间恢复了平稳。
即使模拟器再次灌入巨大的流量,它也只在健康的范围内小幅波动。
那个差点让公司万劫不复的“绝症”,被我用十分钟,轻松治愈。
整个机房,先是死一般的寂静,随即爆发出雷鸣般的掌声。
我没有留下来享受这迟来的赞誉。
我走出机房,王总和大卫立刻像哈巴狗一样迎了上来。
“林……林顾问,真是太感谢您了!您真是我们公司的救世主!”
我没有看他们,只是淡淡地说:“我的工作完成了。按照合同,从现在起,‘星链’的任何问题,都与我无关。”
说完,我径直走向门口。
“林杰!”王总在我身后叫住我,“别走!留下来!我给你副总裁!再加两百万年薪!”
我停下脚步,回头看了他一眼,笑了。
“王总,你还是没明白。你用钱,能买到我的技术,但买不回我的心。这个地方,不值得。”
说完,我头也不回地离开了这座让我奋斗过,也让我失望透顶的大楼。
几天后,我听说,销售总监大卫·陈因为这次事件,引咎辞职。
王总的公司虽然活了下来,但也元气大伤,在投资人面前彻底失去了信誉。
而我,收到了好几家顶级互联网公司的offer。
他们看中的,不仅是我的技术,更是那个在发布会现场,冷静地看着一切崩塌,然后转身离去的,骄傲的背影。
我选择了一家真正尊重技术、尊重人才的公司,开始了我的新征程。
有时候,放弃,不是因为懦弱,而是为了更有尊严地,重新开始。
创作声明:本文为虚构创作,请勿与现实关联。
本文所用素材源于互联网,部分图片非真实图像,仅用于叙事呈现,请知悉。