《重生2012:代码帝国》
2025年电商技术总监惨遭背叛猝死,重生回到2012年,从1500块月薪的码农重新起步,用13年记忆打造跨境电商帝国——这一世,不再把后背交给任何人。
屏幕上的代码像蝌蚪一样游动。
我盯着那行报错信息看了三秒,忽然觉得它也在盯着我。光标一闪一闪,像是心电图上的脉冲——跳一下,停一下,再跳一下。
凌晨两点四十七分。
云州市天澜区,某电商集团技术中心,十一楼。
整层楼只剩下我一个人。头顶的日光灯有一盏坏了,隔几秒就滋啦响一声,像是这只老灯也在加班,也在喘气,也在想造反。
我叫陈逸,三十六岁,这家集团的技术总监。
说"总监"其实有点心虚。两周前董事会改组,新东家进来之后,我的权限就被削了。OA系统的审批流改了三次,最后一次,我连发布权限都被收走了。名义上我还是总监,实际上就是个被供起来的摆设——对了,他们管这叫"战略顾问"。
操他妈的战略顾问。
我揉了揉太阳穴,把目光拉回屏幕。手上这个活儿不是公司安排的,是我自己在写。一份技术架构复盘文档,从2013年我加入这家公司写起,一直写到2025年。从最初的单体架构,到微服务改造,到中台战略,到直播电商系统上线——我把十二年踩过的坑、拆过的雷、扛过的锅全写了下来。
不是因为不写不行。是因为我咽不下那口气。
两周前那次管理层会议上,许嘉铭——新东家派来的invest代表,一个永远穿定制西装、笑起来眼角纹都算得整整齐齐的男人——当着二十几个中层干部的面,把一份审计报告拍在桌上。
"陈逸同志在任期间,主导的技术项目累计超支四千七百万,其中2023年中台改造项目超支最严重,直接导致集团当年净利润缩水百分之十二。"
我听到这些话的时候,第一反应不是愤怒,是荒诞。
那四千七百万是怎么花的,全集团没任何人比我更清楚。每一次超支都是业务方临时加需求逼出来的,每一个"浪费"的决策背后都有完整的会议纪要和邮件留痕。我的邮箱里躺着上千封来往邮件,每一封都能证明那些决策是集体拍板的、是业务方逼的、是CEO亲口批的。
但没用。
许嘉铭不需要真相,他需要一个替罪羊,而我就是那只最合适的羊——技术出身,没有背景,不会喝酒,不会在酒桌上称兄道弟,唯一会的就是写代码和扛事情。
更让我恶心的是周磊。
周磊,我一手带出来的徒弟。2015年他从南华软件工程学院毕业,面试时候试代码写得一塌糊涂,是我力排众议把他招进来的。我教他做架构,教他带项目,教他在屎山代码里怎么活下来。去年我推荐他做技术部经理,拍着我的胸脯跟HR保证"这个人我打包票"。
结果呢?
审计报告里那份"技术决策失误"的证词,是周磊签的字。
我找他当面对峙那天,他坐在一家星晨咖啡里,搅着一杯拿铁,表情平静得像在说今天天气不错。
"逸哥,我也不想这样。"他说,"但许总那边给了条件,签了这份东西,技术部副经理的位置就是我的。你知道的,我老婆刚生了二胎,房贷每个月一万八……"
他抬起头看我,眼神里居然还带着一丝恳求,好像被逼到墙角的人是他。
"逸哥,你在这个行业扎根了,去哪儿都有人要。我不一样,我跟了你这么多年,走出去人家就认你陈逸的徒弟,不认我周磊。你教过我很多东西,但最该教我的那一样你没教——怎么替自己抢食。"
那天走出星晨咖啡的时候,云州下着小雨。我站在路边等了十五分钟都没叫到车,最后是一个外卖小哥停在我面前问需不需要伞。
我没要伞,淋着雨走了四公里回公司。
那之后我就开始写这份文档。不是为了翻盘——我心里清楚,资本的游戏规则就是这样,谁是老大谁说了算,真相不重要,重要的是谁的声音更大。我写文档是因为我想留个底。万一哪天真要打仲裁,我这十二年不是白干的。
凌晨两点五十一分。
文档写到2024年中台改造那段,我的胸口忽然闷了一下。
不是那种情绪上的郁闷——是真的物理意义上的闷。像有人拿了个枕头捂住我口鼻,气进不来,出不去。我下意识把手按在胸口上,按下去的时候感觉到心跳不对劲。快。非常快。不是那种紧张的心跳快,是心脏自己在那儿乱跳,扑通扑通扑通扑通,像一台过载的服务器,风扇已经炸了但CPU还在死撑。
"操……"
我撑着桌子站起来,椅子往后一滑,轮子碰到地板发出一声刺耳的响。整层楼安安静静的,那声响像是投进深井里的石子。
站起来之后眼前的屏幕全花了。代码变成一团一团的光斑,蝌蚪变成了蠕虫。我伸手去够桌边的水杯,指尖碰到杯壁的那一刻手就软了,杯子翻倒,水泼了一桌子。
脑子还是清醒的。
我甚至还在想:这他妈不会是心梗吧?三十六岁,心梗?我上个月体检报告明明……
不对。上个月体检我没去。许嘉铭改组那周我请了三天假回老家看我妈,回来之后一堆事压上来,体检就拖了。我一直觉得自己年轻、底子好,该扛的事都能扛。
胸口的闷变成了痛。不是剧痛,是那种钝钝的、持续的、像一只手伸进去慢慢攥紧心脏的痛。我双膝一软,坐回了椅子上——不对,不是坐下,是垮下去。整个人的重量全砸在那把人体工学椅上,椅子往后弹了一下,又稳住了。
我想喊人。整层楼没人。
我想打电话。手机在桌上,离我三步远。
我站不起来了。
最后我做到了一件事——把头靠在椅背上,仰面看着天花板。那盏坏掉的日光灯还在滋啦响。闪烁的白光照得我眼前一花一花的。
最后的意识里我在想什么呢?
不是"我不甘心"。不是"我好后悔"。
更不是什么走马灯。
我想的是一个很蠢的问题——
那个人体工学椅的弹性腰托,当初是我选的型号。2019年我给全技术部采购人体工学椅,选了这款,一把一千八。许嘉铭审计的时候专门拿这个出来说事,说"技术部办公采购费用偏高,建议核查"。
我他妈买个椅子都被人审计。
然后世界就黑了。
黑得很干脆,像电脑直接拔了电源,不是关机,是断电。没有蓝屏,没有保存文件的提示,什么都没有。
直接,黑了。
黑了一阵之后,我开始做梦。
梦很零碎。像是一台坏掉的放映机在随意放着褪色的幻灯片——我妈在厨房里炒菜、南华软件工程学院门口的那棵歪脖子树、大三那年熬夜写代码靠着泡面活了一个月、第一次面试穿的衬衫太小了勒得脖子疼、云州的夏天热得柏油路都在冒汗……
然后是声音。
不是幻灯片了,是真真切切的声音。
键盘声。
啪嗒啪嗒啪嗒。
很密集的键盘声,像是有个人在我旁边疯狂地敲代码。不是机械键盘那种噼里啪啦的脆响,是薄膜键盘闷闷的、软软的、每一下都像在泥地里踩一脚的声音。
还有一种味道。
烟味。不是什么好烟,是那种五块钱一包的白沙。混着方便面的味道。老坛酸菜味。
我鼻子一酸。
这味道太熟悉了。
"逸哥,别鸽了,起来再打一把。"
一个声音从右侧传来,年轻,带着笑意,尾音翘起来,像是习惯性地在撒娇——不是那种矫情的撒娇,是兄弟之间的玩笑。
逸哥。
很久没人叫我逸哥了。最近两年在公司里,上级叫我"陈逸",平级叫我"老陈",下级叫我"陈总"。许嘉铭叫我"陈逸同志"。
字还在。
我睁开眼睛。
不是云州天澜的十一楼。
不是那盏滋啦响的日光灯。
头顶是一根发黄的灯管,日光灯管不改LED的那种,蒙着一层灰,光线昏黄得像泡在茶水里。
我低头看自己的手。
不是三十六岁的手。
手指细瘦,指甲剪得短短的,虎口和食指之间没有老茧——如果那些老茧叫老茧的话,三十六岁的时候,我右手食指第二关节外侧有一个硬硬的小突起,是十几年用鼠标磨出来的。我经常开玩笑说那是"程序员的勋章"。
此刻那个突起不在。
我的手很年轻。手指上甚至还有一两个没愈合的小伤口——大概是拧机箱螺丝划的。
我转过头。
一个年轻人坐在旁边,对着一块又大又厚的CRT显示器——不,是液晶的,但那个厚边框看着也够老的了——正在打一个游戏。不是什么3D大作,是《梦幻西游》,屏幕里一个小人骑着某种神兽在地图上跑来跑去。
他转过头来看我。
圆脸,寸头,右脸颊上有一颗痣。穿着一件洗得发白的蓝色格子衬衫,领子有一边翻在里面他也没管。
二十出头,精神得很,眼睛亮亮的。
"逸哥,你昨晚是不是又通宵写代码了?趴桌上睡成这样,脖子不疼啊?"
他说完嘿嘿笑了一声,又转回去打他的游戏。
周磊。
二十年前的周磊。
不,不对。
他妈的,我死都死了,周磊怎么还是这个样子。
我整个人僵在原地。不,不是僵,是被钉住了。脑子里像被塞进了一台搅拌机,所有的东西都在转——灯管的光、键盘的声音、方便面的味道、周磊的脸、窗外某条马路上传来的汽车喇叭声——全都搅在一起。
我低头看桌面。
一台电脑。主机箱是那种灰色的大方块,机箱上贴着一张手写的便签:"拓灵信息科技 财产编号037"。显示器旁边放着一本翻开的书,封面是红色的——ASP.NET入门到精通。
屏幕上。
一个编辑器的界面。蓝色的底色,白色的字。代码。
<%
Dim conn, rs
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../data/eshop.mdb")
Set rs = conn.Execute("SELECT * FROM Products WHERE Status=1 ORDER BY AddDate DESC")
%>
ASP。经典的ASP。不是.NET。是那种用VBScript写的、跑在IIS上的、连数据库都用Access的、一千年前的ASP。
我伸出手指触碰屏幕。屏幕上有一层灰,指腹划过去留了一道痕。
屏幕右下角,系统时间。
2012年4月17日,星期二,08:23
2012年。
我重生了。
不,我疯了。
我在做梦。我在死。我可能已经死了,这是走马灯。不对,走马灯是放以前的事,不会有未来的周磊在旁边打梦幻西游。但这是十年前的周磊,这是以前的周磊,所以这是走马灯。
走马灯怎么连代码都有?走马灯有这么高清的吗?
我低头看了看自己。
格子衬衫,卡其色工装裤,脚上一双灰色的回力板鞋——白色鞋面已经翻成黄白色了,鞋带系得松松垮垮。
胸口不疼了。
心脏跳得稳稳当当、不快不慢的。
我摸了摸自己左边胸口。心跳在。有力。
我又摸了摸脸。没有胡茬——之前我每天早上都要刮一次胡子,三十六的时候下巴已经冒白胡须了。此刻脸是光滑的,只有一层凌晨没洗脸的油。
……年 轻 的 皮 囊。
"逸哥?你没事吧?脸怎么白了?"周磊又转过头来,这回脸上闪过一些担忧,伸手在我眼前晃了晃,"中暑啦?空调开得不大啊。"
"没事。"我听到自己的声音。
不是三十六岁的声音。没有那种熬夜过度之后嗓子发紧、说话带哑的感觉。声线偏清亮,年轻得不像话。
"……没事,刚做了个梦。"
"做梦都趴在桌上做啊?你牛。"周磊嘿嘿一笑就没理我了,接着打他的梦幻西游。
我缓缓坐直了。
椅子是新的,但不是人体工学椅。是最普通的那种黑色网布办公椅,没有腰托,没有头枕,坐久了腰会断的那种。公司财产编号贴在椅背上。
我的手机。
在桌上。一台白色的诺基亚。直板。按键。
我按亮了屏幕。
2012年4月17日。
不是做梦。
后来我去了趟洗手间。
镜子里站着的人二十四岁,脸颊上有少许青春痘没有完全消退的痕迹。头发有点长,刘海几乎戳到眼睛——三十六的我早就留寸头了,镜子里这个bordering on精神小伙的扮相让我瞳孔地震。
我把手撑在洗手台上,水龙头在滴,一滴一滴,声音很清晰。
我死而复生。
不对,我没有"复生"。原版的我已经死了。陈逸三十六岁那版本停在2025年4月凌晨,死在一把人体工学椅上。现在这版本是二十四岁的陈逸,身体是这个身体,灵魂里装着三十六年来的一切记忆——准确地说,是装着三十六岁活到最后一秒、活到心脏被攥碎那一刻的全部记忆。
我活着。但我是谁?我是那个死了的陈逸穿越到了二十四岁的陈逸身上?还是说那个工位上猝死的陈逸其实根本没有死,整个过程只是某种濒死体验?
不重要。
我站在镜子前面,看着二十四岁的自己,呼吸慢慢变得平稳。我做完了一组判断:
一、这是2012年4月。三十六岁那一版的我还没有经历过的一切,我都经历过。从2012到2025,十三年,每一年发生了什么大事、每一个转折点在哪里、哪些坑会踩、哪些人会变。
二、周磊在隔壁打梦幻西游。此刻的周磊二十二岁,是我在拓灵信息科技认识的第一个同事,也是第一个朋友。他现在还没有背叛我。他现在甚至连 betrayal 这个单词都拼不全。他是我的兄弟。
三、我不知道前世我是从哪一刻开始让周磊变成那个人的。是2017年我升他做技术部副经理的时候?是2020年他成家、背房贷、开始焦虑的时候?还是更早,早到这间办公室里就已经埋下种子了?
我看着镜子,轻声说了一个名字:"陈逸。"
"你回来了。"
水龙头还在滴。
我把水关上,甩了甩手上的水,推门走回办公室。
办公室很小。
拓灵信息科技,注册在云州海港区某条不起眼的城中村旁边的写字楼里,五楼。整间公司八个人——老板老贺、一个财务、一个销售、两个前台兼客服兼打杂、三个程序员。我是程序员中的一个,周磊是另一个,还有一个叫李志强的老员工, thirty岁左右,整天戴着一副耳机不知道在听什么,键盘上最多的是空格,代码里最多的也是空格。
月薪1500块。
我坐回自己位置上。屏幕保护程序在跑,一个三维的"Windows"logo在黑色背景上慢慢翻滚。我动了一下鼠标,屏幕亮起来,ASP代码又出现在眼前。
我看了一会儿那段代码。
ADODB.Connection。Microsoft Jet OLEDB。Access数据库。
这些东西我三十六岁已经有十年没碰过了。但我记得怎么写。就像骑自行车一样,你可以十年不骑,坐上去还是会,只是会有点晃。
我盯着这段代码看了大概三十秒。
然后我发现一件事。
这段代码写得烂。
不是"我"写的烂——我根本不记得2012年的自己写没写过这段代码,mtime看着也不像是我手笔,太规整了,太像抄书。多半是哪本书里的示例代码,二十四岁的我一边看一边往电脑上敲。
但那段代码的逻辑结构是好的。
不,我说的不是ortho。说的是——
我说的是,三十六岁的我看来,全公司的技术栈,从人到工具到方法到用的那个Access数据库,全都是待升级的状态。而我脑子里装着的,是从2012年到2025年这十三年互联网行业技术演进的全部记忆——从H5到响应式、从jQuery到Vue React、从单体到微服务、从前后端不分离到前后端分离、从ASP到Node.js到Go、从REST到GraphQL、从磁盘部署到Docker到K8s、从手工测试到CI/CD——每一样东西,是什么时候出来、什么时候应该用、用什么姿势用、踩什么坑、在踩之前怎么避开——
全在我脑子里。
一台超算的灵魂,装在一台2012年1100块钱配的台式机里。
我忽然笑了一下。
笑完之后,我问自己一个问题。
前世的陈逸,到这一步会做什么?
前世的陈逸二十四岁的时候在做什么?
我努力想了一会儿。
前世的我在拓灵待到2012年国庆,然后跳槽去了另一家小公司,做PHP,月薪涨到3000。然后又跳,又涨,又跳,又涨,一跳两跳三跳四跳,三十岁的时候到了某电商集团,本身就是做技术的,赶上了电商的黄金十年,干到技术总监——然后被人一脚踹下去、死在工位上。
这辈子呢?
这辈子有了全部记忆。
这辈子如果做不一样的事,会怎么样?
水龙头还是那句话——n出门想法不要太复杂。
就不要复杂地想。
这辈子呢,我要做的事情其实也简单:
第一,赚到这辈子够我和我妈活得好好的钱。
第二,别死。别再猝死在工位上。
第三,别再让任何人站到我身后,捅我一刀。不是防着所有人,而是要分清楚谁是值得的、谁是不值得的——这是上一辈子付出四千七百万和一条命换来的教训。
至于第四……
我低头看了看屏幕上那个三维Windows logo——已经跳回屏保了,因为我手离开了鼠标。我动了一下鼠标,屏保退去,ASP代码又出现了。
至于第四——
迟早的事。
这一次,我不打算当什么劳模技术总监。
这一次,我要站在那条链的最顶端。
做那个拍桌子的人,不做那个被人拍了桌子还只能写文档自证清白的人。
2012年4月17日。
星期二。
云州海港区,拓灵信息科技,五楼。
我坐在属于二十四岁陈逸的位置上,窗外城中村的灰楼顶上晾着一排花花绿绿的衣服,旁边楼顶有人在架天线。
日光灯滋啦响了一声。
好的。
回来了。
相关推荐
- 《重生2012:代码帝国》第四十八章 代码帝国 2026-09-11
- 《重生2012:代码帝国》第四十七章 周磊的信 2026-09-10
- 《重生2012:代码帝国》第四十六章 十年 2026-09-09
- 《重生2012:代码帝国》第四十五章 上市 2026-09-08
- 《重生2012:代码帝国》第四十四章 巨头之战 2026-09-07
评论0
暂时没有评论