二零二零年四月。邮件是早上九点零三分到的。陈默刚坐下,手里的咖啡还没喝第一口。公司通知:从明天起全体远程办公,解除时间另行通知。他盯着屏幕看了五秒钟,把邮件又读了一遍。措辞很正式,字里行间透着法务部的严谨,但核心意思就一句话——别来公司了。
镜头拉近。陈默把咖啡杯放在桌上,靠回椅背。他看到电脑右下角弹出一条新闻推送——某城市新增确诊病例数量开始上升。他没有点开看,把推送关掉了。他也想关心,但知道一旦开始看就停不下来,今天的活就干不完了。
他在工位坐下,刚打开电脑,旁边的同事探头过来:「陈默,昨天那个需求你看了没有?」「看了,还在想。」「别想了,产品那边催得紧,今天下班前要出方案。」「催也没用,我想清楚再出。」同事笑了一声:「那你快点想。」
他把邮件截了个图,发到团队群里。群里沉默了两秒,然后炸开了。小李发了一串问号,老张发了一个捂脸的表情,有人问是不是要开始屯粮了。陈默往上翻,看到组长赵恒十分钟前发了一条消息,说大家先别慌,等公司正式通知。疫情来得太突然,谁也没经历过这种事。现在正式通知来了,赵恒又补了一句,说十点开个线上会议,到时候再说具体安排。
陈默在群里回了一个「收到,我在家调试一下VPN」。发完之后他想了想,又补了一句「大家注意防护」。这句话看起来挺空的,但他不知道这个情境下该说什么。没有人知道该说什么。因为没有人经历过这种事。
陈默端着咖啡走到客厅。林薇正蹲在电视柜前翻东西,旁边摞着几本教材和一个笔记本。她听到脚步声,头也没回地说:「你们公司也发了?难道真的要到这一步了吗?」陈默说:「也?」林薇举了举手机,屏幕上是学校的通知,措辞同样正式,意思同样直接:所有课程转为线上,即日起执行。下面还有一条教务处发的补充说明,关于线上教学平台的使用指南,光附件就有五个。
两人在客厅中间站着,中间隔着一张茶几,茶几上放着林薇的教案和陈默的笔记本。林薇先笑了,是一种不太确定该不该笑的微笑。「这下热闹了。你说这日子什么时候才能恢复正常啊。」她说。陈默点了点头,端着咖啡走到阳台推开窗户。三月底的上海还带着凉意,风吹进来的时候带着小区里早樱的花香,还有——不知道哪家在煎鸡蛋的味道。
客厅的电视开着,声音被调到了静音模式,屏幕上的新闻频道正在播报最新的防控措施——疫情进入第三年,谁也不知道终点在哪。滚动字幕在屏幕下方不断刷新,一行又一行。陈默看了几秒钟,觉得那些字像是在重复说同一句话。
他回到屋里,把餐桌上的杂物推到一边。女儿的绘本、荧光色的奶瓶、一包没拆封的湿巾,还有半袋切片面包。他把这些东西挪到餐边柜上,腾出一块空地来。折叠桌在储藏室最里面,被两箱矿泉水压在底下。他把箱子搬出来的时候林薇过来帮忙,两个人一人抬一头,把折叠桌拖到了阳台上。
陈默又在杂物间翻出一把塑料凳,用手擦了擦上面的灰。凳腿有点晃,他在墙角找了一张废纸,叠了几层垫在下面,坐上去试了试,稳了。林薇站在阳台门口看着,说:「这就是你的新办公室了——一件格子衬衫挂在她身后的椅背上?」陈默环顾四周——左边堆着两袋大米,右边是女儿的摇摇马,头顶晾着昨天洗的几件衣服,风一吹袖子就晃。他说:「比工位宽敞,至少能看到天。」
林薇笑了一下,没再说什么,转身回了卧室去收拾自己的阵地了。她在卧室的书桌前坐下,开始调试摄像头和麦克风。陈默听到她说了一句「喂喂喂,能听到吗」,然后是自己试听的回放声。他的直播间在卧室,因为她需要一个相对安静的环境给学生讲课。陈默觉得「安静」这两个字在接下来的日子里会变得很奢侈。
他把摇摇马往旁边挪了挪,腾出更多空间。摇摇马的耳朵蹭到晾着的衣服,那件白衬衫的袖子晃了几下,像在跟他打招呼。陈默伸手把衬衫往旁边拨了拨,露出了后面灰蒙蒙的天空。天空的颜色和往年这个时候不太一样——不是因为天气,是因为最近的空气里多了一层说不清的东西,看什么都像是隔了一层毛玻璃。
他把笔记本接上电源,连上公司VPN。网络的延迟比在公司高了一点,大概多了二十毫秒,但还不影响编码。他打开开发环境,调出昨天没写完的代码——订单服务的一个配置模块。需求是加一个限流策略,防止某个下游服务被突发流量打垮。他在脑子里过了一遍方案,手放到键盘上,还没来得及敲第一个字——隔着一道墙,他听到女儿醒了。
那是每天早上都会听到的声音。清脆,响亮,在安静的客厅里格外刺耳,带着刚睡醒时特有的那种软绵绵的劲儿:「爸爸。」陈默条件反射般地站起来,走到卧室门口。女儿坐在床上,头发睡得乱七八糟,左半边头发因为压了一整夜整个塌下去,手里攥着那只绒布兔子的耳朵。她说:「爸爸,我饿。」陈默说:「走,爸爸给你热牛奶。」
走到卧室门口的时候他听到林薇在房间里说了一句:「那我们试一下这个平台能不能同时容纳三百人在线。」声音不大,但语气很认真。陈默没有打扰她,轻轻带上了女儿房间的门。
他抱起女儿的时候闻到熟悉的味道——奶香混着被子上残留的潮气,还有她身上那股小孩子特有的暖暖的气味。经过客厅的时候,他看到林薇已经坐在卧室的书桌前了,戴着耳机在调试麦克风。她透过卧室门看到陈默抱着女儿,朝他比了个大拇指,意思是搞定了。他回了一个OK的手势。
厨房里,陈默把女儿的牛奶倒进杯子里放进微波炉。设定时间的时候他看了一眼手机——工作群已经有一百多条未读消息了。有人在问VPN怎么连不上,有人在问有没有人试过远程桌面,有人在问是不是可以申请办公设备补贴。赵恒发了一条消息,说大家保持在线,有问随叫。紧接着又一条:@所有人 下载注册一下腾讯会议,等下十点开个晨会。
陈默注册完腾讯会议的时候,牛奶已经热好了。他从微波炉里拿出来,指尖碰到杯壁,温热的触感传到手上。他把牛奶倒进女儿的恐龙杯子里,插上吸管,端到她面前。她两只手抱住杯子,咕嘟咕嘟喝了几口,嘴边留下一圈白胡子。陈默用纸巾擦了擦她的脸,说:「爸爸等下要开会,你在旁边画画好不好?」女儿想了想,说:「好,但我要画在爸爸的纸上。」陈默说:「画吧。」他从笔记本里撕了几张白纸,又找了一盒蜡笔放在她面前。
蜡笔在纸上画的时候发出沙沙的声音。为了不打扰他开会,女儿尽量放轻了动作。陈默听着这个声音,忽然想起自己小时候也喜欢趴在茶几上画画。他画过飞机、画过坦克、画过超级英雄。后来长大了就不画了。现在他又看到有人在他面前画画,只不过这次是他女儿。
十点整,陈默点开腾讯会议的链接。视频接通的一瞬间,九个格子同时亮起来。有人在厨房举着手机,有人在客厅靠着沙发,有人在车里,还有一个人背景是一堵白墙——陈默认出来那是老张家的玄关。身为技术总监,赵恒坐在他的书房里,背景是一面书墙,看起来准备得很充分,像是早就知道要远程办公一样。赵恒确认了一遍,说:「大家都能听到吧?能听到扣个1。」九个人齐刷刷地在聊天框里打了1。
会议进行到十五分钟的时候,第一个孩子出现在了视频里。小李的女儿,三岁,穿着一件粉色恐龙睡衣,头发扎成两个小揪揪。她直接爬到了小李腿上,小手已经伸到了键盘上。小李正在讲需求的排期,一边讲一边用胳膊拦她,但屏幕上PPT已经被她的小手翻到了下一页。小李低头看了她一眼,语气里带着歉意也带着无奈:「不好意思,我女儿。」赵恒在那头说:「没事,继续。」
三分钟后老张的儿子出现了。更小,大概一岁多,被他妈妈抱着凑到摄像头前。那孩子对着麦克风深吸了一口气,然后大喊了一声「喂——」。那声音穿透了九个人的耳机,坐在陈默隔壁格子的小王在线下的时候被这一声吼得整个人往后仰了一下——当然线上大家看不到这个动作,但他从耳机里听到了小王倒吸一口气的声音。赵恒在屏幕那头笑了一下,说:「看来大家都有这个情况。」
陈默看了一眼自己身边。女儿正趴在他的草稿纸上画画,画的是两只兔子,一只大的,一只小的,小的那只旁边画了一个歪歪扭扭的圆,她说是苹果。她很安静,至少在镜头之外很安静。但陈默知道这个安静不会持续太久。他忽然有些感慨,
陈默把麦克风静音,对女儿说了句小声一点。女儿抬头看了他一眼,点了点头,低头继续画画,但手上的力道明显放轻了。陈默取消静音,继续听赵恒说话。耳机里赵恒的声音和在九宫格视频里看到的大家的各种家庭背景混杂在一起——有人在哄孩子,有人在弄午饭,有人家的狗叫了几声。这些声音成了这场会议的背景白噪音。
陈默关掉麦克风,把女儿往怀里拢了拢。她的小手放在键盘边缘,偶尔会碰到字母键,屏幕上就会多出一个莫名其妙的字符。陈默一边跟赵恒讨论索引优化的细节,一边用余光注意她的手。他发现自己在这一个小时里同时做了很多事——抱着孩子、听评审意见、改方案、回消息、防止女儿删掉他刚写好的代码。以前在公司的时候,他只需要坐在工位上专心写代码就行。现在他得像一个杂技演员一样同时抛接好几个球。
评审会结束的时候已经快四点了。陈默关掉会议软件,在群里发了一个ok的手势。赵恒私信他,说你的评论我看了,联合索引的字段顺序确实有问题,我改好了你再看看。陈默回了一个好。他动了动左肩,咔嗒响了一声——保持一个姿势太久了。女儿还在睡,呼吸平稳均匀。他轻轻把她脸上的头发拨开,看到她睡着的时候眉头微微皱着,跟她醒着时那种无忧无虑的样子判若两人。
四点半的时候林薇下课了。她走出卧室,脚步比中午轻了一些,但脸上带着那种上了两节课之后的倦意。她靠在阳台门上,看到女儿已经醒了,正坐在陈默腿上用手指在键盘上按着玩。她说你们还真和谐。陈默说互相妥协。林薇走进来,在女儿面前蹲下,说妈妈下课了,你下午乖不乖。女儿想了想,说乖,但她的眼神里带着一丝心虚——因为她下午确实在开会的时候捣乱了。林薇没有追问,只是在她额头上亲了一下。
中午去食堂,碰到测试组的老周。「听说你在看那个新需求?」老周端着餐盘坐下来。「嗯。」「怎么样?」「还在想。」「想什么呢?」「在想怎么实现。」老周夹了一块肉:「别想太多,先跑通再说。」「也是。」
会议在十一点左右结束。陈默关掉腾讯会议,靠在椅背上闭了会儿眼睛。睁开的时候屏幕上的字有点重影,他揉了揉眼睛,发现是显示器亮度太高了——阳台的光线太强,他把亮度调到最大,现在室内温度上来之后眼睛开始发干。
他站起来去倒水。经过客厅的时候他注意到两件事。第一件,女儿的积木从茶几上蔓延到了地板上,客厅变成了一个积木工厂。第二件,卧室的门关着,隔着门能听到林薇的声音,她在讲课。声音不大,但能听出来她在努力让自己的语调保持平稳和清晰,就是那种线上教学的老师特有的播报感。陈默放轻了脚步,怕自己的脚步声被她的麦克风收进去。
他站在客厅中间,听到两个方向传来声音。左边是女儿的积木掉在地上啪嗒啪嗒的声音,右边是林薇隔着一道门讲课的声音。他忽然意识到,从今天开始,这三个声音会成为他日常生活的主旋律——女儿的玩耍声、妻子的讲课声、还有他自己敲键盘的声音。三种声音在老房子里此起彼落,互相交错。
中午十二点半,林薇从卧室里走出来。她的头发用一根皮筋随意扎在脑后,耳根因为戴了一上午耳机有点发红。她看到陈默正在厨房热早上剩的包子,阳台上女儿坐在地板上,面前摊着一堆积木和半张画坏的涂鸦。林薇靠在厨房门框上看了一会儿,说:“上午怎么样。”陈默说:“还行,开了一个会,改了半个配置文件——然后就被她打断了三次。”他指了指女儿。
林薇笑了一下。她走进厨房,从冰箱里拿出昨天买的排骨和一把青菜。她说:“我下午两点半还有一节课,两点到两点四十之间,女儿需要有人管。”陈默说:“她下午应该会睡午觉吧。”林薇看了他一眼,那一眼里包含了很多信息——主要是对他这种盲目乐观的质疑,但她没有说出来。她只说了一句:“三点之前不会睡的。”
陈默想了想,说:“那我把她抱到阳台上,让她在我旁边玩。”林薇看了他一眼,那一眼里有怀疑也有理解。她没再说这件事,转身开始洗菜。水龙头的声音很大,盖过了客厅里女儿自言自语的声音——她正在跟积木说话。
水声停下来之后,林薇侧过头来问他:「你中午想吃什么?」陈默想了一下,说随便。林薇看了他一眼,说每回问你都随便。陈默说那就昨天那个排骨吧,挺好吃的。林薇说今天是青菜。陈默说那就青菜。林薇没有再接话,但她切菜的动作比刚才轻了一些。
吃饭的时候三个人坐在餐桌前。女儿坐在她的高脚椅上,面前放着一小碗饭和几块排骨。她用手抓排骨吃,吃得满手都是油。林薇用纸巾帮她擦了一下,说用手不卫生,用勺子。女儿看了勺子一眼,又看了一眼排骨,继续用手抓。林薇没有再坚持。
陈默一边吃一边看了一眼手机。工作群里又多了几十条消息。有人发了远程办公的注意事项,有人分享了腾讯会议的快捷键大全,有人在问有没有人试过公司的VPN在家庭网络下能不能连上。陈默把消息从上到下扫了一遍,觉得大部分问题他都已经解决了——VPN连上了,开发环境跑起来了,虽然慢了一点但能用。他回了一个句“VPN正常,开发环境ok”,然后放下手机继续吃饭。
女儿啃排骨的样子很投入,整个人的注意力都在那块骨头上。她啃完之后把骨头放在桌上排成一排,一共放了四块,像是一个小型展览。陈默看了看那排骨头,说你这个摆得挺整齐的。女儿说这是动物园。陈默说动物园里的动物都是骨头吗。女儿想了想,说它们睡觉的时候就是了。
女儿吃完饭后手上全是油。林薇带她去洗手,陈默收拾碗筷。他站在水槽前洗碗的时候,看到窗外隔壁楼的阳台上也有人——一个中年男人,也在阳台上摆了一张桌子,桌上放着一台笔记本电脑,旁边还有一个烟灰缸。两个人隔着几十米的距离对上了视线,都点了下头,然后各自收回目光。这个点头的动作让陈默觉得有些奇妙,像是两个在同样处境下的人之间的暗号。
洗完碗回到阳台,陈默发现女儿已经在阳台上等他了。她坐在他的塑料凳上,两条腿悬在空中晃来晃去。她说爸爸什么时候开会。陈默说两点。她说那现在还可以画画吗。陈默看了看时间,一点四十,还有二十分钟。他说可以,你画,爸爸在旁边改代码。她从凳子上滑下来,趴到地板上——她喜欢趴着画画。
「陈默,你对这个方案怎么看?」leader在会上突然点名。陈默愣了一下:「我还没看完,给不了意见。」「那你要多久?」「明天。」leader看了他一眼:「行,明天早上再过一遍。」
陈默在折叠桌前坐下,打开数据库索引优化的方案文档。赵恒上午提了几个修改意见,他需要在下午上课前改完。他打开编辑器,开始调整索引结构。建了几个联合索引,又改了一个查询语句的写法。改完第一个索引的时候他听到隔壁传来了钢琴声——有人在弹《致爱丽丝》。弹得很慢,而且在同一个和弦上卡了三次。他听了一会儿,想起自己小时候也学过这首曲子,也是卡在那个和弦上过不去。
快到两点的时候女儿开始犯困了——但她自己不知道。她打了个哈欠,然后揉了揉眼睛,然后开始变得黏人。她放下蜡笔,走到陈默腿边,一声不吭地靠在他膝盖上。陈默低头看了她一眼,说困了?她说没有。但她说没有这两个字的时候又打了一个哈欠。陈默没有戳穿她,只是把她抱起来放在自己腿上。
这个时候厨房传来削水果的声音。陈默听到林薇在削苹果——那种薄薄的、连成一圈的果皮落在台面上的声音。他抱着女儿走进厨房,看到林薇站在水槽边,手里拿着一个削了一半的苹果。她看到陈默抱着女儿走进来,举了举手里的苹果。女儿看到苹果之后眼睛亮了一下。林薇把最后一块皮削掉,切成几瓣放在碗里递给女儿。女儿从陈默身上滑下来,接过碗,腮帮子很快鼓起来一个小包。
她靠在陈默腿上的时候重量不大,但那种依赖感却很重。陈默一边单手改文档一边低头看了她一眼。她已经把蜡笔放下了,眼睛半闭着,睫毛在脸颊上投下一小片阴影。陈默空出一只手来摸了摸她的头发。她的发丝很细很软,从他指间滑过去。他想起她刚出生的时候头发又少又黄,现在终于浓密了一些。
林薇看着女儿吃苹果的样子,嘴角动了一下——谈不上笑,但是一种很温柔的弧度。她抬头看了一眼陈默,说你们那边怎么样了。陈默说方案在改,下午还有一轮评审。林薇说我们这边也好不到哪去,教务处的线上教学指南写了五页纸,我看了两遍才看懂。学校的网络平台今天早上崩了一次,现在不知道修好了没有。
陈默说:「至少没停课。」林薇说:「暂时没有。但谁知道呢。」两个人在厨房里站了一会儿,中间隔着餐桌和一把高脚椅。女儿安静地在吃苹果,嚼的时候发出清脆的声响。窗外有人在喊孩子回家吃饭,声音从楼下传上来,穿越了几层楼的空气。隔壁的钢琴又响起来了,这次换了一首曲子,不是《致爱丽丝》了,但同样不熟练。
陈默把方案改完的时候差不多一点五十了。他把改好的文档发给赵恒,然后在群里说了一句已修改请查收。他又查了一遍自己的改动的几个索引,确认没有语法问题,然后准备下午的会。女儿还在旁边啃苹果——已经是第二块了。她腮帮子鼓着,看起来像一只储粮的仓鼠。
下午的评审会比预想中结束得早。赵恒最后确认了一遍方案改动,说那就按这个方案走吧,明天开始实施。陈默在群里回了一个收到。他关掉会议链接之后在折叠椅上靠了一会儿,闭着眼睛听了一会儿外面的声音。楼下的孩子们还在跑,笑声断断续续地传上来。隔壁的钢琴声又响起来了——这次弹的更熟练了一些,虽然还是会卡,但卡的时间短了。他想,可能大家都在适应。
他站起来走到厨房倒水喝。经过卧室的时候他停下来听了一会儿——林薇在里面讲课,声音平稳清晰,讲的是三角函数。她念了一道例题,然后说你们看这个函数的图像,周期是π。然后她停了一下,说有问题可以在聊天框里提。这个停顿里陈默听到了她那边的情况——她的麦克风收进来的背景音里,有楼下同样的孩子叫声,有远处马路上的车声,偶尔还有猫叫。这些声音在陈默听到的时候已经隔了两道墙,但在她的课堂上,这些可能就是干扰学生注意力的噪音。
喝完水他回到阳台。女儿已经醒了,正坐在他的塑料凳上用蜡笔画画。她画了一个太阳,又画了一棵树,然后画了一个火柴人。她说这是爸爸。陈默看了看那个火柴人,火柴人的头画得特别大,身子只有两条线。他说为什么爸爸的头这么大。女儿说因为爸爸的头本来就这么大。陈默笑着没有反驳。他坐下来,打开代码,把那几个接口定义最终确认了一遍。
下午两点,陈默准时点开了第二个会议链接。女儿果然没睡。她坐在他旁边的地板上,面前摊着一堆积木,正在搭一个她自己也不知道是什么的结构。陈默把麦克风调到静音,小声对她说:「爸爸开会,你搭积木,不要说话好不好?」她说:「好。」然后继续搭。
但这个「好」只持续了大约七分钟。七分钟后她站起来拿着一个搭好的积木结构——四块积木垒在一起上面横着一块——举到陈默面前说:「爸爸你看!」陈默正在听赵恒讲数据库索引优化的方案,他点了点头竖了个大拇指,用口型说:「好,很棒。」
她不满意这个反馈。她把积木举得更高了,几乎挡在了陈默的笔记本屏幕前。陈默不得不把她的手轻轻按下。这一下让她感受到了被忽视,她的嘴开始往下弯,眼眶开始泛红。陈默在心里叹了口气,再次关了麦克风。他把女儿抱到腿上,打开一张空白的代码文件。他说:「来,爸爸教你写代码。」她看着屏幕上冒出来的英文字母,觉得很好玩。她伸手也想按键盘。陈默抓住她的小手,帮她在键盘上按了一下,屏幕上出现了一个字母「a」。她说:「再按!再按!」
陈默左手抱着她右手在键盘上敲的日子就这样开始了。她有时安静地靠在他胸前,有时会伸手去抓鼠标。他必须时刻保持警惕——把杯子放在她够不到的地方,把电源线绕到桌子后面,把重要的文档窗口缩到最小。他的代码提交信息里开始出现一些奇怪的字符,那是她在抱着他的时候不小心按进去的。他每次提交前都要检查一遍有没有多余的字母。
她在他的腿上坐了一会儿,然后发现了一个新乐趣——用脚趾去够桌沿。她的腿短,够不到,但她一直在试。陈默能感觉到她在腿上扭来扭去。他腾出一只手按住她的小腿,说别动了爸爸在写代码。她停了大概五秒钟,又开始扭。陈默无奈地笑了一下,没有再说她。
会议内容是关于数据库索引重构的。赵恒提了一个方案,把订单表的主库索引从三个扩展到五个,同时把查询最频繁的几个字段覆盖进去。陈默一边听一边在脑子里过了一遍方案的可行性和潜在问题。他注意到女儿正在用蜡笔在他的打印纸上画圈,画了一个又一个,开始叠在一起变成漩涡。
看了一会儿陈默觉得赵恒的方案在整体方向上是对的,但有几个细节需要调整。比如有一个联合索引的字段顺序不太合理——把区分度低的字段放在前面,会导致索引效果打折扣。他在文档里加了一条评论。加完之后发现女儿已经画满了三张纸,每张纸上都是各种颜色的漩涡和圆圈。
大概一个小时后女儿终于困了。她的眼皮开始往下耷拉,头靠在陈默的肩膀上,呼吸变得均匀起来。陈默不敢动。他保持那个姿势——一只手环绕着她,另一只手继续打字。所有操作都用单手完成,键盘声尽可能轻。他翻看了赵恒发的最新版方案文档,在几个关键节点上做了批注,又在群里回复了小李关于接口对接方式的提问。
女儿彻底睡着之后,陈默小心翼翼地站起来——像拆弹一样缓慢慎重——把她抱到小床上。弯腰放下去的时候她动了一下,他的动作僵在半空中。但她只是翻了个身,把绒布兔子往怀里搂了搂,继续睡了。陈默直起腰,长舒了一口气。
他回到阳台,发现错过了三十分钟的讨论。群里有一百多条消息,他往上翻,看到赵恒发了一个方案链接@他看。他回了个「收到,正在看」。虽然其实他还没来得及看。他活动了一下左肩——刚才保持一个姿势太久,肩膀有些发僵——然后打开方案文档重新开始读。
这是一个数据库索引重构的方案,涉及订单系统的核心表,改动不小。陈默逐段阅读,发现自己刚才在会议上注意到的那个问题确实存在。联合索引的字段顺序不对,还有一个查询语句的写法没有充分利用到覆盖索引。他在评论框里敲了几行建议,然后附上了一个改进后的索引定义示例。
写完之后他靠到椅背上闭上眼睛休息了三十秒。睁开眼睛的时候,发现屏幕上的字有点模糊——盯了太久,眼睛干涩。他揉了揉眼睛,从桌上摸到眼药水滴了两滴。冰凉的液体落进眼睛里的时候他眨了几下眼,视野重新变得清晰。他又看了一眼代码——刚才改的那个接口定义有个小问题,一个参数名拼错了。他改过来,然后提交了。
隔壁的钢琴声不知道什么时候停了。小区里安静了一会儿,然后楼下传来孩子们追逐打闹的声音——有几个小孩在小花园里跑,笑声清脆地从楼下传上来。这些声音和陈默耳机里赵恒继续讨论技术方案的声音交织在一起,形成了一种他以前从未体验过的背景音。他想,这就是以后日常工作的声音了。
下午四点多林薇下课了。她走出卧室的时候脚步很轻,像是踩了一整天的高跟鞋终于脱下来了一样。她看到陈默正在阳台抱着女儿看代码,愣了一下。她靠在阳台门上,没有说话,就那么看了一会儿。陈默感觉到她的目光,转过头来说:「怎么了?」林薇说:「没什么,就是觉得这个画面应该拍下来。」陈默说:「构图不好看,背景还有两袋大米。」林薇笑了,笑得有点累。她说:「今天怎么样?」陈默说:「还行,活着。」林薇说:「我也是。」林薇说这句话的时候声音里带着一种说不清的疲倦。两个人对视了一眼,都笑了。
傍晚的时候陈默把当天的代码改动合进了开发分支。合完之后他又检查了一遍改动记录——去掉女儿不小心按进去的几个字母,确认了每处改动的完整性,然后关掉了开发环境。他把阳台的折叠桌收起来,叠好塑料凳放回墙角。女儿在旁边看他收拾,奶声奶气地问:「爸爸,明天还在这里上班吗?」
陈默蹲下来,看着她。她说这句话的时候眼睛里没有不开心的成分,只是单纯的好奇。陈默说:「应该还要上很久。」她听了之后眼睛亮了一下,说:「那我可以天天和爸爸在一起了。」她笑得很灿烂,笑得眼睛弯成了两道月牙。陈默愣了一下。他没有想到她会这么说。他伸手把她抱起来,说:「是的,你可以天天和爸爸在一起了。」
她两手环住他的脖子,脸贴在他的肩膀上,软软的,温热的。陈默忽然觉得,远程办公也许没有那么糟糕。他抱着她走回屋里。经过卧室门口的时候他看到林薇正在整理教案,台式机的屏幕光映在她脸上,表情专注而认真。她抬头看了他一眼,两个人又对视了一下,这次谁都没说话。
排骨的味道确实偏酸,但陈默已经习惯了。他吃着吃着,忽然想起一件事——今天是远程办公的第一天,他大概连续在电脑前坐了七八个小时。在公司的时候他会去接水、去上厕所、去楼下便利店买零食,这些零碎的动作让他的身体不至于一直僵着。但在家里,他几乎没怎么动过。
客厅的餐桌上,晚饭已经摆好了。不是什么复杂的菜——一盘清炒时蔬,一盘糖醋排骨,一碗番茄蛋汤。灯亮着,黄色的光洒在桌面上,把菜照出一层温润的色泽。女儿从他身上滑下来跑到餐桌前,踮着脚去看今天吃什么。林薇从厨房出来,手里端着两碗饭。她把其中一碗放在陈默常坐的那一边,说吃饭了。
陈默在餐桌前坐下。端起饭碗的时候他能感觉到碗底的温度透过瓷壁传到手心。他夹了一块排骨放进嘴里,味道是熟悉的——林薇习惯在糖醋排骨里多放一勺醋,吃起来偏酸。他吃了六年这个味道,从来没有提过意见。
客厅里的钟滴答滴答地走着。陈默看了看时间——晚上七点四十分。外面的天已经全黑了,远处的高楼上有一盏红灯在缓慢地闪烁,不知道是航空障碍灯还是信号塔。女儿已经吃完了,从椅子上滑下来,又跑去玩积木了。林薇在厨房洗碗,水声夹杂着瓷器碰撞的声响。陈默坐在餐桌前没有动,一个人对着桌上剩下的半碗饭,发了一会儿呆。
窗外的天色已经完全暗下来了。今晚的上海,很多家庭都在经历同样的第一天。同样的折叠桌,同样的VPN,同样的孩子打断视频会议的声音。陈默又夹了一块排骨,这次蘸了蘸碗底的汁。他想,这是第一天。明天会是什么样的。没有人知道。但至少今晚,饭是热的。
晚上六点,陈默在女儿的要求下陪她搭了二十分钟积木。他试图搭一个城堡,但女儿的规划是一个动物园,两个人最后搭出一个既不像城堡也不像动物园的建筑——一堆积木垒在一起,上面插了两根长条当旗杆。女儿说这是我们的家。陈默说好的,这是我们的家。
晚饭后林薇去给女儿洗澡。陈默坐在沙发上打开手机,看到工作群又开始活跃起来了。有人在分享远程办公期间如何保持工作效率的经验,有人在推荐好用的项目管理工具,有人在发隔离期间的段子。陈默往上翻了翻,看到赵恒发了一条消息:大家辛苦了,今天第一天远程,遇到什么问题群里说。下面跟了一串收到。陈默也回了一个收到。
他锁了手机屏幕,靠在沙发上。客厅的灯是暖黄色的,天花板上的吊灯用了好几年,灯罩里积了薄薄一层灰。女儿洗完澡从浴室里跑出来,穿着一件印着小熊的睡衣,头发湿漉漉的,散发着沐浴露的香味。她跑到陈默面前说爸爸讲故事。陈默说我今天很累,你让妈妈讲。女儿说你昨天也这么说的。陈默说那是因为昨天也很累。女儿想了一下,说她给我讲,你听着。陈默说好。
女儿爬上沙发靠在他身上。林薇从浴室出来,一边用毛巾擦头发一边走进客厅。她看到父女俩窝在沙发上的样子,没有出声,转身去厨房倒了杯水,然后在沙发的另一头坐下。她说,我刚才刷了一下新闻,情况可能会越来越严重。陈默没有说话。沉默了一会儿之后林薇接着说,不知道什么时候才能恢复正常。陈默说,总会恢复的。他说这句话的时候没有看着林薇,也没有看着女儿,而是看着窗外。窗外的上海,灯火依然明亮,每扇窗户后面都有故事正在发生。
下班时leader经过他工位:「方案明天给我?」「明天上午。」「行,别太晚。」「嗯。」
他性格固执,但骨子里很温柔。平时沉默寡言,急躁时也会拍桌子,沉稳下来又能笑着自嘲。
夫妻之间有一种默契,朋友之间有一种信任。这些年他学会了在不同关系中切换角色。
他决定不再逃避,选择面对一切。坚持还是妥协,成了他每天都在思考的问题。他不想再放弃了。
由此可见,这说明了所有事件背后的逻辑。简单来说,选择决定了方向。
总而言之,每个选择都有代价。说到底,没有白走的路。归结起来,一切都是最好的安排。
他预感到了什么,桌上的文件散发着不祥的气息,仿佛在暗示着什么。一切都暗示着即将到来的变化。
但谁也没想到,结局在意料之外。剧情突然转折,他以为看到了终点,却发现只是另一个起点。
他站起身走到窗前,抬手指尖轻触玻璃。转身回来时脚步重了许多。
声音里带着温度。话语的重量压下来,冰冷的质感从耳朵落到指尖。
窗外的树暗示着生命的韧性。风雨过后依然挚立,仿佛在告诉他坚持下去。
空气中漂浮着咖啡和雨水的味道。天色暗下来,氛围变得沉重。
从远景看,城市在天际线处模糊。拉近到中景,办公室的灯光闪烁。近处是他紧锁的眉头。
内卷让人喘不过气。努力奋斗是为了不被淘汰,累到极致又觉得一切都没意义。躺平还是继续卷?每个人都在挣扎。
千禧年后的互联网泡沫,金融危机,移动互联网的黄金十年。如今ChatGPT来了,新一轮变革开始了。
天花板的风扇缓缓转动,他感到一种莫名的焦躁。窗外的蝉鸣一浪高过一浪,恍惚间像是回到了小时候的夏天。空调的嗡嗡声混着键盘的噹啪声,这声音他听了十年,竟然有种安全感。