注:本文内容源自网络,均为虚构创作,请勿与现实人物、事件关联对号
![]()
一
二零一七年腊月二十三,北方小年。
杭州余杭区一间不到七十平的出租屋里,周明远把最后一口泡面汤喝干净,塑料叉子搁在碗沿上,发出轻微的“咔”一声。窗外有人在放鞭炮,噼噼啪啪的响声隔着双层玻璃传进来,闷闷的,像是很远的地方在炒一锅巨大的栗子。
他今年三十四岁。
手机屏幕亮着,微信对话框里是部门总监刘胜发来的最后一条消息:“明远,今年绩效评定你这边我争取过了,但公司有公司的考量,你理解一下。”
他理解不了。
六个小时前,年终奖发放名单在全员大会上公布。周明远坐在会议室最后一排靠墙的位置,听到自己的名字从名单里消失的时候,手还搁在笔记本电脑的键盘上,正在调试一套核心算法的第三版迭代。会议室里空调开得太足,他后背上全是汗,但手指尖是凉的。
散会以后他没有去找刘胜理论。他把笔记本合上,电源线拔下来,一圈一圈绕好,塞进双肩包的侧袋里。工位上的马克杯还剩半杯凉透了的咖啡,他没倒,没洗,就那么搁在鼠标垫旁边。
然后他走出大楼。
杭州十二月的风从钱塘江方向刮过来,穿过高新区那些玻璃幕墙的写字楼,灌进他的领口。他站在公司楼下抽了一根烟——他不怎么抽烟,口袋里那盒利群还是上个月出差时在火车站买的,二十支装了半年,还剩十一支。烟燃到滤嘴的时候他低头看了一眼手机,刘胜的消息就是这时候发来的。
他看完,没回。
地铁五号线从他公司到住处一共七站。他刷卡出闸的时候,站台上的电子屏正在播放新闻,说今年杭州GDP增速再创新高,数字经济核心产业增加值增长百分之二十二。他站在闸机口听了十几秒,旁边一个拖着行李箱的年轻人催他“让一让”,他才回过神来。
出租屋的门锁不太好使,得用膝盖顶一下才能带上。他换了拖鞋,把双肩包放在餐桌椅上,走进厨房拧开水龙头,洗了手,站在窗前发了一会儿呆。
灶台上搁着一袋他妻子林小曼早上出门前买好的菜——一把青菜、两根黄瓜、一小块猪肉,用超市的塑料袋装着,袋口打了个活结。冰箱上用磁铁吸着一张便利贴,林小曼的字歪歪扭扭的:“晚上想吃什么?我给你做。”
他没胃口。
但他还是把那块猪肉从袋子里拿出来,放在水龙头下冲洗。肉是前腿肉,肥瘦相间,纹理在厨房昏黄的灯光下显得很清晰。他用厨房纸擦干,切成薄片,又洗了青菜和黄瓜,拍了两瓣蒜。电饭煲里的米饭是昨天剩的,他添了点水,按下加热键。
菜炒好了,放在桌上。一盘青菜炒肉片,一盘凉拌黄瓜。他把两盘菜摆好,两副碗筷也摆好,然后坐在桌前看着它们。
林小曼晚上八点四十回来的。她在城西一家教育培训机构做课程顾问,年底正是续费高峰期,每天早出晚归。她推开门的时候头发扎得很高,刘海被风吹乱了,脸颊冻得有点红。
“你做饭了?”她看到桌上的菜,有点意外,“我以为你会叫外卖。”
“今天下班早。”周明远说。
林小曼洗了手坐下来,夹了一片肉放进嘴里,嚼了两下,看了他一眼。她是那种很会察言观色的人,做课程顾问的人都有这个本事。但她没问,又夹了一筷子青菜,说:“咸了一点。”
“嗯。”
“米饭好像有点硬。”
“我多加了水,可能时间不够。”
两个人安静地吃饭。客厅里那台用了五六年的空调发出嗡嗡的响声,制热效果不太好,出风口附近热烘烘的,远一点的地方还是凉飕飕的。周明远穿了两件毛衣,袖子挽到小臂,露出手腕上一块老式的卡西欧电子表,表盘上有一道裂纹,是两年前搬东西的时候磕的。
吃到一半,林小曼忽然放下筷子。
“周明远。”
“嗯?”
“你今天怎么了?”
“没怎么。”
“你炒菜的时候把糖当盐放了。”她把那盘青菜往他那边推了推,“你自己尝尝。”
他夹了一口,确实甜得发腻。他刚才心不在焉,把调料盒搞混了。他放下筷子,沉默了一会儿。
“今年年终奖没我的份。”
他说这话的时候语气很平,像是在陈述一个跟己无关的事实。林小曼的筷子停在半空,过了两三秒才放下来。
“为什么?”
“绩效评定不达标。”
“你不达标?”林小曼的声音提高了一点,“你们那个核心系统不是你一个人做的吗?去年那个什么——”
“数据中台。”他说,“去年上线的那套实时数据处理系统,底层架构是我写的,今年全年的迭代维护也是我一个人。”
“那为什么——”
“刘胜说公司战略调整,资源向AI应用层倾斜,底层技术岗的绩效权重重新分配了。他说他帮我争取过,但CTO那边觉得我的工作成果‘可替代性较强’。”
他说“可替代性较强”这五个字的时候,嘴角微微抽了一下。林小曼沉默了很久,久到空调的嗡嗡声显得格外响。
“那你打算怎么办?”她问。
“不知道。”
“你要不要跟刘胜再谈一次?或者找更高层的人——”
“没用。”周明远打断她,“刘胜去年年底刚提的总监,他上面是赵总,赵总上面是CTO陈维。陈维是从大厂空降过来的,来了以后整个技术体系都在往AI方向转,底层基础设施的优先级一直在降。我跟他汇报过两次工作,他连我们系统的核心指标都记不住。”
他说完这些话,觉得胸口堵得慌。他不是那种喜欢抱怨的人,在公司里他永远是那个闷头干活的人,需求来了就做,bug来了就修,系统崩了就通宵排查。六年了,他从二十八岁干到三十四岁,从初级工程师做到技术骨干,整个数据中台从零到一,一行一行代码都是他敲出来的。
今年公司融了C轮,估值翻了三倍,从几十个人扩张到两百多人,技术团队从原来的七八个人膨胀到四十多个。新来的CTO带来了他在大厂的班底,空降了好几个高P的架构师和总监,原来的老人要么被边缘化,要么主动走了。周明远没走,不是因为他没地方去,而是他觉得这套系统是他一手建起来的,就像自己养大的孩子,交给谁他都不放心。
结果年终奖没有他的份。
“吃饭吧。”林小曼把菜往他那边推了推,“凉了就不好吃了。”
他又拿起筷子,但只夹了两口就放下了。他站起来走到窗边,拉开窗帘,外面是余杭区再普通不过的一片居民区,楼下的路灯坏了一盏,暗黄色的光从远处斜斜地照过来,在地上投出一块不规则的光斑。远处有人在放烟花,一朵红的,一朵绿的,升到半空炸开,几秒钟就灭了。
“妈今天打电话来了。”林小曼在身后说。
“说什么了?”
“问我们什么时候回去过年。”
“你说什么时候?”
“我说年三十早上走,初六回来。”
“嗯。”
“她还问,今年怎么样。”
“你怎么说?”
“我说挺好的。”
周明远转过身来。林小曼还坐在餐桌前,两手捧着那碗已经不太热的米饭,低头看着碗里的米粒。她的侧脸在灯光下显得有点疲惫,眼下有淡淡的青黑色,是长期熬夜加班留下的。她今年三十二了,他们结婚四年,没有孩子,不是不想要,是没敢要。房贷每月六千二,房租三千五,两边的父母都需要赡养,林小曼的父亲去年做了个心脏支架手术,前前后后花了七八万。两个人的收入加起来每月到手两万出头,在杭州这座城市里,够生活,但经不起任何一点意外。
年终奖是他每年最大的单笔收入,往年是三到五个月工资,他原本计划用这笔钱还掉一部分信用卡,剩下的存起来,作为明年换一套大一点房子的首付——他们一直想换一个两居室,现在的房子太小了,万一有了孩子根本住不下。
现在这笔钱没了。
“我去洗个澡。”他说。
热水器也是老式的,要烧半个小时。他坐在马桶盖上等着,浴室里弥漫着一股洗衣液的香味,是林小曼在超市打折时买的,味道有点太浓了,甜得发腻。他掏出手机,打开银行APP看了一眼余额,又关掉了。
洗澡的时候水压不稳,忽冷忽热。他站在花洒下面,热水浇在头顶上,顺着脖子往下淌。他闭上眼睛,脑子里全是代码。不是工作上的代码,是他自己写的那套系统的代码,每一行他都记得。他在脑子里过了一遍整个数据中台的架构图,从数据接入层到计算层到存储层到服务层,每一个模块、每一个接口、每一条数据流向,都像一张地图一样摊开在他脑子里。
这套系统是他六年心血的结晶。公司所有业务线的数据都跑在这套系统上,每天的实时数据吞吐量在两亿条以上,支撑着公司百分之八十以上的核心业务。没有这套系统,公司的推荐引擎跑不起来,用户画像建不起来,商业化变现的根基都得塌。
可替代性较强。
他把洗发水挤在手心里,搓出泡沫,抹在头上,用力地揉。
洗完澡出来,林小曼已经把碗洗了,正坐在沙发上看手机。她穿着一件旧睡衣,领口处脱了线,有一根线头垂在外面。周明远在她旁边坐下来,两个人之间隔着一个靠垫。
“小曼。”他说。
“嗯。”
“我想请两天假。”
“行。”
“我想自己待一待。”
林小曼转过头来看他。她的眼睛里有一种很复杂的东西,不是心疼,不是焦虑,更像是一种疲惫的理解。她点了点头,没再说什么。
那天晚上周明远躺在床上,翻来覆去睡不着。林小曼已经睡着了,呼吸很均匀,偶尔翻个身,把被子卷走一角。他盯着天花板看,天花板上有一道细长的裂缝,从灯座的位置延伸到墙角,像是这个房间的一道伤疤。
他想起六年前。
二零一一年秋天,他研究生毕业,从南京来到杭州。那时候公司还不叫现在这个名字,叫“微云科技”,注册在拱墅区一个孵化器里,连老板加员工一共十二个人。面试他的是创始人孙正华,一个四十出头的前大学老师,戴着眼镜,说话慢条斯理的,技术出身但已经不怎么写代码了。孙正华看了他的简历,问了几个技术问题,当场拍板录用了他。
“我们做的事情很有意义,”孙正华说,“大数据是未来。”
周明远那时候对大数据其实没什么概念,他只是需要一份工作。他老家在安徽安庆下面一个县城,父亲在镇上的农机站修了一辈子拖拉机,母亲在菜市场摆摊卖菜。供他读完研究生,家里欠了四万多块钱的外债。他毕业的时候银行卡里只有八百块,连第一个月的房租都是找同学借的。
微云科技给他的月薪是六千五,在二零一一年的杭州不算高,但对他来说已经是一笔巨款了。他拿到第一个月工资的时候,在ATM机前站了很久,看着屏幕上那个数字,反复数了三遍。
六年了,他的月薪从六千五涨到了两万一,公司从十二个人发展到两百多人,从孵化器搬进了高新区一栋独立的六层办公楼。他参与甚至主导了公司几乎所有核心技术的建设,从最初的一个简单的数据统计系统,到今天支撑百亿级数据量的实时中台。
六年里他几乎没有请过年假,没有旷过一天工。最忙的时候连续一个月每天工作十四个小时,周末也在公司。有一年元旦,系统在大规模迁移过程中出现了一个严重的性能问题,他在公司连续待了三十六小时,困了就趴在桌上睡一会儿,醒了继续调代码。最后问题解决的时候,他站起来的时候腿都是软的,扶着桌子走了两步,膝盖一软差点跪下去。
孙正华那时候还在管技术,走过来拍了拍他的肩膀,说:“明远,辛苦了。”
就这一句话,他觉得一切都值了。
但孙正华在二零一五年年底离开了。公司B轮融资之后,投资方要求引入更“职业化”的管理团队,孙正华被架空了大半年,最后带着一笔钱走了,据说是去做了个人天使投资。接替他担任CEO的是投资方推荐过来的一个职业经理人,姓钱,叫钱坤,之前在另一家独角兽公司做运营副总裁,对技术一窍不通。
钱坤来了以后做了一系列调整,最大的变化是引进了大批大厂背景的高管。CTO陈维就是这时候来的,之前在阿里云做了三年技术总监,据说是因为站队问题被排挤出来的。陈维来了以后,整个技术团队的组织架构大洗牌,原来的技术部被拆分成若干个中心,每个中心设一个负责人,这些负责人大多是他从大厂带过来的老部下。
周明远没有被提拔。他甚至没有被划入任何一个中心的“核心圈”。他的职级从P5变成了P6——这是陈维搞的一套新职级体系——但汇报关系变了,他不再直接向CTO汇报,中间隔了两层:上面是数据中台负责人李浩,李浩上面是技术总监刘胜,刘胜上面才是CTO陈维。
李浩是陈维从阿里带过来的,九零后,二十六岁,之前在阿里做的是数据仓库工程师,来了以后直接成了数据中台负责人,管着包括周明远在内的七个人。李浩技术能力一般,但特别会写PPT,每次汇报都能把一件很简单的事情包装成一个宏大的战略规划。陈维很吃这一套。
周明远跟李浩的关系不算差,但也谈不上好。李浩尊重他的技术能力,但在重要决策上从不征求他的意见。年中做技术规划的时候,李浩主导了一个“AI驱动的智能数据平台”项目,投入了大量资源去做一些花哨但没什么实际价值的功能,而底层数据中台的稳定性和性能优化却被一拖再拖。周明远提过几次意见,李浩嘴上说“好的好的我考虑一下”,然后就没有下文了。
到了年底绩效评定的时候,李浩给他打了B。B意味着“符合预期”,但在公司的绩效分布里,B对应的年终奖系数是零点八——也就是打八折。而今年公司的口径是“根据业绩表现动态调整”,所谓的“动态调整”最终变成了:只有绩效为A及以上的人才有年终奖,B和B以下的人什么都没有。
而整个数据中台团队七个人里,只有李浩自己拿了A。
周明远想到这里,忽然觉得很累。不是身体上的累,是那种从骨头缝里渗出来的、带着酸涩的疲惫感。他翻了个身,把脸埋在枕头里,枕头上有洗衣液的味道,甜得发腻。
他闭上眼睛,强迫自己什么都不想。
但脑子里那套系统的架构图又浮现出来了,一行一行的代码,一个一个的模块,像是刻在他脑子里一样,怎么都关不掉。
二
第二天早上,手机闹钟响的时候,周明远没有起来。
他躺在床上听着闹钟响了三次,每一次都伸手按掉,然后继续躺着。窗帘没拉严实,一线光从缝隙里挤进来,照在地板上,像一条细细的白色绸带。林小曼已经出门了,厨房的台板上放着她的早餐——一碗冲好的燕麦片,旁边搁着一根香蕉,碗上盖着一个盘子保温。
他八点半起床,没有洗脸,穿着睡衣坐在餐桌前,把那碗已经凉了的燕麦片吃了。燕麦片结了一层皮,他用勺子挑开,下面的部分还是温的。香蕉皮上有些黑点,熟透了,剥开的时候有一股浓烈的甜香。
吃完以后他坐在桌前发了很久的呆。窗外的天灰蒙蒙的,云层压得很低,像是要下雨但一直没下下来的那种天气。楼下的巷子里有人在卖烤红薯,三轮车上架着一个铁皮桶改成的烤炉,喇叭里循环播放着“烤红薯——又香又甜的烤红薯——”,声音沙沙的,像是录音带被磨花了。
他打开手机,看到工作群里刘胜发了一条消息:“@所有人 请大家在下午五点前提交本周的工作周报。”群里没有人回复,只有刘胜自己的消息孤零零地躺在对话框里。
他没有回复,退出了群聊。
又刷了一会儿朋友圈,看到前同事赵磊发了一条动态。赵磊是去年离职的,也是数据中台的老人,跟周明远同期入职,负责后端开发。他受不了李浩的管理方式,跳槽去了上海一家创业公司,薪资翻了一倍。朋友圈里他发了一张照片,是在上海陆家嘴的一家西餐厅,配文是“新团队,新起点,感谢老板的信任”。照片里赵磊穿着一件深蓝色的衬衫,笑得露出八颗牙齿,面前的盘子里是一块煎得很漂亮的牛排。
周明远点了个赞,然后退出了朋友圈。
他打开电脑,没有登录工作账号,而是打开了浏览器,在搜索引擎里输入了几个关键词:“杭州 大数据 招聘”。搜索结果跳出来一大堆,他漫无目的地翻了十几页,看到很多职位描述里都写着“有大规模分布式系统经验优先”“熟悉实时计算框架者优先”“有从零到一搭建数据中台经验者优先”。
每一条他都符合。
但他没有投任何一份简历。
不是不想走,是走不了。准确地说,是走了以后那套系统怎么办。他知道这种想法很可笑——一个打工的,操什么老板的心?但他就是过不了自己这一关。那套系统就像是他的孩子,每一个模块、每一行代码都是他一个字一个字敲出来的,他知道哪里有坑,哪里需要优化,哪里在什么情况下会出问题。他走了,谁来接手?李浩吗?李浩连系统里最基础的数据模型都搞不清楚。刘胜吗?刘胜已经两年没写过代码了。
他关掉浏览器,站起来走到阳台上。阳台上晾着几件衣服,林小曼的一件红色羽绒服挂在最外面,被风吹得鼓鼓囊囊的,像一个圆滚滚的人站在那儿。他伸手摸了摸羽绒服的下摆,还是潮的,估计得晾到明天才能干。
手机响了。来电显示是“妈”。
他犹豫了一下,接了。
“明远啊,吃饭了没有?”母亲的声音从听筒里传来,带着浓重的安庆口音,背景里还有电视机的响声,听声音像是在放什么戏曲频道。
“吃了,妈。”
“吃什么了?”
“燕麦片。”
“就吃那个?那能顶饱吗?你自己要做点饭吃,别老是凑合。你胃不好,不能老吃凉的。”
“知道了妈。”
“小曼呢?上班去了?”
“嗯,上班去了。”
“你们俩都注意身体,别太累了。过年回来我给你炖排骨汤,你爸今年腌了几条腊肉,味道好得很。”
“好。”
“对了,你二姨家的小伟今年也去杭州找工作了,学的什么计算机,你帮他看看有没有合适的公司——”
“妈,”周明远打断她,“我知道了,等他来了我帮他留意。”
“好好好,那就这样啊,你忙你的。”
电话挂了。他把手机放在阳台栏杆上,看着远处的高架桥上车辆来来往往,车灯在灰蒙蒙的天色里拉出一道道红白相间的光带。高架桥旁边是一片在建的工地,几台塔吊静静地立在那里,吊臂指向不同的方向,像是在指着什么他看不见的东西。
他在阳台上站了将近半个小时,直到手指尖冻得发麻才回到屋里。他关上阳台门,把空调温度调高了两度,坐在沙发上,拿起遥控器打开电视。
电视里在放一部老电影,周星驰的《大话西游》,正好放到至尊宝在城墙上看着紫霞仙子的背影说“那个人好像一条狗”。他看了几秒,换了个台,是一个房产节目,主持人正在激情澎湃地介绍某个楼盘的升值潜力。又换了个台,是一个求职节目,一个年轻人站在台上跟一群老板讨价还价,开出年薪五十万的条件,台下有一个老板举了牌。
他关掉电视。
下午两点多的时候,手机又响了。这次是刘胜。
他看着屏幕上“刘胜”两个字闪了好几秒,拇指悬在接听键上方,最后还是按了接听。
“喂。”
“明远啊,你今天没来上班?”刘胜的声音听起来很轻松,像是在聊一件无关紧要的事情。
“我请了假。”
“我知道你请了假,我就是想问问你身体怎么样?是不是不舒服?”
“没事,就是想休息一天。”
“那就好那就好。对了,昨天年终奖的事情,我其实还想跟你聊聊。你看你今天有空吗?要不咱们找个地方坐坐,喝杯咖啡?”
周明远沉默了两秒。“不用了,刘总。我没事。”
“你别多想啊明远,这个事情我也很为难。陈总那边对今年的绩效分布卡得很严,每个中心必须有一定比例的B和C。你这边李浩报上来的评价是‘技术深度足够但业务价值体现不足’,我帮你争取过,但陈总说——”
“刘总,”周明远打断他,“我理解。公司有公司的考量。”
电话那头沉默了一会儿。刘胜可能没想到他会这么平静,准备好的说辞一下子不知道怎么接。
“那……你好好休息,明天要是还不舒服就多休息一天,没事的。”
“好。”
挂了电话,周明远把手机扔在沙发上,双手捂住了脸。他的手指很长,骨节分明,指甲剪得很短,指腹上有几道浅浅的疤痕,是以前焊接电路板的时候烫的——那是他在读研时做项目留下的,那时候他还在搞嵌入式系统,后来才转了大数据方向。
“技术深度足够但业务价值体现不足。”
这句话翻译过来就是:你技术再好有什么用?在老板眼里,你不就是个写代码的?
他忽然想起一件事情。去年年底,公司的一个核心客户因为数据延迟问题差点流失,是周明远连续加班三天三夜排查出来问题根源并修复的。那个客户每年的合同金额是两千万。事后李浩在全员邮件里表扬了“数据中台团队”的快速响应能力,连周明远的名字都没有提。
而年终奖评定的时候,这件事显然没有被计入他的绩效。
他站起来,走到书桌前,拉开抽屉,翻出一个旧笔记本。那是他刚入职时用的,黑色硬壳封面,边角已经磨白了。他随手翻开一页,看到自己当年记的一些技术笔记,字迹很潦草,但一笔一画都写得很用力。笔记本的最后一页夹着一张照片,是二零一二年公司年会的合影,十几个人站在拱墅区一家小餐馆的包间里,每个人都笑得很开心。孙正华站在中间,穿着一件灰色的夹克,手搭在周明远的肩膀上。
他看了很久,然后把照片放回去,合上笔记本,重新塞进抽屉最里面。
那天下午他哪儿都没去,就坐在沙发上,看着窗外的天色一点一点暗下来。他没有开灯,客厅里只有电视机的待机指示灯亮着,一个小小的红色圆点,像是黑暗中的一只眼睛。
傍晚林小曼回来的时候,发现他还在沙发上坐着,姿势跟早上她离开时几乎一样。
“你一天没出门?”她问。
“没有。”
“吃饭了吗?”
“不饿。”
林小曼把包放在玄关的鞋柜上,走过来在他旁边坐下。她没有开灯,两个人就这么坐在昏暗的客厅里,谁都没有说话。过了好一会儿,林小曼伸出手,握住了他的手。她的手很暖,指尖有一点粗糙,是做家务留下的。
“周明远,”她说,“你要是难受就说出来。”
“我不知道怎么说。”他的声音有点哑。
“那就别说。”
两个人又沉默了一会儿。然后林小曼站起来,走进厨房,打开冰箱,拿出两个鸡蛋和一把小葱。她动作很轻,打蛋的时候蛋壳碰着碗沿发出清脆的响声,葱花落在蛋液里发出细微的“扑”一声。灶火打开的时候,蓝色的火苗舔着锅底,油烟机嗡嗡地转起来。
十五分钟后,一碗热气腾腾的葱花儿鸡蛋面端到了他面前。面条是她手擀的,有点粗细不均,但煮得刚刚好,不软不硬。汤底是酱油和猪油调的,上面飘着翠绿的葱花和金黄色的蛋花,香气扑鼻。
周明远端起碗,吃了一口。面条滑进嘴里的时候,他的眼眶忽然热了一下。
“好吃。”他说。
“那当然。”林小曼坐在他对面,托着腮看他吃,“我妈教的,猪油是灵魂。”
他大口大口地吃着,吃到最后一口的时候,眼泪掉进了碗里。他低着头,假装是在喝汤,用碗遮住了自己的脸。林小曼没有戳穿他,站起来走到厨房去倒了一杯水,放在他手边。
那天晚上,周明远做了一个决定。
他要把自己写的代码带走。
不是偷,是备份。那套系统的代码是他一行一行写的,版权属于公司,他清楚这一点。但他想留一份在自己的硬盘里,不是为了什么商业目的,只是……舍不得。就像是一个父亲知道自己的孩子要被别人领养了,他想留一张照片。
他知道这是违规的。甚至可能触犯公司的信息安全制度。但他顾不了那么多了。
三
第二天,周明远正常去上班了。
他穿了一件深蓝色的冲锋衣,背着他的旧双肩包,七点五十出门,八点二十到公司。公司在文一西路的一栋写字楼里,六层都是他们的,门口的前台换了一个新的姑娘,不太认识他,问他有没有工牌。他说忘带了,姑娘让他登记了一下名字和部门。
他走进电梯,按了五楼。电梯门打开的时候,走廊里已经有人在走动了,都是些年轻的面孔,戴着工牌,手里端着咖啡,三三两两地往工位走。有些人看了他一眼,但没有人跟他打招呼。他在公司待了六年,但这两年新来的人太多了,大部分面孔他都不认识。
他的工位在五楼靠窗的位置,旁边是一面落地窗,可以看到对面的另一栋写字楼和楼下的一片银杏树。冬天银杏树的叶子都掉光了,光秃秃的枝丫伸向天空,像是在无声地呐喊。
他坐下来,打开电脑。屏幕亮起来的时候,桌面壁纸是一张默认的蓝色风景图,他一直懒得换。桌面上密密麻麻地排列着各种文件夹和文件,大部分都是跟工作相关的。他打开IDE,登录了代码仓库,开始浏览自己写的那些代码。
六个项目仓库,三百七十四个提交记录,两万七千多行核心代码。
他花了整整一个上午的时间,一个文件一个文件地看过去,像是在翻阅一本自己写了六年的日记。每一段代码他都能想起来是什么时候写的,是在什么情况下写的,解决了什么问题。有一段代码是二零一四年春节前写的,那天他一个人在办公室加班到凌晨三点,外面在下雪,他写完最后一行代码的时候站起来走到窗边,看到整个高新区都白了,路灯下的雪花像是无数细小的星星。
他把那段代码单独选中,复制,粘贴到一个新建的文本文件里。
中午他没有去食堂吃饭,坐在工位上啃了一个面包。面包是楼下便利店买的,夹心的那种,咬开以后里面的果酱甜得发腻。他一边嚼一边继续浏览代码,时不时地复制一段,粘贴到那个文本文件里。
他做得很小心,没有批量下载,没有使用任何外部存储设备,只是把代码片段复制到一个文本文件里,看起来就像是正常的编码工作。他知道公司的信息安全系统会监控异常的数据外传行为,但他只是在自己的电脑上操作,没有连接任何外部设备,理论上不会触发警报。
但他的手心一直在出汗。
下午两点多的时候,李浩从办公室出来,走到他的工位旁边。
“远哥,”李浩靠在隔板上,手里端着一杯瑞幸的咖啡,“听说你昨天不舒服?好点了吗?”
“好多了。”周明远没有抬头,手指还在键盘上敲着。
“那就好。对了,有个事情想跟你商量一下。”李浩拉了一把椅子坐下来,“春节前我们不是要上一个新版本嘛,智能数据平台那一块,AI特征工程的模块需要跟底层中台做深度集成,你这边能不能加个班,争取在放假前把这个接口调通?”
周明远的手指停住了。他抬起头看着李浩。李浩很年轻,皮肤白净,戴着一副金丝边眼镜,说话的时候习惯性地抿一下嘴唇,像是在克制某种不自信。他的咖啡杯上印着“Luckin Coffee”的logo,杯壁上凝结着水珠。
“李浩,”周明远说,“你知道我昨天为什么请假吗?”
李浩愣了一下。“不是身体不舒服吗?”
“年终奖的事情,你知道了吧?”
李浩的表情变了。他放下咖啡杯,两只手交叠放在膝盖上,沉默了几秒。“远哥,这个事情……我跟你说实话,绩效评定的结果不是我一个人能决定的。上面有刘总,有陈总,他们定了大方向,我只是执行。”
“你给我打了B。”
“远哥,那个B其实不是‘不好’的意思,在我们新的职级体系里,B代表——”
“代表符合预期。但结果是,拿了B就没有年终奖。”
李浩张了张嘴,没有说出话来。他拿起咖啡杯喝了一口,可能喝得太急,呛了一下,咳了两声。
“远哥,我理解你的心情。但公司的制度就是这样,我也没有办法。要不这样,我跟刘总再沟通一下,看能不能从别的渠道给你争取一点——”
“不用了。”周明远说,“那个AI特征工程的集成,我年前做不完。底层中台现在有三个性能优化的技术债没还,如果不先解决这些问题,在上面叠新功能,系统稳定性会出大问题。我之前在周报里提过三次,你都没有回复。”
李浩的脸色变得有点难看。“远哥,这个项目的排期是陈总亲自定的,春节后要跟一个大客户做POC,如果年前不能上线——”
“那就让陈总自己来写。”
这句话说出来的时候,空气像是凝固了。李浩的眼镜片后面闪过一丝不易察觉的慌乱,然后他站起来,把椅子推回原位。
“行,我知道了。我跟刘总汇报一下。”
他走了,咖啡杯忘在了周明远的桌上,杯壁上那圈水珠慢慢往下淌,在桌面上洇出一小片水渍。
周明远看着那个咖啡杯,忽然觉得有点想笑。二十六岁的中台负责人,从大厂空降过来,连最基础的数据倾斜问题都搞不清楚,却能决定一个干了六年核心技术的老员工的绩效。这个世界到底是怎么了?
他继续复制代码。
下午四点,他把那个文本文件保存了下来,文件名是一串随机的数字和字母,藏在了一个很深很深的文件夹里。文件大小只有不到两百KB,但里面装着他六年的心血。
他没有带任何存储设备离开公司。那个文件就躺在公司电脑的硬盘里,在层层文件夹的包裹之下,像一粒被埋进土里的种子。
下班的时候,他走出大楼,天已经完全黑了。十二月的夜晚来得很早,五点半太阳就落了山。他站在公司楼下点了一根烟,吸了两口,看到刘胜从大楼里出来,旁边跟着两个人,看穿着打扮像是客户。刘胜穿着一件黑色的羊绒大衣,头发梳得一丝不苟,正在跟客户说着什么,笑容满面。
刘胜看到了他,朝他点了点头,但没有停下来。四个人上了一辆黑色的奔驰商务车,车子驶出停车场,汇入了文一西路的车流中。
周明远把烟掐灭,扔进垃圾桶,走向地铁站。
四
接下来的一周,周明远照常上班,照常写代码,照常开会。他没有再跟李浩提年终奖的事情,也没有去找刘胜理论。他变得很安静,开会的时候坐在角落里,不怎么发言,只是低着头在笔记本上记东西。
他在记什么?没有人知道。
但他开始做一些之前没做过的事情。他开始详细地写技术文档——不是那种敷衍了事的文档,而是非常详尽、几乎可以作为教材使用的文档。他把整个数据中台的架构设计、核心模块的实现原理、常见问题的排查方法、性能优化的最佳实践,全部用清晰的语言和图表记录下来,整理成一个完整的文档库。
他把这些文档放在公司的Wiki上,权限设置为公开。
李浩看到这些文档的时候很意外,在周报里特意表扬了他“知识沉淀意识强”。周明远没有回应。
他也在做另一件事情:梳理自己的简历。
每天晚上回到家,洗完澡,他坐在餐桌前,打开那台用了四年的旧笔记本电脑,一个字一个字地修改自己的简历。他把过去六年的工作经历一条一条地列出来,每个项目都写得尽可能详细,但又不失简洁。他写的时候很克制,没有用任何夸张的词汇,只是平实地陈述自己做了什么、用了什么技术、解决了什么问题。
他写了删,删了写,反复修改了不知道多少遍。林小曼有时候从卧室出来倒水,看到他还在对着电脑屏幕发呆,就走过来看一眼。
“还没写好?”
“总觉得不够好。”
“你不是说你做了很多吗?怎么写出来就那么几行?”
“我不知道怎么把自己说得更厉害一点。”他苦笑了一下,“我就是个写代码的。”
林小曼在他旁边坐下来,看了一会儿屏幕,然后指着其中一行说:“这里,你说‘参与了数据中台的搭建’,但实际上你是主导者,对吧?你应该写‘主导设计了’而不是‘参与了’。”
周明远想了想,改成了“主导设计了公司级数据中台的底层架构”。
“还有这里,”林小曼又指了一行,“你说‘处理了若干性能问题’,但你不是跟我说过,你解决过一个别人都搞不定的数据倾斜问题,让系统性能提升了三倍吗?你应该把那个写出来,具体一点。”
他犹豫了一下。“那样写会不会显得太自夸了?”
“周明远,”林小曼看着他,“你都快三十五了,能不能别这么实在?你在这个行业里干了六年,核心技术是你一个人撑起来的,你还觉得自夸?你这是实事求是。”
他沉默了一会儿,把那段改成了“独立解决核心数据倾斜问题,优化后系统吞吐量提升300%,支撑业务增长200%”。
写完之后他读了一遍,觉得有点不太像自己。但林小曼说“就这样,别改了”。
简历最终定稿的时候,是腊月二十七的晚上。他把简历保存为一个PDF文件,放在了桌面上,文件名是“周明远_技术简历_201712.pdf”。他看着这个文件,犹豫了很久,还是没有把它发给任何人。
“你在等什么?”林小曼问。
“不知道。可能……还没做好准备。”
“你是舍不得那套系统。”
他没有否认。
腊月二十八,公司在写字楼的大堂里搞了一个小型的年会,因为正式的年会在元旦前已经办过了,这次算是春节前的收尾活动。大堂里摆了几张桌子,上面放着水果、零食和饮料,还有一个抽奖箱。大部分人都没什么心思参与,都在等着放假。几个部门的人在拍照发朋友圈,背景是公司新做的品牌墙,上面写着公司的愿景和价值观。
周明远没有下去。他坐在工位上,把最后一周的工作收尾。他写完了最后一个模块的单元测试,跑了一遍,全部通过。然后他打开公司的Wiki,检查了一遍自己写的那些技术文档,确认没有任何遗漏。
他把电脑关上,收拾了桌面。马克杯里的咖啡早就喝完了,杯壁上留着一圈褐色的咖啡渍。他把杯子拿到茶水间洗了,倒扣在沥水架上。鼠标垫卷起来塞进抽屉里,笔记本和笔也放好了。
桌面变得很干净,像他第一天来的时候一样。
他背起双肩包,最后看了一眼自己的工位。工位后面的墙上贴着一张便利贴,是林小曼上次来公司找他时贴的,上面画了一个笑脸,写着“加油”。他伸手把便利贴揭下来,折好,放进了钱包里。
走出大楼的时候,杭州下起了雨。不大,细细密密的,打在脸上凉飕飕的。他没有打伞,就这么走进了雨里。走到地铁站入口的时候,他的头发和肩膀都湿了,冲锋衣的表面上挂着一层细密的水珠。
在地铁上,他收到了刘胜的一条消息。
“明远,春节后公司组织架构有调整,数据中台会并入AI平台部,到时候可能会有一些人事变动。提前跟你打个招呼,做好心理准备。”
他看完这条消息,把手机屏幕按灭了。
地铁驶过一站又一站,车厢里的人越来越少。他靠在车门旁边的扶手上,看着车窗外面漆黑的隧道壁上飞速掠过的黄色灯带,那些灯光一道一道地闪过,像是某种倒计时。
五
大年三十那天早上,周明远和林小曼坐上了回安徽老家的高铁。
杭州东站里人山人海,到处都是拖着行李箱、背着大包小包的人。候车大厅里的空气混杂着泡面味、汗味和消毒水的味道,广播里反复播放着列车到发信息,声音在大厅里回荡,形成一种嗡嗡的白噪音。
他们买的是二等座,三个人一排的那种。林小曼坐在靠窗的位置,周明远坐在中间,靠过道的位置坐着一个五十多岁的男人,手里拎着一个红色的塑料桶,桶里装着几桶方便面和一瓶白酒。男人一路上都在打电话,用的是方言,周明远听不太懂,但从语气里能听出来是在跟家里人汇报到家的时间。
高铁从杭州到安庆大约三个半小时。列车驶出杭州以后,窗外的景色从城市变成了田野和山丘,农田里覆盖着一层薄薄的雪,远处的山峦在雾气中若隐若现。林小曼靠着窗户睡着了,呼吸很轻,偶尔在睡梦中动一下肩膀。
周明远没有睡。他戴着耳机,听一首老歌——李宗盛的《山丘》。这首歌他听了无数遍,但从来没有像现在这样听得进去。
“越过山丘,虽然已白了头。喋喋不休,时不我予的哀愁。”
他闭上眼睛,靠在座椅上,手指在膝盖上无意识地敲着节拍。
中午十二点半,高铁到达安庆站。他们转乘大巴,又坐了一个小时,才到了县城。周明远的父亲骑着一辆电动三轮车在车站等他们。老人家六十二了,头发已经白了大半,脸上的皱纹像是被风吹干的河床,穿着一件旧军大衣,领口处露着已经发黄的棉絮。
“爸。”周明远喊了一声。
“回来了?上车,你妈在家等着呢。”
三轮车的后斗里铺着一层棉被,是专门为他们准备的。林小曼坐上去,周明远坐在她旁边,把行李箱放在脚边。电动三轮车突突突地开起来,穿过县城的街道,经过菜市场、学校、卫生院,拐进一条窄巷子,在一栋两层的自建房前停下来。
母亲已经在门口等着了。她穿着一件暗红色的棉袄,围裙还没来得及解,手上还沾着面粉——她在包饺子。看到儿子和儿媳妇从车上下来,她的眼睛一下子亮了,脸上的皱纹都舒展开了。
“快进来快进来,外面冷。”
屋子里很暖和,堂屋中间摆着一个铁皮炉子,上面烧着一壶水,炉膛里的火苗映在地上,一闪一闪的。八仙桌上已经摆了好几道菜:红烧鱼、炖鸡、炒腊肉、炸丸子,都是周明远从小爱吃的。桌子的正中央放着一盘饺子,皮薄馅大,捏着整齐的花边。
“妈,做这么多菜干嘛,吃不完。”周明远说。
“过年嘛,多吃点。你看你瘦了,脸都小了。”母亲端详着他的脸,伸手捏了捏他的肩膀,“是不是又加班了?”
“没有,正常上班。”
“你别骗我,你每次回来都瘦一圈。”母亲转向林小曼,“小曼啊,你看着他点,别让他老加班。胃不好的人不能饿着,也不能吃凉的。”
“我知道了,妈。”林小曼笑着说。
一家人坐下来吃饭。周明远的父亲不太爱说话,坐在桌子对面,夹了一块鱼肉放进嘴里,慢慢嚼着。他吃了一辈子的苦,手上全是老茧和裂口,指甲缝里嵌着洗不掉的机油。他不怎么表达感情,但每次周明远回来,他都会去菜市场买一条鱼——他知道儿子爱吃鱼。
“今年怎么样?”父亲忽然问了一句。
周明远夹菜的手停了一下。“挺好的。”
“工作还顺心?”
“顺心。”
父亲没有再问,低头继续吃饭。但周明远知道,父亲什么都看得出来。他是那种什么都不说但什么都看在眼里的人。
吃完饭,母亲收拾碗筷,林小曼帮忙。周明远坐在堂屋里陪父亲看电视,电视里在放春节联欢晚会的预热节目,几个主持人在那里说些吉祥话。父亲坐在藤椅上,两只手搭在膝盖上,看着电视屏幕,但眼神是放空的。
“爸,”周明远说,“你身体怎么样?”
“老样子,没什么大事。”
“血压呢?”
“吃着药呢,稳着呢。”
“别太累了,农机站的活能少干就少干点。”
“不累,闲着也是闲着。”父亲顿了顿,“你在外面不容易,别太拼。身体是革命的本钱。”
这话从一个修了一辈子拖拉机的老人嘴里说出来,有一种特别的重量。周明远点了点头,没有接话。
晚上八点,春节联欢晚会开始了。一家四口坐在堂屋里看电视,炉子上的水壶咕嘟咕嘟地响着,窗外的鞭炮声此起彼伏,空气里弥漫着硝烟的味道。母亲剥了一个橘子递给周明远,橘子很甜,汁水顺着手指缝往下淌。
周明远看着电视屏幕上的歌舞表演,心里却在想别的事情。他在想那套系统,想那些代码,想年后回去以后会面临什么。刘胜说的“组织架构调整”是什么意思?数据中台并入AI平台部以后,他会被安排到什么位置?还是说,这是一个信号——一个让他自己走的信号?
手机震了一下。他低头一看,是一个陌生号码发来的短信。
“周工,您好。冒昧打扰。我是恒业资本的张维。从公开渠道了解到您在微云科技的技术贡献。我们正在关注大数据基础设施领域的投资机会,认为您的技术能力非常出色。如有兴趣了解新的职业机会,可以随时联系我。附上我的微信和邮箱。”
他盯着这条短信看了很久。
恒业资本。他知道这家机构,是国内一线的人民币基金,在To B和企业服务领域投了不少知名公司。但他不认识这个叫张维的人,也从来没有主动接触过任何投资机构。
这条短信来得太突然了,像是有人在黑暗中忽然点亮了一盏灯。
他把手机揣进口袋,没有回复。
晚会进行到一半,林小曼靠在他肩膀上打瞌睡。母亲已经把瓜子花生和糖果摆出来了,还有一盘切好的苹果。周明远拿起一块苹果咬了一口,苹果有点面,不是那种脆的,但很甜。
“妈,”他说,“你们早点睡吧,不用守岁了。”
“你们难得回来,再坐一会儿。”母亲说着,又往炉子里添了几块炭。
快到十二点的时候,外面的鞭炮声越来越密集,整个县城都笼罩在一片震耳欲聋的轰鸣声中。周明远走到门外,站在巷子里,看着天空中被烟花照亮的云层。红的、绿的、紫的、金的,一朵接一朵地炸开,像是有人在天空中打翻了颜料盘。
他掏出手机,再一次看了那条短信。
然后他打开了微信,搜索了那个手机号。一个微信号弹出来,头像是一张简单的风景照,昵称是“张维-恒业资本”。个性签名栏里写着一句话:“投早、投小、投硬科技。”
他没有添加好友,退出了微信。
回到屋里的时候,母亲正在给林小曼披一条毯子。她看到他进来,招了招手,示意他过去。她拉着他的手,小声说:“明远,你跟妈说实话,是不是工作上出什么事了?”
“没有,妈。真没有。”
“你别骗我。你一回来我就看出来了,你眼睛里没神。”
周明远沉默了一会儿。“就是有点累。”
母亲握着他的手,她的手粗糙、温暖,掌心有常年做家务留下的茧子。“累了就歇歇,天塌不下来。你还年轻,路还长着呢。你爸当年在农机站,一个月工资三十八块,养你和你姐两个人,不也过来了吗?日子是一天一天过的,别想太多。”
“嗯。”
“去睡吧,明天早上我给你下饺子吃。”
他站起来,走到父母为他们准备的房间。房间不大,一张床,一个衣柜,一张书桌。书桌上放着一盏台灯,灯罩上落了一层灰。他打开台灯,橘黄色的光洒在桌面上,照亮了桌上放着的一本旧书——是他高中时用过的一本《新华字典》,书页已经发黄了,边角卷了起来。
他坐在床上,脱了鞋,靠着床头躺下来。林小曼过了一会儿也进来了,她洗了脸,脸上的护肤品味道淡淡的,是那种超市里最常见的品牌。
“你妈刚才问我,我们什么时候要孩子。”林小曼一边擦脸一边说。
“你怎么说?”
“我说在准备。”
“嗯。”
“周明远,我们是不是该认真考虑一下这个事情了?”
他没有马上回答。天花板上有道裂缝,跟杭州出租屋里那道裂缝很像,但更长一些,从灯座一直延伸到墙角。他盯着那道裂缝看了一会儿。
“等过了年再说。”他说。
林小曼没有再说什么,关了灯,在他旁边躺下来。黑暗中,她的呼吸声很近,带着一点淡淡的牙膏的薄荷味。窗外鞭炮声已经稀疏了很多,偶尔有一两声从远处传来,像是最后的几声鼓点。
周明远在黑暗中睁着眼睛,想着那条短信。
恒业资本。张维。
他不知道这个人是怎么找到他的,也不知道这个人的目的是什么。但有一点是确定的:有人注意到了他。
他翻了个身,把脸朝向墙壁。墙上贴着旧报纸,报纸已经泛黄了,上面的日期是一九九八年的。那一年他十五岁,还在读初中,每天骑自行车往返于家和学校之间,单程要四十分钟。冬天的早晨天还没亮就要出发,骑到学校的时候手脚都冻僵了,要在教室的炉子旁边烤好久才能缓过来。
那时候他觉得人生最大的困难就是冬天的早起。他不知道二十年后,他会坐在杭州一间出租屋里,面对着一份没有年终奖的工作和一个不确定的未来。
六
春节假期过得很快。
周明远在老家待了六天,每天就是吃饭、看电视、陪父母聊天、走亲戚。他二姨家的表弟小伟确实来了,一个二十出头的小伙子,戴着眼镜,说话很快,对计算机行业充满热情。他拉着周明远问了半天,从编程语言到就业方向到薪资水平,什么都问。周明远耐心地回答了他每一个问题,最后小伟说:“哥,你在大公司干了好几年了,一定很有成就吧?”
周明远笑了笑。“还行。”
“那你年薪多少?方便说吗?”
“不方便。”
小伟不好意思地挠了挠头,没有再问。
走亲戚的时候,周明远不可避免地遇到了各种追问:在哪儿上班?做什么的?一个月挣多少钱?买房了吗?什么时候要孩子?每一个问题都像是在提醒他:你已经三十四了,你的人生应该已经定型了,你应该有一份稳定的工作、一套属于自己的房子、一个孩子、一辆车。但你什么都没有。
他没有解释。他只是笑着点头,说“还好还好”、“在努力”、“快了快了”。
正月初五的晚上,他一个人走到县城的老街上走了走。老街已经大变样了,小时候的那些青石板路被换成了水泥路面,两边的老房子拆了大半,建起了崭新的商铺。只有街口那棵老槐树还在,树干粗得要两个人才能合抱,光秃秃的枝丫在夜空中伸展着,像是一个苍老的人张开双臂。
他站在老槐树下面,掏出手机,加了张维的微信。
好友申请发出去不到两分钟,对方就通过了。
“周工,新年好!很高兴加您微信。”张维发了一条消息,后面跟着一个握手的表情。
“张总您好,新年好。”周明远回复。
“周工,我知道现在是假期,打扰了。不知道您方不方便简单聊几句?”
“方便。”
对方直接打了一个语音电话过来。周明远犹豫了一下,接了。
张维的声音听起来很年轻,大概三十出头,说话语速适中,带着一种职业投资人特有的精准和克制。他先自我介绍了一下:恒业资本的副总裁,主要负责企业服务和云计算赛道的投资。他说他关注微云科技有一段时间了,对公司的技术架构和产品方向做过一些研究,在这个过程中注意到了周明远在技术社区里的一些分享和开源贡献。
“您在QCon上的那次分享,关于实时数据中台的建设实践,我反复看了三遍。”张维说,“技术深度非常好,而且您对业务的理解也很到位。”
周明远有点意外。他确实在去年的一次技术会议上做过一次分享,但那是一次很小规模的技术沙龙,总共不到一百个人参加。他没想到会有人注意到。
“张总过奖了。”
“周工,我直说吧。恒业资本最近投了一家做智能数据平台的公司,叫‘数极客’,创始人是从硅谷回来的,技术背景很强,但目前在国内的团队还比较薄弱,尤其是在大规模分布式系统这块,他们需要一个有实战经验的架构师来带队。我觉得您非常合适。”
“我目前在微云——”
“我理解。我不是要挖您,我只是想跟您建立联系。如果您对新的机会感兴趣,随时可以找我聊。另外,我也很希望能跟您多交流一些技术上的看法,我对数据基础设施这个赛道很感兴趣,但毕竟我不是技术出身,很多地方需要向您这样的专家请教。”
这话说得滴水不漏。既表达了诚意,又没有给周明远任何压力。
两个人聊了大约二十分钟,大部分时间是张维在问,周明远在答。张维问了一些技术上的问题,周明远发现他虽然确实不是技术出身,但做了很多功课,对技术概念的理解比很多产品经理都深入。这让周明远对他产生了一点好感——至少这个人不是在浪费时间。
挂了电话以后,周明远站在老槐树下,点了一根烟。夜风吹过来,有点冷,他把冲锋衣的拉链拉到最高,缩了缩脖子。
他不知道自己为什么会加张维的微信,也不知道自己为什么会接那个语音电话。也许是因为那条短信来得太是时候了——在他最怀疑自己的时候,有人告诉他“你的能力是有价值的”。也许是因为他内心深处早就知道,他跟微云科技之间,已经到了该结束的时候。
但真正让他下定决心的,是正月初六晚上发生的一件事。
那天晚上,他们一家人正在吃晚饭,周明远的手机响了。是李浩打来的。
“远哥,不好意思假期打扰你。有个紧急情况,生产环境的实时数据流出现了延迟,延迟累积已经到了十五分钟,再这样下去明天早上业务方就会发现。你之前在系统里做过一个流控的优化,我找不到相关的配置文档,你能不能远程看一下?”
周明远放下筷子,看了一眼林小曼,又看了一眼父母。
“我现在在老家,手边没有开发环境。”
“远哥,我知道是假期,但这个真的很急。刘总那边也知道了,他说如果你能处理的话——”
“李浩,”周明远说,“技术文档我年前全部放在了Wiki上,包括流控配置的详细说明。你搜一下‘实时流控最佳实践’就能找到。”
电话那头沉默了几秒。“我搜过了,没找到。”
“关键词是‘流控’,不是‘流量控制’。”
“……我再试试。”
“如果还找不到,你去看代码仓库里的config模块,streaming目录下有一个rate_limiter.conf的示例文件,注释里面有配置说明。”
“好的好的,我马上去看。谢谢远哥。”
电话挂了。周明远把手机放回桌上,拿起筷子继续吃饭。母亲看了他一眼,没有说话。
十五分钟后,李浩又发来一条消息:“远哥,找到了,谢谢!问题解决了。”
周明远看了一眼,没有回复。
他忽然觉得很荒诞。一个二十六岁的中台负责人,拿着比自己高的薪水,管着自己,却连自己写的文档放在哪里都找不到,连系统最基本的配置都不会调。而自己这个一手搭建了整个系统的人,年终奖连个影子都没有。
他把最后一口饭扒进嘴里,站起来走到院子里。
院子里的那棵枇杷树是父亲十年前种的,现在已经长得很高了,枝繁叶茂,遮住了半边天空。树下放着一把竹椅,椅面已经被坐得光滑发亮。他坐在竹椅上,抬头看着夜空。县城的夜空比杭州的干净,能看到一些星星,但也不算多,稀稀落落地散在天幕上。
他掏出手机,打开了张维的微信对话框。
“张总,我想了解一下您说的那个机会。”
消息发出去以后,他盯着屏幕看了十几秒。张维没有立刻回复——可能是在忙,也可能是睡了。他把手机放回口袋,站起来走回屋里。
那天晚上他睡得很沉,没有做梦。
七
正月初七,周明远和林小曼坐上了返回杭州的高铁。
列车驶出安庆站的时候,窗外的田野和山丘在晨雾中缓缓后退。林小曼照例靠着窗户睡着了,周明远戴着耳机,打开了笔记本电脑。他登录了公司的VPN,看了一下系统状态——一切正常,数据流平稳,延迟在毫秒级别。
李浩昨天遇到的那个问题,他已经解决了。或者说,李浩按照他给的配置说明,自己解决了。
他在系统里又检查了一遍,确认没有任何隐患,然后退出了VPN。
他打开浏览器,搜索了“数极客”。
这是一家成立于二零一六年的创业公司,做的是智能数据平台,主打AI驱动的数据分析能力。公司的创始人是两个从硅谷回来的工程师,一个叫陈默,一个叫刘一鸣,都有Google和Facebook的工作经历。公司去年拿到了恒业资本的Pre-A轮融资,金额是两千万人民币,目前团队规模大约三十人,base在杭州未来科技城。
他看了公司的官网、技术博客和一些媒体报道,越看越觉得有意思。这家公司的技术方向跟他过去六年做的事情高度吻合,但理念上更超前——他们不只是在做数据基础设施,而是在用AI技术让数据平台变得更智能、更自动化。这正是周明远一直想做但没有机会做的事情。
在微云科技,他提过很多次关于智能化运维、自动化调优的想法,但每次都被李浩以“优先级不够”为由驳回。李浩更关心的是如何用最短的时间做出最花哨的功能,好去向陈维汇报。至于底层技术的长期演进和积累,没有人关心。
他关掉浏览器,打开自己的简历,又看了一遍。这一次,他觉得这封简历可以发出去了。
回到杭州的时候是下午三点。他们拖着行李箱从地铁站出来,走在回出租屋的路上。路两边的店铺大部分还没开门,只有几家面馆和便利店在营业。一个卖糖葫芦的小贩推着车从他们身边经过,车上的糖葫芦在阳光下闪着琥珀色的光。
林小曼买了一串,咬了一口,酸得皱了一下眉头,然后把糖葫芦递到周明远嘴边。“你尝尝,酸死了。”
他咬了一颗,山楂的酸和糖衣的甜混在一起,在嘴里炸开。确实是酸,但酸过之后有一股清甜的回味。
“还行。”他说。
“你什么都还行。”林小曼白了他一眼。
回到家,他先把行李箱收拾好,把脏衣服放进洗衣机,把带来的土特产——腊肉、咸鱼、红薯粉——一一归类放进冰箱和储物柜。然后他洗了个澡,换了身干净衣服,坐在餐桌前,打开了电脑。
他给张维发了一条消息:“张总,方便的话,我想约您当面聊一下。”
张维很快回复了:“方便。周工,您看明天下午怎么样?我去您公司附近找您。”
“好。”
第二天下午两点,周明远请了半天假,在一家咖啡馆里见到了张维。
张维比他想象的还要年轻,看起来三十出头,个子不高,穿着一件深蓝色的卫衣,戴着一副圆框眼镜,看起来不像投资人,倒像一个程序员。他说话的时候习惯性地用手指敲桌面,像是在打某种节奏。
两个人寒暄了几句,张维开门见山。
“周工,我跟数极客的创始人陈默聊过您,他对您的背景非常感兴趣。如果您有意向的话,我可以安排一次正式的面试。不过我建议,在那之前,我们先聊透一点——您目前在微云的情况,您对未来职业发展的规划,以及您对数极客这家公司的看法。”
周明远端起咖啡喝了一口。咖啡是美式,没有加糖没有加奶,苦得发涩。他放下杯子,沉默了一会儿,然后开始说话。
他讲了自己在微云科技的六年,讲了那套系统的建设过程,讲了技术团队的变化,讲了年终奖的事情,讲了李浩的绩效评定。他讲得很平静,像是在讲述一个跟自己无关的故事,没有抱怨,没有情绪,只是陈述事实。
张维听得很认真,没有打断他,只是在关键的地方点点头,或者在笔记本上记几笔。
讲完之后,周明远说:“我不是因为年终奖的事情才想走。年终奖只是一个信号,它让我意识到,我在这个公司已经没有未来了。我的技术能力不被认可,我的工作成果不被重视,我在核心业务上的积累在管理层眼里是‘可替代性较强’的。如果继续待下去,我只会越来越边缘化。”
张维点了点头。“周工,我理解。我投了十几家技术驱动的创业公司,见过太多这样的情况。当一个技术公司从初创期进入成长期,管理层从技术出身变成业务出身或者大厂空降兵的时候,原来的技术骨干往往是最先被牺牲的。这不是你个人的问题,这是一个结构性的问题。”
他顿了顿,接着说:“但我想说的是,你的技术能力是有市场价值的。你在微云科技做的那套系统,如果放在一个真正重视技术的公司里,你的价值会被放大十倍甚至更多。数极客就是这样一个地方。陈默和刘一鸣都是技术出身,他们对技术的理解和对技术人才的尊重,跟我见过的绝大多数创始人都不同。”
周明远沉默了一会儿。“我需要时间考虑。”
“当然。我不催你。你可以先跟陈默见一面,聊一聊,看看感觉。不合适的话也没有关系,我们保持联系,以后有别的机会也可以再合作。”
那天下午,两个人在咖啡馆聊了两个多小时。张维给周明远讲了很多关于数据基础设施这个赛道的趋势和机会,也讲了他对技术人才职业发展的看法。他说了一句话,周明远记了很久:
“周工,技术人员的价值不在于你在一个公司待了多久,而在于你做的事情对这个世界产生了多大的影响。你写了六年的代码,支撑了一个公司百亿级的数据量,这个能力不会因为一份年终奖就被否定。你需要的只是一个更好的平台。”
从咖啡馆出来的时候,天已经快黑了。周明远走在文一西路上,路边的银杏树还是光秃秃的,但在路灯的照射下,那些枝丫像是镀了一层金色的光。他走得很慢,脑子里在反复想着张维说的那些话。
他没有立刻答应,也没有拒绝。他说服自己,这只是了解一下市场行情,不代表什么。
但心里有一个声音在说:你已经在考虑离开了。
八
正月十五之后,周明远跟陈默见了一面。
陈默比张维描述的还要有意思。他三十五岁,跟周明远同岁,清华本科,斯坦福硕士,在Google工作了四年,在Facebook工作了两年,然后回国创业。他说话很直接,不绕弯子,对技术有一种近乎偏执的热情。
两个人约在未来科技城的一家餐厅里吃饭。陈默穿着一件黑色的连帽衫,牛仔裤,运动鞋,看起来就像一个大龄研究生。他点了一份宫保鸡丁和一碗米饭,吃得很快,一边吃一边跟周明远聊技术。
“我看了你的技术博客,关于数据倾斜问题的那个系列,写得非常好。”陈默说,“你在微云做的那套系统,架构设计上有几个点很聪明,尤其是那个基于时间轮的缓存淘汰策略,我看了以后觉得很有启发。”
周明远有点意外。他写的技术博客访问量一直不高,因为他不太会做推广,也没有在社交媒体上宣传过。他以为没有人看。
“你居然看过那个。”
“当然。我在Google的时候做过类似的系统,但你的方案在某些方面比我们的更简洁。这就是我为什么想见你——国内能有这种技术深度的人不多。”
陈默的话不多,但每一句都说到点子上。他给周明远介绍了数极客的技术方向和产品规划,也讲了公司目前面临的挑战。最大的挑战是:他们的AI数据分析能力很强,但在底层数据平台的稳定性和性能上还有很大提升空间。他们需要一个有大规模分布式系统实战经验的技术负责人来带队解决这些问题。
“我们需要一个人,”陈默说,“一个真正懂底层的人,来帮我们把基础设施建好。这不是一个普通的技术岗位,这是技术合伙人的角色。如果你来,你就是我们的首席架构师。”
首席架构师。
这四个字在周明远的脑子里转了很久。
“我会认真考虑的。”他说。
“不急,你慢慢考虑。但我希望你考虑的时候想清楚一个问题:你想做一个在大公司里被低估的技术骨干,还是想做一个在创业公司里真正发挥价值的技术合伙人?”
这个问题让周明远一晚上没睡好。
接下来的一个月,周明远的生活表面上没有变化。他每天照常上班,照常写代码,照常开会。但内心里,他已经在做离开的准备了。
他开始有意识地减少自己在系统中的“隐性知识”——那些只有他知道的、没有写在任何文档里的技术细节。他把自己能想到的所有坑、所有优化点、所有可能出问题的场景,全部写成了文档,补充到Wiki上。他不是在给公司做贡献,他是在给自己的良心一个交代。
他不想做一个不负责任的人。即使要走,也要走得干干净净,不留下一屁股债。
与此同时,他跟陈默又见了两次面,每一次都聊得更深入。第二次见面的时候,陈默带他参观了数极客的办公室——在未来科技城的一栋写字楼里,租了半层,装修很简单,开放式工位,墙上贴着技术架构图和产品路线图。整个团队三十个人,平均年龄二十七岁,每个人看起来都很年轻、很有活力。
陈默给他介绍了团队的几个核心成员,包括CTO刘一鸣。刘一鸣比陈默还年轻,三十二岁,之前在Facebook做数据基础设施,技术能力很强,但性格比较内向,不太爱说话。他跟周明远握了手,问了几个技术问题,然后点了点头说:“你比我强。”
这句话让周明远印象深刻。一个从Facebook出来的工程师,能当面承认别人比自己强,这说明这个人有足够的自信和胸怀。
第三次见面的时候,陈默给他开了一个条件:技术合伙人,首席架构师,薪资比他在微云高百分之三十,加上期权。期权的比例不算高,但考虑到公司的发展潜力和未来的融资预期,如果公司能做成,这笔期权价值不菲。
“我知道你现在最担心的不是钱。”陈默说,“你最担心的是,离开一个你待了六年的地方,去一个不确定性很高的创业公司。这个担心我能理解。但我可以告诉你的是,数极客不会成为下一个微云。因为我们自己就是技术出身,我们知道什么是好的技术,什么是好的技术人。你在这里不会被低估。”
周明远没有当场答应。他说需要再想想。
真正让他下定决心的,是三月中旬发生的一件事。
那天,公司召开了一次全员技术大会。CTO陈维站在台上,对着PPT慷慨激昂地宣讲公司新一年的技术战略。PPT做得非常漂亮,各种时髦的概念——AI、大数据、云计算、微服务、云原生——像是一盘大杂烩,被翻炒得热气腾腾。
在讲到技术团队建设的时候,陈维说了一段话:
“我们要打造一支能打硬仗的技术铁军。在这个过程中,可能会有一些老员工觉得不适应,觉得自己的价值没有被充分认可。我想说的是,技术在迭代,人在迭代,组织也在迭代。跟不上时代的人,最终会被时代淘汰。”
他说这话的时候,眼神扫过了台下坐着的周明远。
也许是无意的。也许是有意的。周明远不知道。但他听到这段话的时候,心里那根一直绷着的弦,忽然松了。
不是断了,是松了。
他忽然明白了一件事情:在这个公司里,他永远不可能得到他想要的东西。不是因为他不努力,不是因为他能力不够,而是因为公司的价值观已经变了。在陈维的眼里,一个写了六年底层代码的技术骨干,远不如一个能从大厂带来“先进经验”的空降兵有价值。他的六年,在别人的PPT里,只是一行可以被删除的旧代码。
散会以后,他走到楼下,点了一根烟。三月的杭州已经有了春天的气息,路边的玉兰花开了,白色的花朵在枝头绽放,在灰蒙蒙的天空下显得格外醒目。
他掏出手机,给陈默发了一条消息:
“陈总,我决定了。我来。”
陈默秒回:“太好了!什么时候能入职?”
“一个月。”
“好,我们等你。”
他掐灭烟头,扔进垃圾桶,转身走回了大楼。
九
四月中旬,周明远正式向刘胜提交了辞职报告。
刘胜看着那份打印出来的A4纸,沉默了很久。报告写得很简单,只有两行字:“因个人发展原因,申请辞去现有职务。请批准。”
“明远,”刘胜摘下眼镜,揉了揉鼻梁,“你是不是因为年终奖的事情?”
“不完全是。”
“那是什么?你要是觉得待遇有问题,我们可以再谈。你知道,公司对核心技术人才还是很重视的——”
“刘总,”周明远打断他,“我已经决定了。”
刘胜看着他,眼睛里有一种复杂的东西。也许是不舍,也许是遗憾,也许只是对一个干了六年的老员工即将离开这件事感到麻烦——毕竟,找人接手那套系统不是一件容易的事。
“你考虑清楚了吗?外面创业公司的风险很大,不是每一家都能活下来的。”
“考虑清楚了。”
刘胜叹了口气,拿起笔在报告上签了字。“行吧,我尊重你的决定。你手上的工作,我们需要一个交接方案。尤其是那套数据中台,很多核心模块只有你熟悉。”
“交接方案我已经准备好了。”周明远从背包里拿出一份文档,放在桌上。“这是详细的技术交接文档,包括架构设计、核心模块实现、运维手册、故障排查指南,一共一百三十七页。另外,我建议接下来的一个月,我每天花两个小时给接手的人做培训。”
刘胜翻了翻那份文档,厚厚的一摞纸,每一页都密密麻麻地写着字、画着图。他抬起头看着周明远,欲言又止。
“明远,你……这份文档你准备了多久?”
“年前就开始准备了。”
刘胜沉默了一会儿。“你早就想走了?”
“不是想走。”周明远说,“是不得不走。”
这句话说得很轻,但分量很重。刘胜没有再说什么,把报告和文档一起收进了抽屉里。
消息传得很快。当天下午,李浩就来找他了。
“远哥,听说你要走了?”李浩站在他工位旁边,表情有点僵硬。
“嗯。”
“为什么啊?是不是因为上次绩效的事情?我跟你说,那个真的不是我的本意——”
“李浩,”周明远转过身来看着他,“不是因为绩效。是因为我觉得,在这里我做不了我想做的事情。”
“你想做什么事情?”
“我想做好技术。我想把一个系统做到极致。我想看到我的代码真正地改变一些东西。但这些,在这里已经不可能了。”
李浩张了张嘴,没有说出话来。他站在那里,像是一个被老师叫起来回答问题但答不出来的学生。最后他说了一句“那祝你前程似锦”,转身走了。
周明远看着他的背影,忽然觉得有点可怜他。二十六岁,被推到一个他还没有能力胜任的位置上,周围都是比他更有经验、更有能力的老人,他只能用绩效评定这种工具来证明自己的权威。这不是他的错,是把他放在这个位置上的人的错。
离职前的最后一个月,周明远过得异常平静。他每天按时上下班,认真完成交接工作。接手他工作的是一个从阿里刚挖过来的P7工程师,叫王海,三十岁出头,技术能力不错,态度也很谦虚。王海看了周明远的文档以后,感慨地说:“远哥,你这文档写得太详细了,我从来没见过这么用心的技术文档。”
周明远笑了笑。“这六年所有的坑都在里面了,你慢慢看。”
他带着王海把系统的每一个模块都过了一遍,从代码结构到部署架构到监控告警,事无巨细。王海学得很快,但有时候也会遇到一些文档里没有覆盖到的细节,周明远就现场讲解,有时候甚至会当场写一段示例代码来演示。
“远哥,你真的不考虑留下来吗?”王海有一次问他,“以你的能力,在公司肯定能有更好的发展。”
“不了。”周明远说,“这里不适合我了。”
五月中旬,最后一个工作日。
周明远最后一次关上电脑,最后一次背上双肩包,最后一次走过五楼的走廊。走廊的墙上挂着一排公司发展历程的照片,从二零一一年孵化器里的十几个人,到二零一七年两百多人的全员合影。他在那些照片里寻找自己的身影,找到了三张。二零一二年的年会上,他站在孙正华旁边,笑得很憨。二零一四年的团建活动中,他在海边举着一个椰子,表情夸张。二零一六年的技术团队合影里,他站在最后一排,只露出半张脸。
他走到前台,把工牌放在了台面上。
“周工,你要走了?”前台的姑娘有点意外。
“嗯,离职了。”
“那你……一路顺风。”
“谢谢。”
他走出大楼,站在门口最后看了一眼这栋他待了六年的建筑。六层的写字楼,玻璃幕墙在阳光下闪着光,楼顶的公司Logo是新换的,比以前那个大了很多,也花哨了很多。楼下的花坛里种着一排杜鹃花,开得正艳,红彤彤的一片,像是有人在燃烧着什么。
他没有回头,走进了阳光里。
尾声
二零一八年六月,周明远正式入职数极客。
工位在未来科技城的一栋写字楼的十四楼,靠窗的位置,可以看到整个杭州城西的天际线。远处的西溪湿地像一块绿色的地毯铺在大地上,再远一些的地方,能看到隐隐约约的山峦。
他的第一个任务是重构公司的数据接入层,解决在高并发场景下的性能瓶颈问题。他花了两个月的时间,设计了一套新的架构,写了两万多行核心代码,把系统的吞吐量提升了五倍,延迟降低了百分之八十。
陈默看了他的代码以后,只说了一句话:“我就知道我没看错人。”
刘一鸣也看了,沉默了很久,然后说:“周哥,你是我见过的最好的工程师。”
周明远听到这话的时候,鼻子有点酸。不是因为被夸了,而是因为他忽然意识到,他已经很久很久没有听到过这样的评价了。在微云的最后两年,没有人关心他的代码写得好不好,没有人关心他的技术方案优不优秀,所有人关心的只是——这个功能什么时候能上线?这个需求能不能快点做完?
在数极客,一切都不同了。这里的每一个人都在认真地做技术,每一个决策都是基于技术判断而不是政治考量,每一次代码审查都是为了提高代码质量而不是为了找茬。陈默和刘一鸣虽然年轻,但他们对技术的理解和对技术人才的尊重,让周明远觉得——这才是他应该待的地方。
年底的时候,数极客完成了A轮融资,估值比Pre-A轮翻了三倍。周明远的期权价值也水涨船高,虽然离“财务自由”还差得很远,但至少让他看到了一个可期的未来。
更重要的是,公司在年底的时候发了一笔丰厚的年终奖——每个人都有一份,包括刚入职半年的周明远。陈默在年会上说:“公司的每一分价值都是你们创造的,我不会让任何一个人白干。”
周明远坐在台下,手里端着一杯啤酒,听到这话的时候,忽然笑了一下。
林小曼后来问他,你笑什么?
他说,没什么,就是觉得挺好。
二零一九年春天,周明远和林小曼在杭州城西买了一套两居室。房子不大,八十七平,但足够两个人住了。阳台朝南,阳光很好,可以晒被子。搬进新家的第一天,林小曼站在阳台上,看着楼下的绿化带和远处的山,说:“周明远,我们终于有自己的家了。”
他站在她旁边,手搭在她的肩膀上,没有说话。
客厅的茶几上放着一本翻开的书,是林小曼最近在看的,扉页上有一句话被荧光笔画了出来:
“每一个不曾起舞的日子,都是对生命的辜负。”
周明远不知道这句话是谁说的,但他觉得,从今以后,他应该不会再有关机的日子了。
或者说,下一次关机,应该是他主动的选择,而不是被动的逃避。
窗外,杭州的春天正在到来。玉兰花开了,樱花也开了,整座城市都笼罩在一片粉白相间的花海之中。远处的工地上,塔吊还在转动,新的楼宇正在拔地而起。高架桥上的车流依旧繁忙,但此刻听起来不再像是噪音,更像是这座城市有力的心跳。
他把窗帘拉好,转身走进厨房。林小曼正在炒菜,油烟机嗡嗡地响着,锅里的青菜发出“刺啦”一声,香气四溢。
“今晚吃什么?”他问。
“青菜炒肉片。你的最爱。”
“这次没放糖吧?”
“你试试看。”
他夹了一片肉放进嘴里。咸淡适中,火候刚好。
“好吃。”
“那当然。”
他笑了。这一次,是真的笑了。
(完)
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.