苏予白回到宿舍的时候,赵佳宜正盘腿坐在床上敷面膜,看到她进门,把手机往床上一扣。
“回来了?跟谁出去的?”
“项目合作方。”苏予白把包放下,弯腰换鞋。
“周六下午跟项目合作方出去?”赵佳宜的面膜歪了一下,她伸手按回去,“你当我傻?你早上出门前换了三件衣服。”
苏予白换鞋的动作顿了一下。“你看到了?”
“我就在床上躺着,你当我是透明的?”赵佳宜把面膜揭下来扔进垃圾桶,拍了拍脸上的精华液,“说吧,什么情况。”
苏予白走到自己床边坐下,打开手机看了一眼——没有新消息。她把手机翻过来扣在枕头旁边。
“没什么情况。就是一起吃了个饭。”
“男的?”
苏予白没说话。
“女的?”赵佳宜的声音往上扬了一点。苏予白还是没说话。赵佳宜从自己床上探过身子,盯着苏予白的脸看了三秒,然后倒吸了一口气。“苏予白你是不是有情况了?”
“没有。”
“你脸红了。”
“没有。”
“你耳朵也红了。”
苏予白站起来去洗手间洗脸,把门关上了。赵佳宜在外面敲了两下门,喊了一句“苏白白你给我等着”,然后没声了。苏予白拧开水龙头,捧了把冷水泼在脸上。镜子里的自己确实脸有点红,耳朵尖也是。她用毛巾擦了把脸,深吸了一口气,开门出去。
赵佳宜已经坐回床上了,双手抱在胸前,脸上是那种“我等你主动交代”的表情。苏予白在她对面坐下,犹豫了几秒。
“我在江城遇到了一个人。”
赵佳宜的眼睛瞬间亮了。
“女的。科技公司的。我以为不会再见到她了。”苏予白顿了顿,“结果她是君诚科技的总裁。”
赵佳宜的嘴巴张成了一个O型。她愣了大概三秒钟,然后猛地拍了一下床垫。“君诚科技?!就是那个跟你们实验室合作的公司?那个你上周去做演示的公司?那个——”
“对。”
“她追过来的?”
苏予白想了想。“算是吧。她说本来可以让技术总监来对接,她亲自来是为了——”她停了一下,“找我。”
赵佳宜双手捂住嘴,发出一声闷闷的尖叫。“这也太好磕了吧苏予白!你跑了她追过来!这是什么晋江剧情!”
“你别闹。”苏予白说,但嘴角没压住。
“我闹什么了!你说你是不是对人家也有意思?没意思你换三件衣服干嘛?没意思你脸红什么?”
苏予白张了张嘴,没说出话来。赵佳宜替她说了:“你就是有。你这个人对谁都不上心,能让你换三件衣服的人,你说没意思?骗鬼呢。”
苏予白躺倒在床上,用被子蒙住脸。被子里闷闷地传出一句话:“我不知道该怎么办。”
赵佳宜的声音从被子外面传进来:“什么怎么办,谈恋爱啊。人家都追到你学校来了,你还要怎样?”
苏予白把被子掀开一条缝。“我没谈过。什么都不懂。”
“谁不是从不懂开始的?”赵佳宜趴在床沿上,下巴搁在手臂上看着她,“而且你看她那架势——专门跑来云津堵你,查你导师查你课题,还借着合作的名头公事公办地接近你。这人做事有章法,你跟着她的节奏走就行了。”
苏予白把被子拉下来,盯着天花板。赵佳宜说得对。沈司岸做事确实有章法——每一步都踩得很稳,既不会让她觉得被冒犯,又不会让她有机会跑掉。今天在实验室说的那句话,她记到现在——“下次不知道怎么办的话,不用跑。跟我说就行。”
手机在枕头旁边震了一下。苏予白拿起来看。
沈:“到了吗?”
苏予白打字:“到了。”
她想了想,又打了一行字:“今天实验室那个单细胞测序的项目,我回来看了一下文献。你那个稀有细胞类型的数据集,如果和我的预测模型对接的话,需要先做一轮质控。我明天可以开始写分析流程。”
发完之后她盯着屏幕等了一会儿。沈司岸回得很快:“周日不休息?”
“实验室没人,正好跑数据。”
“我明天也在公司。”
苏予白看着那行字,等她的下文。沈司岸果然又发了一条:“你忙完可以来这边跑,服务器比你们实验室的快。”
苏予白咬了咬下唇,打字:“好。”
她把手机放下,翻了个身。赵佳宜已经重新敷上一张面膜,正用余光瞟她。
“聊完了?”
“聊完了。”
“聊的什么?”
“工作。”苏予白说。
赵佳宜翻了个白眼。“你俩真是绝配。一个拿项目当理由约人,一个拿工作当借口回消息。行了行了,我不问了,你慢慢脸红吧。”
周日早上苏予白七点半就醒了。她在床上躺了一会儿,盯着天花板想了想今天的安排——上午整理假阳性率的数据,下午写新项目的分析流程。如果下午写得顺利,傍晚可以把流程拿到沈司岸那边去跑。
她起床洗漱,换了件干净的T恤,套了件薄外套。赵佳宜还在睡,她轻手轻脚带上门,去食堂吃了早饭,然后直接去了实验室。
周末的实验室很安静。苏予白打开电脑,把上周补完的假阳性率数据重新整理了一遍,做了几张图表。做到十一点的时候手机震了一下,她拿起来看。
沈:“中午吃什么?”
苏予白回:“食堂。”
沈:“周日食堂开吗?”
苏予白想了想。周日食堂确实开,但只有一楼几个窗口,菜色很少,去晚了就剩冷菜。她打字:“开,不过没什么好吃的。”
沈司岸没回这条。过了大概半个小时,苏予白正在跑一组数据,手机又震了。
沈:“你实验室在几楼?”
苏予白愣了一下,回了个“五楼”。发完之后才反应过来——她问这个干嘛?
十分钟后,实验室的门被敲响了。苏予白站起来去开门,门一开,沈司岸站在门口,手里拎着两个纸袋。今天穿了一件浅灰色的卫衣和牛仔裤,头发扎了个低马尾,和平时西装革履的样子判若两人。苏予白愣在门口,一时不知道该说什么。
“你没吃饭吧?”沈司岸说,“路过一家粤菜馆,打包了两个菜。实验室有微波炉吗?”
“有。”苏予白侧身让她进来,脑子还没完全转过来,“你怎么来了?”
“周日没什么事。”沈司岸走进来,环顾了一圈实验室——老周的办公室关着门,几排实验台上摆着各种仪器和试剂,苏予白的工位在最里面靠窗的位置,桌面上摊着打印出来的文献和几张手写的笔记。她把纸袋放在桌上,看到旁边打开的电脑屏幕上跑着一个分析流程。
“这是新项目的数据?”她弯腰看了一眼。
“不是,是我之前那个模型的假阳性率验证。新项目的分析流程我下午开始写。”苏予白站在旁边,看着沈司岸自然地拉开旁边的椅子坐下,好像来过这个实验室很多次一样。
“先把饭吃了。”沈司岸把纸袋打开,拿出两个餐盒。一盒白切鸡,一盒清炒菜心,底下还有两盒米饭。苏予白去茶水间拿了两双筷子,回来的时候沈司岸已经把餐盒摆好了。
“你吃了吗?”苏予白问。
“没有。”
“所以你是专门来给我送饭的?”
沈司岸拆筷子的动作顿了一下。“顺路。”
苏予白在她对面坐下,接过筷子。吃了一口白切鸡,味道和昨天那家餐厅一模一样。“这家粤菜馆离学校开车至少二十分钟,”苏予白说,“不算顺路。”
沈司岸没接话,低头吃菜。苏予白也没再追问,安静地吃饭。吃到一半的时候沈司岸忽然开口:“你的分析流程打算用什么语言写?”
话题又拐到工作上去了。苏予白已经习惯了沈司岸这种切换方式,顺着她的话往下说:“Python。主流程用Python搭,中间调用几个R包做统计分析。”
“并行计算的部分呢?”
“你们服务器上有现成的集群调度系统吗?”
“有。你写完我帮你调。”
“你会调集群?”
沈司岸看了她一眼。“我硕士方向是并行计算。”
苏予白筷子停了一下。她之前翻过沈司岸的学术背景,知道她是名校工科出身,但不知道具体方向。并行计算和生物信息学有很大交集,难怪沈司岸看她的技术方案能一眼抓到关键问题。
“你后来怎么没继续搞技术?”苏予白问。
“家里需要人接手公司。”沈司岸说,语气很淡,“我父母年纪大了,我又是独生女。”
苏予白点了点头,没有追问。她想起沈司岸说过她以前觉得谈恋爱是浪费时间——一个从技术岗被迫转到管理岗的人,大概把所有精力都投进了公司运营里,没给自己留什么空隙。
吃完饭沈司岸把餐盒收进纸袋里,苏予白去茶水间洗了手。回来的时候沈司岸坐在她的工位上,正翻她打印出来的文献——一篇关于单细胞RNA测序数据质控方法的最新综述,上面有苏予白用荧光笔划的重点,旁边批注了几行小字。
“你看文献喜欢打纸质版?”沈司岸抬头看她。
“重要的文献会打出来。屏幕上看久了眼睛疼。”
沈司岸把文献放回桌上,手指在她的批注上轻轻划过。“字写得不错。”
和上次在实验室里说的一模一样的话。苏予白笑了一下,在她旁边坐下。“你上午说服务器今天空着,我能现在上去看看吗?”
“可以。你用我的账号先登。”沈司岸从口袋里掏出手机,把服务器的登录信息发给她。
苏予白打开终端,连上君诚的服务器。登录之后她看了一下集群的状态——几十个计算节点,大部分都是空闲的。比起她课题组那几台老旧的服务器,这简直是从自行车换成了高铁。她试着上传了一个测试数据集,跑了几个基础命令,速度飞快。
“你这个表情,”沈司岸在旁边看着她的侧脸,“像小孩子进了糖果店。”
苏予白这才意识到自己一直在笑。她把嘴角压了压,但没压住。“我们课题组的服务器跑一个中等规模的数据集要排三天队。你这个——大概二十分钟就能出结果。”
“那你以后可以多来。”沈司岸说。
苏予白转头看她。沈司岸坐在她旁边的椅子上,两个人之间隔了不到半臂的距离。实验室里很安静,窗外是周日空旷的校园,偶尔传来几声鸟叫。
“我可以申请一个长期账号吗?”苏予白问。
“已经给你开好了。”沈司岸说,“昨天回去就让IT部弄的。账号和密码发你微信了,你没看。”
苏予白拿起手机一看,确实有一条未读消息,下午一点多发来的——她那时候正在专心跑数据,没注意。她点开消息,账号是[email protected],后缀跟沈司岸的员工邮箱格式一样。密码是一串随机字符。
“这个格式——是你们员工的邮箱?”苏予白问。
“合作课题组成员也算。”沈司岸说,“方便统一管理权限。”
苏予白想说“谢谢”,又觉得这两个字太轻了。从她到君诚做演示开始,沈司岸做的每一件事都踩在“公事公办”的线上——开放服务器是“合理利用闲置资源”,给她开账号是“统一管理权限”,连送饭都是“顺路”。每件事都滴水不漏,让她找不到任何拒绝的理由,也让她没有任何心理负担。
这个人在“怎么对她好”这件事上,是花了心思的。
“沈司岸。”苏予白叫了她的名字。
“嗯?”
“你其实不用每件事都找理由。”
沈司岸看着她,没有立刻说话。窗外有云飘过,实验室里的光线暗了一瞬又亮起来。
“习惯了。”沈司岸说,“以前做什么事都需要跟股东交代、跟董事会交代。没有人是不需要理由的。”
苏予白握着鼠标的手指收紧了。她忽然意识到沈司岸说的不是工作习惯——她说的是她的人生。从小到大,做任何事都要有理由,要有交代,要对得起别人对她的期待。接手公司是这样,放弃技术岗是这样,连追一个人都要把每步都计算得合情合理。
“在我这里,”苏予白说,声音很轻,“你可以不用找理由。”
沈司岸看着她。那双丹凤眼里有一点东西在晃动,不明显,但苏予白看见了。
“好。”沈司岸说。
下午的时间过得很快。苏予白写分析流程的时候,沈司岸在旁边用另一台电脑处理公司的事。两个人偶尔交谈几句——苏予白问服务器配置,沈司岸答;沈司岸问数据格式,苏予白答。窗外的光线从白色变成金色,又从金色变成灰蓝。实验室里的灯自动亮了。
苏予白伸了个懒腰,看了一眼时间——快六点了。她转头看沈司岸,发现沈司岸正靠在椅背上闭着眼睛,眉头微微皱着,像是看屏幕看累了。苏予白没有叫她,安静地看了她几秒。不穿西装、不主持会议、不计算每一步该怎么走的时候,沈司岸看起来就是一个普通的、会累的人。她的睫毛在灯光下投了一小片阴影,嘴唇微微抿着,右手还搭在键盘上,指尖无意识地蜷了一下。
苏予白移开目光,把分析流程的最后一段代码保存好,清了清嗓子。
“我写完了。你要不要看一下?”
沈司岸睁开眼睛,揉了揉眉心,凑过来看屏幕。她看代码的方式很特别——不是一行一行扫,而是先拉到底看整体结构,再回头挑关键函数细看。苏予白坐在旁边,看着她的侧脸,闻到那股淡淡的木质香。她忽然想起江城那晚,沈司岸在她旁边也是这么近的距离,只不过那时候是昏暗的酒吧,现在是明亮的实验室;那时候她紧张得手心出汗,现在她可以很自然地坐在沈司岸旁边。
“这里有个逻辑漏洞。”沈司岸指着屏幕上的一段代码,“异常处理的机制不够完善,如果中间某一步质控失败,整个流程会直接中断。应该加一个断点续跑的机制。”
苏予白看了一下,确实如此。她接过键盘开始改,改了几行之后停下来,转头看着沈司岸。
“你明天上班吗?”
“上。”
“那晚上别在这耗着了。我回去改,改完发你。”
沈司岸看了一眼时间,点了点头。她站起来拿起桌上的车钥匙,忽然想起什么似的从口袋里掏出手机。“你微信——我能不能加你私人号?”
苏予白愣了一下。“之前加的不是私人号?”
“那是工作号。我发你的也是工作号。”沈司岸把手机屏幕转过来给她看。微信界面最上面有两个账号——一个叫“沈”,一个叫“沈司岸”。好友列表不一样,朋友圈也不一样。
苏予白扫了一眼那个叫“沈司岸”的账号。头像是一张傍晚的海面,深蓝色的底色上有一道橘色的光。朋友圈可见,虽然只有寥寥几条——一条是一年前转发的行业新闻,一条是半年前拍的实验室服务器机柜,配文“终于到了”。还有一条是两周前发的,只有一张照片:一条穿城而过的江,拍摄角度是从酒店窗户往外看。时间是晚上。地点没有标注,但苏予白认出来了。
江城。
那条朋友圈的发送时间是她们相遇那晚的十一点四十分。那时候她应该已经趴在沈司岸胸口睡着了,沈司岸还没睡,拍了这张照片,发了一条朋友圈。没有配文,只有一张模糊的夜景。
苏予白盯着那张照片看了好几秒。她的心口像是被什么东西轻轻撞了一下。
“加这个。”沈司岸说。
苏予白用手机扫了她的私人号,添加成功。沈司岸把手机收起来,转身往门口走。走到门口的时候停了一下。
“苏予白。”
“嗯?”
“你刚才说,在你这里我可以不用找理由。”沈司岸握着门把手,没有回头,“这话你也适用。”
“什么意思?”
“你想做什么,直接做就行。不用找理由。”沈司岸拉开门,“包括给我发消息。”
门在她身后关上了。苏予白站在原地,实验室里又安静下来,只剩下服务器散热风扇的嗡鸣声。她低头看着手机上刚添加的微信好友——沈司岸,头像是一片傍晚的海。
她打开聊天框,打了一行字:“路上开车小心。”
发完之后她又打了一行字:“明天我把改好的流程发你。”
然后她把手机放在桌上,继续改代码。改了十分钟,手机屏幕亮了。
沈司岸:“到了跟你说。”
苏予白盯着这五个字看了好一会儿,然后把手机翻过来扣在桌上,继续改代码。手指在键盘上敲得比刚才快了一点。