第一章 黑锅从天降“周哲,公司只能留一个。你走,或者整个部门解散。
”老板李志明把离职协议推到我面前时,食指在“主动辞职”四个字上敲了三下,力道很重,
像敲丧钟。他手腕上那块价值二十万的新表反射着会议室惨白的灯光,晃得我眼睛疼。
会议室里只有我们两个人。空调开得太大,冷气顺着衬衫领口往里钻。“李总,
项目数据出问题那部分不是我负责的。”我听见自己的声音平静得异常,
“张副总监签字确认的验收报告,我根本没权限接触核心代码。”“现在说这些没用。
”李志明往后一靠,那张进口真皮办公椅发出轻微的叹息声,“客户已经投诉到总部了。
三百二十万的尾款,对方现在一分不给。董事会需要一个交代。”我盯着他。
四十出头的男人,头发梳得一丝不苟,西装是上周刚买的意大利牌子。三个月前,
他还在团建酒会上拍着我的肩膀说“小周是公司未来的技术脊梁”。
“所以我就成了那个交代?”“公司会给你N+1补偿。”他避开我的眼神,
拿起保温杯抿了一口,“你的履历很漂亮,出去找个工作不难。但如果你坚持要查清楚,
法务那边说,可能涉及商业过失,严重的话……”他没说完。
但威胁的意味像这冷气一样弥漫开来。我手指在桌下握紧。
左手无名指上那道浅浅的疤开始发痒——那是三年前为了赶项目进度,
深夜调试设备时被锋利的机箱边缘划伤留下的。当时血流了不少,
李志明让助理送了盒创可贴,第二天开会时还当众表扬了我的“奉献精神”。真讽刺。
“我需要时间考虑。”我说。“今天下班前给我答复。”李志明站起来,整理了下西装下摆,
“对了,离职前把‘天穹系统’的核心算法文档整理好交给张副总监。那是公司财产。
”他说完就走,没回头。我坐在会议室里,看着玻璃窗外开放式办公区。下午三点,
阳光斜射进来,同事们都在工位上忙碌——或者说,假装忙碌。
已经有几个人偷偷往这边瞥了。手机震了一下。
妻子林薇发来微信:“妈妈今天检查结果出来了,医生说要尽快做支架手术。我打听了一下,
自费部分大概要八万左右。你那边……能想办法吗?”后面跟着一个拥抱的表情包。
我盯着那条消息看了整整一分钟,然后回复:“别担心,钱的事我来解决。你先照顾好妈。
”发完消息,我打开手机相册,翻到上周拍的照片。女儿小雅六岁生日,
我们在家里办了小小的派对。她戴着纸皇冠,笑得眼睛弯成月牙。照片角落,
我妈坐在沙发上,脸色有点疲惫,但依然努力笑着。八万。N+1补偿大概是五个月工资,
扣完税四万多。家里存款还剩两万左右。还差两万缺口。而如果我背上这个黑锅,
以后在这个行业的简历上,就会永远刻着“因项目重大失误被辞退”的字样。手机又震了。
这次是张副总监:“周工,李总交代了,今天下班前要看到算法文档。
我已经让小王给你开了服务器权限,你整理完发我邮箱就行。”小王是张副总监的外甥,
去年刚毕业进公司,连基础代码都写不利索。他们要的不是文档。
是要我把三年心血打磨出来的核心算法,亲手交给一个连看懂都费劲的人。
我推开会议室的门走回工位。周围的同事瞬间低下头,键盘敲击声密集起来。
我的工位很干净。
左手边摆着一个黑色金属保温杯——那是三年前项目组拿下第一个百万订单时,
公司发的纪念品。杯身已经磕碰掉了几处漆,但我一直用着。
右手边贴着小雅画的“全家福”,用彩色磁铁固定在隔板上。画里我穿着西装,
林薇穿着裙子,小雅在中间,每个人都是大大的笑脸。
“周哥……”隔壁工位的陈浩压低声音凑过来,“李总找你什么事?
”陈浩是我带出来的徒弟,跟了我两年。小伙子实诚,技术也好。“没事。
”我拉开抽屉开始收拾东西,“可能要调岗。”“调岗?”陈浩愣住了,“调哪儿?
你不是刚带完‘天穹’项目吗?那可是咱们公司今年最重要的……”“浩子。”我打断他,
从抽屉深处拿出一个U盘,“这个你收好。里面是我整理的分布式系统常见问题排查手册,
还有几个架构优化的案例。你基础不错,多看看。”“周哥你别吓我。”陈浩脸色变了,
“到底怎么了?”我还没回答,张副总监的声音就从身后传来:“周哲,
文档整理得怎么样了?李总催得急。”他双手插兜站在我工位旁,微微仰着下巴。
今天他喷了很浓的古龙水,混合着发胶的味道,有点刺鼻。“张总,
‘天穹’的算法逻辑比较复杂,我需要点时间梳理。”我抬头看他,
“而且有些模块涉及跨部门协作的接口,最好能开个会,把当初参与的人都叫上,
一起核对……”“不用那么麻烦。”张副总监摆摆手,“你把核心部分整理出来就行。
李总说了,剩下的公司会安排人接手。”他说“安排人”时,眼神往小王那边瞟了一下。
小王正戴着耳机打游戏,屏幕上是花花绿绿的战斗画面。我突然想笑。真的。这三年来,
我见过凌晨三点、四点、五点的办公室。为了赶项目进度,我连续两个月每天只睡四小时。
小雅发烧住院那次,我一边陪床一边在病房外的走廊里开视频会议。
我妈总说“工作别太拼”,但我总觉得,只要努力,一切都会好的。现在好了。真好。
“我知道了。”我说,“下班前发你。”张副总监满意地点点头,转身走了。
陈浩等他一走远,立刻抓住我的胳膊:“周哥,是不是因为‘天穹’项目数据泄露的事?
我听说客户那边抓包发现有人在测试环境偷数据,但那个时间段的操作日志……”“浩子。
”我看着他,这个比我小五岁的年轻人眼睛里全是着急,“在公司,有些事不该问就别问。
对你没好处。”“可这不公平!”他声音大了些,周围几个人看过来。
我拍拍他的肩:“记住我跟你说的,技术人最值钱的是脑子里的东西,不是职位头衔。
”说完,我坐下来,打开电脑。屏幕亮起,壁纸是林薇和小雅在海边拍的照片。
那是去年夏天,我们攒了半年钱才去的一趟短途旅行。小雅第一次看到大海,
兴奋地在沙滩上跑来跑去。林薇笑得很开心,眼角的细纹在阳光下清晰可见。我深吸一口气,
打开代码库。“天穹系统”——这是公司今年投入重金研发的智能数据分析平台。
我从零开始搭建架构,一行行代码敲出来,一个个bug调试,整整三年。
上个月第一版交付时,客户的技术总监握着我的手说:“周工,你们这套系统,
比市场上同类型产品至少领先半年。”现在,他们要我把这“领先半年”的东西,
干干净净地交出去。还要我背着黑锅走人。我移动鼠标,点开加密文件夹。
里面除了正式提交的版本,还有一个标着“V2.0_优化备份”的文件夹。
那是我这三个月利用业余时间做的架构重构方案,性能提升了40%,但还没到交付标准。
如果交出去,他们会发现吗?我盯着屏幕,手指在键盘上悬停。窗外的天色渐渐暗下来。
办公室里陆续有人起身去吃饭。陈浩凑过来小声问:“周哥,要不要给你带点吃的?
”“不用。”我说,“谢谢。”等办公区重新安静下来,我插上私人U盘。开始拷贝。
不是他们要的文档。而是V2.0的所有源代码、设计图、测试用例,
以及……一份完整的操作日志分析报告。
里面清晰地记录了上个月测试服务器被异常访问的时间、IP地址、以及操作账户。
那个账户的权限,属于张副总监。我拷贝完,拔掉U盘,塞进内侧口袋。
然后打开公司文档模板,
了三分之一关键逻辑、参数设置故意留了几处错误、注释写得含糊不清的“核心算法文档”。
敲下最后一行字时,已经晚上七点半。我起身去接水。路过打印区时,
看见张副总监正和小王在吸烟区抽烟。两人背对着我,声音不大,但能听见零碎的字句。
“……放心,他走了位置就是你的……”“……舅舅,
我真能行吗……”“……李总都打点好了……”我端着水杯回到工位。
保温杯里的水已经凉了,但我还是一口喝完。然后把那份精心炮制的文档发到张副总监邮箱。
抄送李志明。五分钟后,邮件显示“已读”。又过了十分钟,李志明从办公室出来,
西装外套搭在手臂上。他看到我还在工位,脚步顿了一下,走过来。“文档我看了。”他说,
“整理得不错。离职协议签了吗?”我从抽屉里拿出那份协议。已经皱了些。
李志明递过来一支笔。万宝龙的,金属笔身冰凉。我接过笔,翻开协议最后一页。
乙方签字处空着。“补偿金什么时候到账?”我问。“办完离职手续后三个工作日内。
”李志明看了眼手表,“抓紧吧,我一会儿还有个饭局。”我捏着笔,笔尖悬在纸上。
办公室只剩下零星几个人。灯光已经调暗了一半。我的工位上,
小雅画的那张全家福在昏暗光线下显得格外鲜艳。我想起早上林薇发来的消息。八万手术费。
想起我妈上个月还说“等我做完手术,就能帮你们接送小雅了”。
想起李志明手腕上那块新表。笔尖落下。签下名字时,
我故意把“周”字的最后一笔拉得很长,墨水在纸上晕开一小片。像一道伤疤。“好了。
”我把协议推过去。李志明拿起来看了看,点点头:“明天上午来办交接。
门禁卡、工牌都交到行政部。公司会给你开离职证明。”“证明上会写什么原因?”我问。
他停顿了一秒:“个人原因辞职。”我笑了:“谢谢李总体面。”他没接话,
把协议对折收好,转身离开。我坐在工位上,开始收拾个人物品。
全家福照片、几本技术书、一个常年放在抽屉里的颈椎按摩仪——那是林薇去年生日送我的,
她说我总加班,脖子早晚要出问题。收拾到一半,陈浩回来了。他手里提着个塑料袋,
里面是盒饭。“周哥,我给你带了……”他看到我在收拾东西,话卡在喉咙里。“浩子。
”我把按摩仪递给他,“这个送你。以后加班记得起来活动活动,别像我一样,
不到三十岁颈椎就废了。”“周哥……”陈浩眼圈红了,“他们不能这样!我去找李总说!
项目出问题的时候你明明在客户那边做技术支持,根本不在公司!
那些操作日志……”“陈浩。”我按住他的肩,用力捏了捏,“好好干。但记住,
给自己留条后路。”他愣愣地看着我。我没再解释,把最后几本书塞进双肩包,拉上拉链。
起身时,我看了眼这个坐了三年零四个月的工位。屏幕已经黑了,键盘上落了一点点灰。
“走了。”我说。“周哥!”陈浩追到电梯口,“以后……还能联系吗?”我按下电梯按钮,
转头对他笑:“当然。我电话又不变。”电梯门开了。我走进去。门缓缓合上时,
我看见陈浩还站在那里,手里提着那盒已经凉了的饭。电梯下行。数字从12跳到1。
我掏出手机,在通讯录里找到一个名字。备注是“赵老师”——赵启明,
我大学时的专业课教授,现在是行业龙头“智创科技”的首席技术顾问。上个月校友聚会时,
他私下跟我说:“周哲,你那个‘天穹’系统的设计思路我看了,很有想法。
如果哪天想换个环境,随时找我。”我当时笑着应了,没当真。现在,我点开对话框,
输入:“赵老师,我是周哲。您上次说的事,现在还有机会聊聊吗?”发送。电梯到达一楼。
门开。我走出大楼。初秋的晚风吹过来,有点凉。手机震了。
赵启明回复得很快:“明天上午十点,智创科技总部,直接来我办公室。带份简历,
不用太正式,主要聊聊技术。”我站在路灯下,看着这条消息。然后抬起头。
身后这栋十二层的写字楼,李志明的公司在七楼。此刻还有几扇窗户亮着灯。
我摸了摸口袋里的U盘。金属外壳微微发烫。
第二章 无声的证据智创科技总部大厅的空调温度打得刚好。我坐在等候区的沙发上,
手里捏着简历。纸的边缘已经被汗水浸得有点软。不是紧张——昨晚几乎没睡,
脑子里反复过今天要说的话。“周先生?”前台姑娘走过来,声音甜得职业化,
“赵总让您直接去十六楼,1608会议室。”“谢谢。”我起身,
拎起那个用了五年的黑色双肩包。拉链有些坏了,林薇用同色线缝过两次,针脚细密整齐。
电梯镜面映出我的样子。白衬衫是昨晚熨的,领口已经有点磨毛。西装裤是三年前买的,
裤脚短了一点点。还好,不算太寒酸。十六楼。走廊安静,地毯吸走了所有脚步声。
1608会议室的门虚掩着。我敲了两下。“进。”推开门,会议室里不止赵启明一个人。
长桌两侧坐了五个人。赵启明坐在主位,见到我立刻笑起来:“周哲,来得准时。
”他指了指左手边的空位,“坐。”我坐下,把简历放在桌上。“介绍一下。
”赵启明环视一圈,“这位是周哲,我学生,之前在腾云科技做技术总监,
主导过‘天穹系统’的开发。周哲,
这几位是公司技术委员会的核心成员:王总、李总监、孙经理、陈工,
还有这位——”他特意顿了顿,看向坐在我对面的女人:“林总,
我们新成立的智能数据分析事业部的负责人。你如果入职,就在她部门。
”林总看起来三十五六岁,短发,戴一副细边眼镜。她没笑,只是点了点头,
目光落在我那份薄薄的简历上。“周哲的情况我大概说过。”赵启明继续说,
“今天主要想听听他对数据分析平台架构的理解,以及……”他转向我,
“‘天穹系统’的设计思路。不涉及商业机密的部分。”我知道这是考验。也是机会。
“各位老师好。”我清了清嗓子,从双肩包里掏出笔记本电脑,“关于‘天穹系统’,
我可以从架构设计的底层逻辑开始讲。”开机,连接投影。屏幕亮起。
我没有打开原来的PPT,而是直接调出了一个思维导图。“传统数据分析平台的核心问题,
在于数据孤岛和实时性不足。”我点开第一个节点,
“‘天穹’的解决方案是构建一个弹性数据中台,通过三层架构……”我开始讲。
讲数据采集层的去重算法,讲处理层的分布式计算框架,讲应用层的智能推荐模型。
讲了二十分钟,没人打断。会议室里只有我的声音,和偶尔敲击键盘的轻响。讲完架构,
我停了一下:“以上是已经交付的1.0版本。实际上,在过去三个月里,
我基于实际运行数据做了优化,设计了一个2.0版本。”我切换页面。新的架构图出现。
“2.0版本的核心改进在于三点。”我放大示意图,“第一,引入边缘计算节点,
将实时查询响应速度提升40%;第二,重构数据清洗模块,
准确率从92%提高到97%;第三,也是最重要的——”我顿了顿,
目光扫过在场每个人的脸。“设计了完整的操作审计链条。从数据接入、处理到输出,
每一步操作都会生成不可篡改的日志,并且支持实时异常行为预警。
”林总第一次开口:“不可篡改?技术上怎么实现?”“区块链轻量级应用。”我说,
“不是完整的链,而是利用哈希算法对操作日志进行链式加密。
任何修改都会破坏整条链的校验,系统会立刻告警。”“代价呢?”提问的是王总,
一个头发花白的老工程师,“加密解密需要消耗计算资源。”“所以我说是‘轻量级’。
”我点开另一个页面,“只对关键操作节点加密。测试数据显示,整体性能损耗在3%以内,
在可接受范围。”会议室安静了几秒。赵启明笑了:“看来你这三个月没闲着。
”“技术人闲着会生锈。”我说。林总合上手里的笔记本:“我只有一个问题。周先生,
据我所知,‘天穹系统’是腾云科技的核心产品。你现在这样详细讲解,
甚至包括未发布的优化方案,是否违反竞业协议或保密条款?”问题很尖锐。也很合理。
我从双肩包里拿出一个信封,推到桌子中央。“这是我的离职证明。”我说,
“昨天刚办完手续。离职原因是‘个人发展需要’。
至于‘天穹’的技术细节——”我打开手机,调出一份文件扫描件。
“这是三年前我入职时签的劳动合同附件。里面明确约定,
员工在职期间利用业余时间、非公司资源研发的技术成果,知识产权归属研发者个人。
而‘天穹’2.0版本的所有工作,都是在非工作时间、使用我个人设备完成的。
公司服务器有完整的登录日志可以证明。”我把手机屏幕转向他们。林总凑近看了看,
然后抬头看我:“你很谨慎。”“吃过亏。”我说。赵启明哈哈一笑:“好!
我就喜欢做事有章法的人。那周哲,说说你的期待。职位,薪资,还有……为什么选择智创?
”我知道关键时刻到了。“职位,我希望是高级架构师,或者技术负责人。薪资,
按市场价就可以。”我停了一下,“至于为什么选择智创——因为三个月前,
腾云科技曾试图与贵公司建立战略合作,希望能接入智创的云计算资源。
当时贵公司的评估结论是‘技术储备不足,暂不合作’。”林总挑眉:“你知道这件事?
”“当时我是腾云的技术对接人。”我说,“我参与了全部技术方案的准备。
也是我亲自写的评估报告,指出腾云现有架构无法满足智创的要求。
”“所以你现在是……”“我想证明,不是我技术不行,是公司不行。”我直直地看着她,
“给我一个团队,三个月时间,我可以搭建出一套比‘天穹’更优秀的数据平台。并且,
我愿意签署最严格的竞业协议和保密协议——除了智创,我不会为任何竞对公司工作。
”话说得很满。但必须满。会议室再次陷入安静。几个技术委员开始交头接耳。
林总盯着我看了足足十秒钟。然后她站起来:“赵老师,各位,我建议录用周哲。
职位暂定高级架构师,负责新数据平台的一期搭建。试用期三个月,薪资按P8级别。
”赵启明看向其他人:“有异议吗?”没人说话。“好。”赵启明也站起来,向我伸出手,
“欢迎加入智创。”我握住他的手。手心有点汗,但握得很稳。“谢谢赵老师。谢谢林总。
”“叫林姐就行。”林总终于露出一丝笑意,“明天上午九点,十六楼事业部报到。
带身份证复印件和银行卡号,HR会找你签合同。”“好。”走出会议室时,
我感觉脚步有点飘。不是兴奋,是那种绷紧的弦突然松开后的虚脱。等电梯时,
林总跟了出来。“周哲。”她站在我旁边,没看我,看着电梯数字跳动,
“你离职的真正原因是什么?”我顿了顿:“理念不合。”“具体点。”“公司需要替罪羊,
我恰好合适。”电梯到了。门开,里面空着。我们走进去。林总按下1楼,然后按了关门键。
“智创不需要替罪羊。”她说,“我们需要能解决问题的人。但前提是,问题要在明面上。
”“我明白。”“还有。”电梯下行时,她转头看我,
“你带来的那个‘操作审计链条’的想法,我很感兴趣。下周立项会,我要看到详细方案。
”“没问题。”电梯到达一楼。门开。“对了。”林总走出电梯前,回头说,
“你那个背包该换了。智创的员工,形象也很重要。”我低头看了看肩上的旧包,
笑了:“好。”走出智创大厦,阳光正好。我站在路边,掏出手机,给林薇打电话。
接通得很快。“面试怎么样?”她声音里压着紧张。“过了。”我说,“高级架构师,
薪资……是之前的两倍。”电话那头沉默了三秒。然后我听见林薇吸鼻子的声音。
“你别哭啊。”我赶紧说,“好事。”“我没哭。”她带着鼻音,
“我就是……妈妈的手术费够了。够了。”“不止手术费。
”我看着马路对面玻璃幕墙上反射的阳光,“下个月发工资,咱们换个大点的房子。
小雅快上小学了,得有个自己的房间。”“你别太拼……”“不拼。”我说,
“这次是正经工作。正常上下班,周末双休。”林薇又沉默了一会儿:“周哲,
你实话跟我说,是不是受委屈了?”我握着手机,喉咙突然有点堵。“没有。”我说,
“就是……换了个更合适的地方。”“那就好。”她轻声说,“晚上早点回来,
我给你做红烧排骨。小雅今天得了朵小红花,说要等爸爸回来贴冰箱上。”“好。
”挂断电话,我在路边站了很久。然后打开微信,找到陈浩的对话框。输入:“浩子,
我找到新工作了。智创科技。”几乎秒回:“我靠!周哥牛逼!智创啊!行业龙头!
”“低调。还没正式入职。”“必须庆祝!周末我请你吃饭!”“行。对了,
腾云那边最近怎么样?”陈浩的回复停顿了一会儿才来:“别提了。你走之后,
张副总监让他外甥接手‘天穹’。那小子连基础文档都看不懂,天天在群里问弱智问题。
客户那边已经投诉两次了,说系统最近老是崩。”“李总什么反应?”“能有什么反应?
护着呗。不过昨天开会,我听财务的小刘说,公司现金流好像出问题了。
上个月工资都晚发了三天。”我盯着这条消息,手指在屏幕上摩挲。“浩子,
你想不想换个环境?”“啊?周哥你要介绍我去智创?
我这点水平够吗……”“智创近期会招一批中级工程师。你基础扎实,学习能力强,
简历我可以帮你内推。”“真的?!周哥我……”“但有个条件。”“你说!”“走之前,
帮我留意一下腾云最近的动向。特别是‘天穹’项目的客户反馈,还有……公司财务状况。
”陈浩又停顿了一会儿。“周哥,你要做什么?”“不做违法的事。”我打字,
“只是收集信息。知己知彼。”“明白了。包在我身上。”“谢谢。简历发我邮箱,
我明天推给HR。”发完这条,我收起手机。路边有卖烤红薯的小摊,
热气腾腾的香味飘过来。我走过去买了一个,剥开焦黑的皮,露出金黄的瓤。咬一口,很甜。
手机又震了。是林总发来的邮件,标题是“欢迎加入团队”,
附件里有入职须知、团队介绍、还有一份项目背景资料。我点开最后一份。
技潜在合作评估重启预案》预案摘要里写着:“鉴于腾云科技近期技术团队变动及业务调整,
拟重新评估其作为数据服务供应商的资质。
评估负责人:林静智能数据分析事业部”下面列着评估时间表。三个月后。我关掉邮件,
继续吃红薯。甜味在嘴里化开,一直暖到胃里。
第三章 新巢与旧痕智创科技十六楼的开放办公区,靠窗的位置是我的新工位。
桌子上已经摆好了标配的双显示器、机械键盘、人体工学椅。左手边有一个小小的绿植盆栽,
卡片上写着“欢迎新同事”。右手边的墙上贴着一张团队合影,照片里林总站在中间,
笑得比昨天开会时自然很多。“周哥,这是你的门禁卡、工牌,还有内网账号。
”行政小姑娘把一个文件夹递给我,“密码是初始的,第一次登录要修改。另外,
下午两点在1703会议室有部门全员会议,林总说让你务必参加。”“好,谢谢。
”我接过东西,工牌上印着我的照片——是昨天在楼下自助机上现拍的,表情有点僵。
职位栏写着“高级架构师”。高级架构师。五年前刚毕业时,我觉得这个头衔遥不可及。
现在它变成了一张塑料卡片,挂在我脖子上。打开电脑,登录内网。
未读邮件:系统欢迎信、HR通知、部门周报、各种权限开通确认……还有一封来自林总的,
标题是“数据平台一期:启动”。点开。邮件正文很简洁:“周哲,
附件是一期项目的详细需求文档和资源清单。核心目标:三个月内搭建完成基础框架,
实现核心功能演示。团队人员名单已抄送,你今天的工作是熟悉文档,
并与各模块负责人初步沟通。明天上午九点,我们开项目启动会。”我下载附件。
文档有八十多页。泡了杯咖啡,我开始看。十一点左右,隔壁工位来了人。
一个戴眼镜的年轻男生,抱着一摞书,咚一声放在桌上。“你好,我是新来的实习生,王锐。
”他有点拘谨地朝我点头,“请问您是……”“周哲,刚来的架构师。”我站起来和他握手,
“你坐这儿?”“对对,林总安排我跟您学习。”王锐推了推眼镜,“我今年研二,
研究方向就是分布式系统,看过您之前发表的几篇技术博客,
那个关于数据去重的算法设计太精彩了……”他说着说着就停不下来,眼睛发亮。我听着,
偶尔点头。年轻真好啊,满脑子都是技术,纯粹。聊了十分钟,
我大概摸清了他的底子:理论基础扎实,实践经验几乎为零,但热情很高。“这样,
你先看项目需求文档。”我把我刚整理的要点发给他,“看完写个初步理解,下午给我。
有问题随时问。”“好的周老师!”王锐立刻坐直,开始翻文档。老师。
这个称呼让我愣了一下。原来我也到了被人叫老师的年纪。下午两点,
1703会议室坐了二十多个人。林总坐在长桌一端,面前摆着笔记本电脑。“人都齐了,
开始吧。”她敲敲桌子,“首先欢迎新同事,周哲,高级架构师,
负责数据平台一期的整体架构设计。周哲,简单自我介绍一下。”我站起来。
二十多双眼睛看过来。“大家好,我是周哲。之前在腾云科技负责‘天穹系统’开发。
擅长大规模数据处理架构和性能优化。未来三个月,希望能和大家一起把项目做好。
请多指教。”坐下时,有人鼓掌。稀稀拉拉的,但还算热情。
绍团队成员:后端开发负责人、前端负责人、测试组长、产品经理……我一个个记名字和脸。
介绍完,林总调出项目计划图。“时间很紧。三个月,
我们要拿出一个能打动董事会的演示版本。”她用激光笔指着屏幕,“周哲负责整体架构,
李明后端负责人带开发团队,张婷产品经理负责需求对接。每周一上午开项目周会,
每天下班前发进度日报。有问题吗?”“有。”后排一个穿格子衫的男生举手,“林总,
三个月从零开始搭这么复杂的系统,人力是不是有点紧张?
我们现在后端加我才五个人……”“人力会补充。”林总打断他,
“下周会有三个新同事入职。另外,实习生王锐也加入后端组。”格子衫男生看了我一眼,
没再说话。“还有问题吗?”林总环视一圈。会议室安静。“好,散会。周哲留一下。
”其他人陆续离开。王锐走前还朝我比了个加油的手势。会议室只剩我和林总两个人。
她合上电脑,揉了揉太阳穴。“压力大吗?”她问。“还好。”我说,
“比预想的团队规模小,但人贵精不贵多。”“精不精要看结果。
”林总从包里拿出一盒薄荷糖,倒出两颗,递给我一颗,“刚才提问的那个,叫刘威。
技术不错,但有点刺头。之前他想当架构师,我没同意。”我接过糖,没吃,放在桌上。
“所以他现在可能不太服我?”“不是可能,是肯定。”林总把糖扔进嘴里,咔吧咬碎,
“但这就是你的第一关。如果连团队内部都搞不定,别说三个月,给你半年也做不出来。
”“明白了。”“还有。”她看着我,“腾云科技那边,你最近别主动联系。
公司有竞业协议,虽然你是被动离职,但还是要避嫌。”“我知道。
”“但如果有前同事主动找你……”林总顿了顿,“正常交流没问题。毕竟这个圈子不大。
”她说得意味深长。我点点头。“行了,去忙吧。”她摆摆手,“明天启动会,
我要看到你的架构设计初稿。”回到工位,刘威正站在我桌子旁,
手里拿着一份打印出来的需求文档。“周工,聊聊?”他语气还算客气。“好。
”我拉过旁边的椅子,“坐。”刘威坐下,把文档摊开,翻到数据采集模块那页。“这里,
需求说要支持每秒百万级的数据接入。”他用笔圈出一个数字,
“我们现有的消息队列架构撑不住。如果要重构,光这块就得一个月。
但整体排期只给了三个月,时间根本不够。”我看了他圈的地方。“不需要重构。”我说,
“现有架构可以优化。Kafka集群扩容,加上动态分区策略,再调优消费者组配置,
性能可以提升三倍左右。如果还不够,可以在前置层加一层流式处理,做数据预聚合。
”刘威愣了一下:“预聚合会损失明细数据。”“所以要做智能采样。”我抽出笔,
在纸上画示意图,“对高频数据采样存储,低频数据全量存储。采样算法我做过,
误差率可以控制在0.5%以内,对分析结果影响很小。
”“这……”“详细方案我明天会上讲。”我把纸推给他,“如果你有兴趣,
可以先看看这篇论文。”我在便签纸上写下一个论文标题和作者名,递过去。刘威接过便签,
盯着看了几秒,然后抬头看我:“你之前做过类似的东西?
”“‘天穹’1.0版本就用了这个思路。”我说,“不过当时受限于硬件资源,
只做到了十万级。后来在2.0设计里,我优化了算法,理论上可以支持千万级。
”“2.0?腾云已经发布新版本了?”“没有。”我顿了一下,“我离职前做的设计,
还没交付。”刘威不说话了。他拿起那张便签纸,折好放进口袋。“明天会上听你讲。
”他说完,起身走了。态度依然不算热情,但至少没再质疑。我松了口气。第一关,
算是过了。下午四点,手机震动。是陈浩发来的微信。“周哥,今天张副总监又开会骂人了。
说‘天穹’系统最近老出bug,客户投诉电话都打到李总那儿了。”“具体什么bug?
”“数据同步延迟,有时候差好几个小时。还有一次,查询结果直接空了。
张副总监让他外甥紧急修复,那小子改代码改到一半,把数据库索引删了,
差点搞崩生产环境。”我皱起眉。删数据库索引?这已经不是技术问题,是基础素养问题。
“李总什么态度?”“还能什么态度?压着呗。不过听说他最近在到处找投资,
公司账上快没钱了。周哥,你那边还招人不?我真想走了。”“简历发我了吗?”“发了!
昨晚就发了!”“好,我今天推给HR。有消息告诉你。”“谢谢周哥!对了,
还有个事……张副总监今天私下找我,问我有没有你的联系方式,
说想找你‘咨询点技术问题’。我给不给?”我盯着这条消息,手指在桌上敲了敲。“给他。
就说我电话没变。”“啊?周哥,他肯定没安好心……”“我知道。你给他就行。”“好吧。
那你小心点。”结束对话,我打开邮箱,把陈浩的简历转发给HR,抄送林总。
附言简单写了几句推荐理由:基础扎实,学习能力强,有项目经验。发完邮件,
窗外天色已经暗下来。办公室里亮起了灯。王锐凑过来:“周老师,需求文档我看完了。
写了些理解,您帮我看看?”我接过他递来的笔记本。上面用娟秀的字迹写了三页纸,
条理清晰,还画了架构草图。“不错。”我说,“不过这里理解有偏差。
数据清洗不是一次性过程,要分阶段……”我讲了二十分钟。王锐听得认真,时不时记笔记。
讲完,他眼睛发亮:“原来是这样!那我重新改一下!”“不急,明天给我就行。
”我看了一眼时间,六点半,“早点回去吧,你们学校应该有门禁。”“没事,我住实验室,
通宵都行。”王锐嘿嘿一笑,“周老师您不走吗?”“我再待会儿。”我说,
“架构图还没画完。”“那我陪您!有问题我还能请教!”看着他跃跃欲试的样子,
我笑了:“行。饿了的话,楼下有便利店。”“好嘞!”我重新打开绘图软件。
屏幕上的线条开始延伸、连接、交织,逐渐形成一个清晰的系统轮廓。
窗外的城市亮起万家灯火。其中一盏,是我的家。第四章 暗流与旧账周六早晨七点,
我被手机震动吵醒。闭着眼摸到床头柜,接起来,声音还带着睡意:“喂?”“周哲,是我,
张伟。”张副总监。我睁开眼,看了眼手机屏幕。确实是他的号码。“张总,这么早。
”我从床上坐起来,尽量让声音听起来清醒,“有事?”电话那头沉默了两秒,
然后传来一声干笑:“也没什么事,就是……听说你最近去智创了?恭喜啊。”“谢谢。
”我掀开被子下床,走到窗边拉开窗帘。晨光刺眼。“那个……智创那边,工作还适应吧?
”张伟的语气试探性很强。“还行。张总有事直说,我一会儿要送孩子去兴趣班。”“哦哦,
好,那我就直说了。”他清了清嗓子,“你也知道,‘天穹’系统最近出了点小问题。
数据同步老是有延迟,客户那边催得紧。李总让我想办法解决,但我这边……你也知道,
小王他经验还不足。”我没接话。张伟等了几秒,见我没反应,只好继续说:“周哲,
你看这样行不行。你抽个时间,帮我们看看问题出在哪。不用你动手改,就指点一下。当然,
不让你白忙,咨询费按市场价给。”我握着手机,看着窗外小区里晨练的老人。“张总,
‘天穹’的代码我交接过,文档也写得很清楚。”我说,“如果按文档操作,
不应该出现这种问题。”“文档是清楚,但……唉,有些细节你可能没写进去。
”张伟的声音有点急,“周哲,咱们共事三年,我自问没亏待过你。现在公司遇到困难,
你就当帮个忙……”“张总。”我打断他,“我已经离职了。而且签了竞业协议,
不能参与前公司的项目。这个忙我帮不了。”“竞业协议那是限制你去竞争对手那里,
又不是限制你帮忙……”“智创和腾云是直接竞争关系。”我说,“张总,
这个电话我就当没接到。以后别再打了。”说完,我挂了电话。林薇从卫生间出来,
一边擦头发一边问:“谁啊?这么早。”“前同事。”我把手机扔回床上,“问技术问题。
”“你答应了?”“没。”林薇走过来,伸手摸了摸我的脸:“黑眼圈这么重,
昨晚又熬夜了?”“赶架构图。”我抓住她的手,“今天不加班,陪你们。小雅呢?
”“还睡着呢。昨天玩疯了。”林薇笑了笑,“对了,妈的手术时间定了,下周三。
医生说手术不大,让我们别太担心。”“钱够吗?”“够了。
你新工作的预支薪水昨天到账了,我交了押金。”林薇顿了顿,“周哲,谢谢你。
”“谢什么。”我把她搂进怀里,“应该的。”上午九点,送小雅去美术班的路上,
手机又震了。这次是陈浩。“周哥,出事了!”他的声音压得很低,背景音很嘈杂,
“今天早上,客户那边的技术总监直接来公司了!当着李总的面拍桌子,
说‘天穹’系统再修不好,就要终止合同,还要索赔!”“具体什么问题?”我问。
“还是数据同步延迟,但这次更严重——昨天一天的数据全丢了!
客户说影响了他们重要的业务决策,损失至少几百万!”我皱起眉。数据丢失?
这已经不是性能问题,是重大事故。“张副总监呢?
”“他和他外甥现在躲在会议室不敢出来。李总脸都绿了,把财务总监也叫过去了,
听说在商量赔款的事。”陈浩顿了顿,“周哥,你说我要不要现在辞职?我感觉公司要垮。
”“再等等。”我说,“先看李总怎么处理。如果他要裁员,你主动辞职就拿不到补偿金。
”“可我怕拖久了更糟……”“浩子。”我看着车窗外的车流,“你相信我,就再等一周。
一周后,我给你准信。”电话那头沉默了一会儿。“好,周哥,我听你的。”挂断电话,
小雅在后座问:“爸爸,谁呀?”“一个叔叔。”我回头冲她笑笑,“今天画什么?
”“画大海!老师说要画蓝色的,很深很深的那种!”很深很深的蓝色。
我想起去年带她去看海,她蹲在沙滩上,用铲子挖坑,说要挖到地球的另一边。
孩子的世界真简单。送完小雅,林薇说想去超市买菜。我们推着购物车,在生鲜区挑排骨。
“妈手术后得补补。”林薇仔细看着标签,“买点骨头炖汤,再买条鱼清蒸。”“好。
”“周哲。”她突然叫我。“嗯?”“你新工作……是不是特别忙?”她没看我,
继续挑着排骨,“我看你最近回家都挺晚的。”“项目刚开始,是有点忙。”我说,
“等走上正轨就好了。”“别太拼。”她轻声说,“身体要紧。
”我伸手揽住她的肩:“知道。”买完菜回家,已经中午。刚进门,手机又响了。
这次是个陌生号码。我接起来:“喂,你好。”“周哲先生吗?”是个女声,很职业,
“我是智创科技人力资源部的李晴。关于您内推的陈浩先生的简历,
我们有些情况想跟您核实一下。”“请说。”“陈浩先生在腾云科技的工作经历,
您能确认是真实的吗?我们做背景调查时,
腾云那边的人力部门说他‘因项目失误被内部警告过’,这个情况您了解吗?”我握紧手机。
“不了解。”我说,“陈浩在职期间工作表现一直很好。项目失误的事,如果真有,
也轮不到他一个中级工程师负责。”“好的。另外,腾云那边还说,陈浩最近工作态度消极,
经常迟到早退……”“李经理。”我打断她,“陈浩是我一手带出来的,
他的工作态度和专业能力我最清楚。至于腾云为什么这么说——”我顿了一下,
“可能是他们最近内部有些动荡,人心不稳。”电话那头安静了几秒。“明白了。
谢谢周先生,我们会综合评估。”“不客气。如果还有其他问题,随时联系我。”挂断电话,
我站在原地没动。林薇从厨房探出头:“怎么了?脸色这么难看。”“没事。
”我把手机放下,“公司的事。”张伟,李志明。你们真是……一点活路都不给人留。
周一上午九点,项目启动会。会议室里坐满了人。我把架构图投在屏幕上,
激光笔的光点随着我的讲解移动。
“整体架构分为四层:数据采集、数据处理、数据服务、应用层。采集层采用多协议适配器,
支持实时流数据和批量数据接入;处理层基于Flink和Spark混搭,
实现流批一体;服务层提供统一的API网关;应用层按业务模块拆分……”讲了二十分钟,
没人打断。“关于性能。”我切换到下一张图,
“我们的目标是:数据接入延迟小于100毫秒,查询响应时间在秒级,
系统可用性99.99%。”“这个目标是不是太高了?”有人提问。是刘威。“高,
但不是达不到。”我调出性能优化方案,
体措施包括:缓存策略优化、索引预构建、查询路由智能分发……详细方案在文档第45页。
”刘威翻着文档,没再说话。林总坐在会议桌另一端,一直没插话,只是安静地听。
讲完架构,进入Q&A环节。问题一个接一个,有问技术细节的,有问排期风险的,
有问资源需求的。我一回答。最后,林总敲了敲桌子。“周哲的架构设计,
大家还有大的异议吗?”没人举手。“好。那就按这个方向执行。周哲,你负责总体把控。
李明带后端团队落地。张婷,三天内我要看到详细的产品原型。”“明白。”“散会。
”人陆续离开。刘威走到我旁边,低声说:“周工,数据采集层那个多协议适配器,
我想用之前开源项目改,可以吗?”“你看过源码吗?性能如何?”“看过,吞吐量不错,
但稳定性有点问题。”“那不行。”我摇头,“采集层是入口,必须绝对稳定。我建议重写,
我这里有现成的设计方案,下午发你。”刘威眼睛一亮:“好!”等人都走光了,
林总才走过来。“讲得不错。”她说,“不过目标定这么高,三个月做不到怎么办?
”“能做到。”我说,“只要团队不拖后腿。”“刘威看起来服你了。”“暂时而已。
还得看实际干活。”林总笑了笑:“行,有数就好。对了,腾云那边出事了,你知道吗?
”我心里一紧:“什么事?”“他们最大的客户,也就是‘天穹’系统的使用者,
昨天正式发函要求终止合同,并索赔五百万。”林总看着我,
“理由是系统重大缺陷导致业务损失。”“……这么快?”“你好像不意外?
”我沉默了几秒:“‘天穹’的设计没问题。但如果维护的人乱改,出问题是迟早的事。
”“所以你在交接的时候,留了一手?”林总问得直接。“没有。”我说,
“我只是按公司要求,交了该交的东西。至于他们能不能用好,不是我的责任。
”林总盯着我看了会儿,然后点头:“明白。不过周哲,有句话我得说在前头——智创雇你,
是看中你的能力,不是看中你和前公司的恩怨。工作就是工作,别把个人情绪带进来。
”“我明白。”“那就好。”她看了眼手表,“下午三点,跟我去见个客户。穿戴正式点。
”“什么客户?”“到时候你就知道了。”下午两点五十,我换上唯一一套像样的西装,
在电梯口等林总。她准时出现,也是一身职业装,但比平时多了条丝巾。“走吧,车在楼下。
”车上,林总递给我一份资料:“先看看。”我翻开。是一家公司简介——“云帆科技”,
做跨境电商的,规模中等。资料最后一页附了一份需求清单:需要一套定制化数据分析系统,
预算三百万。“这是我们潜在的客户。”林总说,“他们之前用的就是腾云的‘天穹’系统。
”我猛地抬头。林总看着前方路况,语气平静:“本来合作得好好的,
但最近系统频繁出问题,他们想换供应商。我托关系拿到了这个机会。
”“所以今天是……”“技术交流。对方CTO会参加。”林总看了我一眼,“周哲,
这是你证明自己的机会。也是智创拿下这个订单的机会。”我握紧手里的资料。
车在云帆科技楼下停住。玻璃幕墙反射着下午的阳光,刺眼。林总拉开车门,
回头对我说:“记住,你现在是智创的人。代表的是智创的技术水平。”我深吸一口气,
下车。走进大堂时,前台姑娘微笑着问:“请问找哪位?”“智创科技,
和林总约了三点见王总。”“请稍等。”等待的间隙,我抬头看着大堂的吊灯。水晶材质,
光线折射得很华丽。就像三个月前,我代表腾云来谈合作时一样。只是那次,我是乙方。
这次,我是潜在的救世主。“林总,周先生,这边请。”前台姑娘引我们走向电梯。
电梯上行时,林总突然说:“周哲,一会儿对方如果问起‘天穹’的问题,
你知道该怎么说吧?”“知道。”我看着电梯数字跳动,“客观陈述技术事实,
不评价前公司。”“聪明。”电梯门开。走廊尽头,会议室的门敞开着。里面传来交谈声。
我跟着林总走进去。会议桌旁坐着三个人。主位上的中年男人站起来,笑容满面:“林总,
欢迎欢迎!”他伸手和林总握手,然后看向我。目光接触的瞬间,我们两人都愣了一下。
“王总,这是我们新来的高级架构师,周哲。”林总介绍道。王总——王振涛,
云帆科技的CTO。三个月前,我们曾坐在同一张桌子两边,
他听我讲解“天穹”系统的优势。而现在,他看着我胸前的工牌,表情从惊讶变成玩味。
“周工。”他伸手,“又见面了。”我握住他的手:“王总,好久不见。”“确实好久。
”他笑了笑,示意我们坐下,“听说你离开腾云了?”“个人发展原因。”我说。“哦?
”王总端起茶杯,吹了吹浮叶,“那真是腾云的损失。不过也好,现在你代表智创,
我们正好可以聊聊……怎么解决我们现在的麻烦。”他把“麻烦”两个字咬得很重。我知道,
真正的考验,现在才开始。第五章 刀锋上的谈判会议室里空调开得很低。王振涛坐在主位,
慢条斯理地翻着智创提供的方案书。他左边坐着技术总监,
一个戴黑框眼镜的年轻人;右边是产品经理,三十岁左右的女白领,正低头做笔记。
林总坐在我对面,神色平静,指尖在桌面上轻轻敲着。“你们这个架构设计,
和腾云的‘天穹’很像啊。”王振涛抬起头,目光落在我脸上,“周工,
这该不会是‘天穹’的升级版吧?”问题很刁钻。如果我说是,
就坐实了“抄袭前公司”的嫌疑;如果说不是,又显得刻意回避。“王总,
数据处理平台的架构设计有通用的方法论。”我把笔记本转向他,调出一张对比图,
“这是目前业界主流的设计范式,包括数据采集、处理、服务、应用四层。
智创的方案遵循了这个范式,但在具体实现上做了大量优化。
”我指着图上的几个关键点:“比如采集层,我们采用了动态协议适配,
比传统静态方案灵活度提升70%;处理层引入边缘计算节点,
延迟降低40%;服务层的API网关支持智能路由和熔断降级,系统稳定性更高。
”王振涛凑近看了看:“但这些优化,听起来都是理论上的。实际效果呢?
”“我们有测试数据。”林总接过话头,“实验室环境下,
这套架构的基准测试结果已经达到国内领先水平。如果王总感兴趣,我们可以安排一次演示。
”“演示当然要看。”王振涛靠回椅背,“不过在此之前,我想先听周工说说,
对我们现在用‘天穹’遇到的问题,有什么看法。”来了。正题。我合上笔记本,
双手交叠放在桌上。“王总,在讨论具体问题前,我需要声明:我已经从腾云离职,
并且签署了竞业协议。所以我的所有分析,都基于公开信息和技术常识,
不涉及任何前公司的商业机密。”“理解。”王振涛点头,“你说。
”“根据公开资料和行业普遍认知,数据同步延迟和丢失问题,通常有以下几个原因。
”我掰着手指,“第一,网络环境不稳定;第二,数据库配置不当;第三,
数据处理逻辑有缺陷;第四,系统资源不足;第五,人为操作失误。
”“你觉得‘天穹’属于哪一种?”“我没有足够信息做判断。”我说,
“但可以提供一个思路:如果是新出现的问题,
通常与前四个原因相关;如果系统原本运行良好,近期突然恶化,那么第五种可能性比较大。
”王振涛和旁边的技术总监交换了一个眼神。“周工很谨慎。”技术总监推了推眼镜,
“不过我们这边确实遇到一些……人为因素。维护人员对系统不熟悉,
改了一些不该改的参数。”“那问题应该不难解决。”我说,“恢复原配置,重新测试。
”“试过了。但有些改动已经影响到底层数据,恢复后还是有问题。”技术总监苦笑,
“我们现在甚至不敢随便动生产环境,怕越弄越糟。”会议室安静下来。
王振涛盯着我看了几秒,突然问:“周工,如果让你来接手修复,需要多久?
”问题直击要害。林总在桌下轻轻踢了我一下。我面不改色:“王总,我现在是智创的员工,
不能直接参与贵司系统的维护工作。这是职业道德,也是法律要求。”“我明白。
”王振涛摆摆手,“我就是问问,理论上。”“理论上,如果有完整的系统文档和操作日志,
一到两周可以定位问题根源;如果有源代码权限,修复加测试,一个月内可以解决。”我说,
“但这是理想情况。实际工作中,变量很多。”“一个月……”王振涛喃喃自语,