十一點十七分
關燈
小
中
大
十一點十七分
第一章十一點十七分
深夜十一點十七分,陳序從會議室出來的時候,整個十五樓只剩他一個人了。
走廊的燈是聲控的,他的腳步聲踩亮了一小段光,身後的黑暗又在他走過去之後輕輕合攏,像水面上被劃開的漣漪重新歸於平靜。他手裏拿著一份打印出來的數據報表,邊角被他反覆折過又展平,折痕處已經有點發白了。
他在十五樓的茶水間門口停了一下。要不要再沖一杯咖啡?腦子裏過了一下這個念頭,很快否決了。今天已經喝了四杯了,再喝的話,今晚就別想睡了。雖然明天要匯報,他現在腦子裏那根弦繃得比任何時候都緊,但理智告訴他,咖啡因解決不了問題——問題不在於數據不夠充分,而在於他還沒想好怎麽把那些數據講成一個“故事”。
運營總監沈時予喜歡聽故事。這是人事部的周姐說的,上個月公司做管理層培訓的時候,沈時予在茶歇時間跟人聊起過“數據敘事”這個話題。原話是怎麽說來著?“數據本身沒有意義,意義來自於你如何把它放進一個上下文裏。同樣的數字,放在不同的故事框架裏,可以導出完全相反的結論。這才是數據分析最難的地方。”這段話是周姐轉述的,陳序當時拿手機記了下來,存在備忘錄裏,沒事就翻出來看一遍。
他走到自己的工位,坐下,把報表攤開,對著屏幕上還沒關掉的PPT,一行一行地過。
日活用戶數,近六個月的趨勢。九月改版後有一波小高峰,十月回落,十一月企穩,十二月開始緩慢爬升。表面上看,改版沒有帶來預期的增長,但也不至於說失敗。問題是——陳序在這個“問題”上已經卡了三天了——他拿不準沈時予想看到的是什麽。是“改版效果符合預期,建議繼續優化”的保守結論,還是“改版方向正確但執行有偏差,需要調整策略”的進取結論?同樣的數據,可以講出完全相反的兩個故事。
他不是沒有判斷。他是有判斷的,只是不確定自己的判斷在這個新來的總監眼裏,算不算“有洞察”。陳序這個人做事有一個原則:不確定的時候,寧可多花時間,也不隨便交一個“差不多就行”的東西出去。他的前領導評價他“穩”,但有時候也說他“太穩了”——這句話的潛臺詞他聽得懂,是在說他決策慢。
手機震了一下。
他拿起來看,是妻子林知意的消息:“還沒完?”
陳序打字:“快了,你先睡。”
“你上周也這麽說。”
他盯著那行字,不知道怎麽回。手指在輸入法上懸了幾秒,最後打了一個“嗯”,發出去。
消息顯示已讀,沒有回覆。
陳序把手機扣在桌上,閉了一下眼睛。林知意不是不懂事的人,她以前也做互聯網,知道他這個行業加班是常態。從去年她跳槽去了一家外企之後,作息變得規律了很多,朝九晚六,周末雙休,偶爾加班也不會超過八點。她開始不能理解他為什麽還是每天十一二點才回家。
陳序理解她的不理解。他只是不知道怎麽解釋——解釋不清的。你說“我在想一個問題”,她想的是你想問題怎麽就要想到半夜;你說“我在反覆確認一個數據”,她想的是確認一個數據需要花一個晚上嗎?她不在這行做了,就不理解這行的邏輯了。就像他也不能完全理解她為什麽能把所有的工作都在八小時內做完然後心安理得地走人。他們沒有對錯,只是不再同頻了。
他把手機翻過來,屏幕朝下,繼續看報表。
數據是對的。邏輯是通的。結論是站得住腳的。在這個基礎上,他想再往深挖一層。他總覺得這份報告少了點什麽——少了一種“我只能這麽講”的必然性。現在的版本,換一個人來做,只要數據源一樣,結論大概率也差不多。這不是陳序想要的,他想要的是那種非他不可的東西。
可他還沒有找到。
工位旁邊的玻璃窗外,對面寫字樓的燈也滅了大半。這個城市的深夜是安靜的,但不是那種鄉村的寂靜,是那種無數人各自埋在各自的疲憊裏、互不打擾的那種安靜的忙。陳序把報表翻到最後一頁,盯著上面的總結段落看了很久,最終還是把文檔關了。
明天再說。
他收拾東西的時候,聽到走廊盡頭傳來一個聲音。
不是腳步聲,是那種輕微的、很有節奏的敲擊聲,像是有人在用手指一下一下地叩桌面。陳序側耳聽了一下,那個聲音停了,然後又響起來,不緊不慢的,像是在等人應聲。
這個點,十五樓應該沒人了。運營部的人走得早,產品部今天也沒加班,他剛才經過的時候看了一眼,燈都黑著。難道是有人跟他一樣拖到了現在?
陳序猶豫了一下,還是朝聲音的方向走了過去。
走廊盡頭的茶水間,燈亮著。
一個年輕女人倒了一杯水,端起來喝了一口,放下,拿起桌上的手機看了一眼,又放下。她穿著一件墨綠色的針織衫,袖子推到手肘,露出一截細白的小臂。頭發披著,發尾微微卷,有一縷別在耳後。
她站在茶水間的窗前,側臉映在玻璃上,輪廓很柔和,但抿著嘴角的樣子又帶著一種不輕易示人的倔。陳序第一眼看過去的時候覺得她面生,第二眼覺得好像在哪裏見過。他在公司快兩年了,雖然大部分時間窩在工位上不怎麽走動,但走廊裏遇到的熟面孔總歸是有印象的。這個人,他說不上來。
他似乎沒見過她,又似乎見過。
這種模糊的感覺讓他停了一下。
就在他猶豫要不要轉身走的當口,她轉過了身。
兩個人目光撞上的一瞬,陳序看到她的眉頭微微動了一下,但不是那種防備或驚訝的動,是那種——他怎麽形容——像是在翻一本厚厚的電話簿,翻了幾頁,終於找到了那個名字。
“你是數據部的?”她先開了口。
聲音不大,但很幹凈,像秋天裏被風吹得很遠的那種聲音。
陳序點點頭。
“陳序?”她確認似的問了一句。
他微微一頓,“你認識我?”
“不認識,”她說,嘴角有一個很淺很淺的弧度,“但我發給你的消息,你一直沒回。”
陳序楞了一下,腦子裏快速搜索了一遍今天收到的所有消息。工作群裏的、運營部的人單獨找他的、產品部的、測試部的……他每天收到的消息太多了,有些看到了會先標記為未讀,等有空了再回,但往往就忘了。
“哪一條?”他問。
女人拿起桌上的手機,翻了翻,遞給他看。
屏幕上是一條下午三點多發的消息,內容很簡短:
“陳序你好,我是產品部的蘇皖。關於用戶行為數據的口徑問題,想跟你確認一下。方便的話請回覆,謝謝。”
已讀,未回。
陳序看著那條消息,想起來了一點點。下午他在跑一個數據模型,手機震了好幾次,他大概掃了一眼,這條消息他可能看到了,想著“等一下回”,然後就忘了。這種事情發生過很多次。他不是故意的,但他的註意力就是這樣,一鉆進數據裏,外面的世界就變得很遠很遠。
“抱歉,”他說,“我下午在跑模型,沒顧上看消息。”
蘇皖看了他兩秒。那兩秒裏,陳序在評估自己的表情管理——他道歉的時候習慣微微低頭,但不會把視線移開,因為移開看起來像是在敷衍。這是他工作這幾年學會的,不是刻意練的,是觀察那些讓人舒服的同事怎麽說話,慢慢學來的。
“沒關系。”她把手機收回去,“你現在有空嗎?”
陳序看了看走廊盡頭的黑暗。他的包還在工位上,外套掛在椅背上,地鐵末班車還有……他看了一眼時間,十一點二十三分,末班車還有不到四十分鐘。
“數據口徑的問題需要多長時間?”他問。
蘇皖想了想,“大概十分鐘?”
陳序點了一下頭,沒再多說。他回到工位把包放下——不是放心的放下,是把一個暫時不用的東西擱在一個不會丟的地方——然後走到她旁邊的工位坐下來。
她先打開了自己的電腦,調出了一個文檔,轉過來給他看。
“這是用戶行為事件的定義文檔,裏面有好幾個地方的‘活躍用戶’口徑不一致。”她用鼠標圈了幾處,“你看這裏,日活的定義是‘當日有任一行為事件的用戶’,這裏寫的是‘當日有點擊或瀏覽行為的用戶’。這兩個定義不是等價的,因為‘任一行為事件’包括註冊、登錄、分享這些非點擊瀏覽的動作。兩邊的數據對不上,運營那邊不知道應該以哪個為準。”
陳序看得很慢。不是他看不快,是他看東西的習慣就是這樣——把每一個字都讀進去,不會跳。蘇皖在旁邊等著,沒有催他。
“你是對的。”他看了大概兩分鐘後說。
蘇皖的眉毛輕輕挑了一下。
“第一處口徑確實有問題,”陳序指著屏幕,“用‘任一行為事件’的版本是對的,另一個需要改成統一的定義。但第二處……”他往下翻了一頁,“第二處不一樣。”
他接過鼠標,在文檔裏圈出了另一段。
“這裏的‘活躍用戶’用的是‘三天內有登錄行為的用戶’,這是一個滾動窗口的定義,和第一處的當日口徑不是同一個指標。它不是‘不一致’,是兩個不同的指標用了同一個名字。”
蘇皖湊近看了一眼。陳序能聞到一點她身上的味道——不是香水,是洗衣液或者柔順劑的那種幹凈的、帶一點點皂角氣息的味道。
“所以它不應該叫‘活躍用戶’,”她說,“應該叫‘近三日活躍用戶’。”
“對。”陳序把鼠標還給她,“你把名字改了,兩邊就不沖突了。日活還是日活,三日內活躍是三日內活躍,各用各的定義。”
蘇皖在本子上記了幾筆,字跡潦草但有力。
陳序註意到她的手指甲上沒有塗顏色,修得很短,很幹凈。做產品的女生他接觸過不少,大部分會在意這些細節,但她的方式不是那種刻意的精致,是一種“不需要在這些事情上花多餘的時間”的簡潔。
“你是新來的?”他問。
蘇皖擡起頭看他。
“不是,我入職快一年了。”她說,“你是從來沒有去過產品部的樓層嗎?”
“我去過。”
“那我怎麽好像沒見過你?”
陳序想了一下。他從工位到電梯,從電梯到食堂,從食堂回工位。他在這棟樓裏的活動軌跡像一條被反覆走熟的路,沒有任何多餘的岔道。他不去產品部串門,不參加非強制性的團建,不在茶水間跟人閑聊。他的社交半徑小得可憐,像一只習慣了獨行的貓,在固定的領地裏沿著固定的路線行走,從不試探那些陌生的走廊。
“我可能不太容易被看到。”他說。
蘇皖看了他一眼。那一眼的意思很難解讀——也許是在說“你這個人確實存在感不強”,也許是在說“你這個人還挺有意思的”,也許什麽都沒想,就是隨便看了一眼。陳序從來不太會讀別人的眼神,他覺得眼神這種東西太模糊了,像沒清洗過的數據源,噪音太大,信號太弱。他一般不去解讀,等著對方用語言把意思說出來。但蘇皖沒再說下去。
“你平時幾點下班?”她換了個話題。
“看情況。”
“現在這個算‘看情況’嗎?”
“算。”陳序頓了頓,“今天算。”
蘇皖笑了一下。那個笑容很淺,還沒成形就收回去了,但他看到了。
“你住得遠嗎?”她問。
“地鐵四十分鐘。”
“末班車幾點?”
十一點五十五。陳序在心裏算了一下,還有三十二分鐘。如果他現在走,時間很充裕。如果他現在不走,把這份報告帶回家做,明天早上早到半小時補上……他在腦子裏做了一次快速的資源配置評估,結論很明確:來得及。
“來得及。”他說,“數據口徑就這兩處?”
“就這兩處,其他我回去再對。今天太晚了,不耽誤你趕車。”
蘇皖站起來,把電腦合上,開始收拾東西。她收東西的動作不快,有條不紊的,不像有的人趕時間就手忙腳亂。她把本子塞進包裏,把充電線繞好,把杯子拿去茶水間沖了一下,放回桌上。每一個動作都帶著一種“我不急著走、但我知道自己該走了”的從容。
陳序也站起來,但沒急著走。他註意到她在等他把包收拾好——不是刻意等,是她的動作剛好慢了半拍,於是兩個人的離開時間就湊到了一起。這是一種很微妙的同步,像兩輛在不同軌道上行駛的列車,剛好在同一時間路過同一站臺。
他們一起走向電梯。
走廊的聲控燈又亮了,一段一段的,像有人在他們前面一盞一盞地點燈。光影一節一節地鋪開,像某種緩慢的、無聲的儀式。
“明天你匯報?”蘇皖突然問。
陳序轉頭看她。
“你怎麽知道?”
“人事部的郵件說今天下午數據部有季度覆盤,”蘇皖按了電梯的下行鍵,“這個點還在加班的,除了你就只有我了。”
電梯到了,門開了,裏面空無一人。
兩個人走進去。陳序按了一樓,蘇皖沒按——她也去一樓。
“你是坐地鐵?”他問。
“嗯,十號線。”
“我也是。”
電梯往下走。十五樓、十四樓、十三樓。數字一截一截地跳,像心跳。
“你是匯報給誰?”蘇皖的聲音在安靜的電梯裏顯得比剛才近了一些。
“運營總監,沈時予。”陳序說,“你們換過好幾任總監了,我們數據部還是第一次直接向運營匯報。”
“以前的運營總監不太看數據,”蘇皖說,“做什麽決策都是憑感覺。這次這個人,聽說很較真。”
陳序沒接話。他不喜歡在背後評價領導,不管好的壞的。不是因為他多正直,是因為他覺得這些評價沒有任何用。你說他好,他不會給你加薪。你說他壞,他也不會因此改了脾氣。浪費口舌,也浪費情緒。
蘇皖好像看穿了他的沈默,也沒追問。
電梯在九樓停了,沒人,門又關上了。轎廂裏重新陷入那種只有兩個人的安靜,不尷尬,也不算親密,就是那種夜裏加班後一起離開的人之間會有的、淡淡的默契。
“你那份報告,”她忽然說,“數據口徑的問題我回去統一改一下,但運營那邊估計還會有其他的疑問。能不能拜托你,如果明天他們來找你,你幫我解釋一下數據口徑的差異是怎麽造成的?不是讓我背鍋的意思——”她偏過頭看了他一眼,陳序註意到她的眼睛在電梯的燈光下顏色很淺,“——是這些技術細節我來講,他們不一定聽得進去。你來說,他們會信。”
陳序想了想。她說得有道理。產品部的人不懂數據口徑,運營部的人更不懂。他來解釋,不是因為他是權威,是因為他掌握著原始數據,他的話有底,有出處,能追溯到表、字段、計算邏輯。這不是幫同事人情,是減少明天的溝通成本。省下來的時間,他可以用來調模型。
“好。”他說。
“謝謝。”
電梯到了一樓。
門打開,大廳空曠得像一個沒有觀眾的劇場。大理石地面映著頭頂的水晶燈,光影層層疊疊地鋪開,像一面巨大的、倒映著燈火的水面。保安在門口值班室裏打盹,頭一點一點的,手裏握著的保溫杯在膝蓋上搖搖欲墜。
兩個人走出大廳,外面的空氣帶著十月夜晚特有的涼意,不冷,但能讓人精神一振。
“你開車還是騎車?”陳序問。
“騎車。”
他們一起走向公司樓下的單車停放點。陳序的車停得近,他彎腰掃碼的時候,聽到蘇皖在幾步之外“哎呀”了一聲。
“怎麽了?”
“這輛車鏈條掉了。”她蹲下來看了一眼,又站起來,“那邊的也沒了。”
陳序掃了一圈,這附近的共享單車確實沒幾輛了,剩下的兩輛一輛鏈條掉了,一輛被人鎖了私鎖。最後幾輛散落在夜色裏的車,像被遺忘在站臺上的旅客。
“你著急嗎?”他問。
“末班車還有二十分鐘,”蘇皖看了一眼手機,“走快一點還來得及。”
從公司到地鐵站走路大概十二分鐘,這是陳序幾乎每天都在走的路。他不騎車的時候就走,走快一點十分鐘出頭,走慢一點十五分鐘。二十分鐘足夠了,綽綽有餘。他算過。
他陪她走了一段。不是刻意陪的,是他們要去同一個方向,沒有理由分開走。
路燈把兩個人的影子拉得很長,像兩條在不同軌道上行駛卻又短暫並軌的線。他的影子比她的高了半個頭,在每一次路燈交替的時候交錯在一起,又分開。
今晚沒有星星,但月亮很亮,明晃晃地掛在寫字樓的頂上,像一盞忘了關的燈,照著這個城市裏那些還沒回家的人。
走了大概五分鐘,蘇皖忽然說了一句:“你是不是不太喜歡跟人說話?”
陳序楞了一下。
“沒有。”
“那你怎麽總是最後一個回消息?”
他想了想,想找一個準確的說法。不是那種敷衍的“我太忙了”,而是一個真的能解釋他這個人的、站得住腳的答案。
“不是不喜歡說話,”他說,語速比平時慢了一點,“是我在做一件事的時候,不太能同時做另一件事。剛才我在調數據模型,手機震了好幾回,我看了,心想等一下回,然後就把手機放下繼續調模型了。再然後,就忘了。不是故意的,是我的註意力只能裝得下一件事。”
蘇皖沒接話。她走在路燈的光暈與光暈之間的暗處,陳序看不清她臉上的表情。他忽然有點想知道她聽了這話是怎麽想的——是覺得“這個人好奇怪”,還是覺得“我也是這樣”,還是只是“哦”了一聲就過去了。
“你呢?”他問。
“我什麽?”
“你平時幾點下班?”
“不一定。做完就走。”
“現在算‘做完了’嗎?”
蘇皖偏過頭看了他一眼,嘴角有一個很淡很淡的笑意。那個笑意不像是對他說的話有什麽反應,更像是她正好在那一瞬間想到了什麽事,而那個事恰好是讓他覺得好笑的。路燈剛好照到她臉上,她的五官在光裏顯得很柔和,像一幅被水洗過的畫。
“今天算。”她說。
走到地鐵站口的時候,兩個人一起下了樓梯。臺階很長,他們的腳步聲重疊在一起,像一段即興的、沒有排練過的二重奏。
安檢。刷卡。進站。
站臺上人不多,幾個加班的上班族散落在長椅上,低頭看手機,臉上的光熒熒地亮著。遠處有列車的聲音傳來,由遠及近,帶著一種深夜地鐵特有的空曠回響。
他們的車還有三分鐘到。蘇皖站在黃色安全線外,沒有再說話。陳序站在她旁邊,兩個人之間隔了一個人左右的距離。不遠不近。
列車進站。開門。
陳序讓蘇皖先上,自己跟在後面。車廂裏空蕩蕩的,他們各自找了個靠窗的位置坐下,中間隔了整排座位。有人在看劇,有人在回消息,有人在打盹。報站器的女聲在空曠的車廂裏回蕩,每一站的名字都像是一個被念出來的坐標。
陳序靠在椅背上,閉上眼睛。不是困,是累。那種從骨頭縫裏滲出來的、睡一覺也不一定好的累。但他的腦子還在轉——明天匯報的開場白怎麽講,數據口徑的差異怎麽解釋,沈時予可能會問什麽問題,他怎麽回應。他在腦子裏一遍一遍地推演,像在棋盤上反覆走同一局棋,直到每一手的後果都清晰可見。
他睜開眼睛,朝車廂那頭的蘇皖看了一眼。
她也在看手機,屏幕的光映在她臉上,睫毛投下一小片扇形的陰影。她看得很認真,不知道是在回消息還是在看文檔。眉頭微微皺著,嘴唇輕輕抿著,像是有什麽事情還沒想通,像是一個人站在問題面前,反覆端詳,尋找那個能一刀切開結界的裂縫。
車到站了。十號線,換乘站。
陳序站起來,蘇皖也站了起來。不是約好的,是他們要換乘的是同一條線——二號線。
他們在二號線站臺上又等了幾分鐘。這一個站臺沒有上一站那麽空曠,人多了起來,但誰也不看誰。每個人都活在自己的手機和耳機裏,像一尊尊移動的雕塑。
車到了。還是陳序讓蘇皖先上。
“你哪一站下?”他問。
“靜安寺。”
“我也是。”
蘇皖看了他一眼。這一次的眼神比之前任何一次都長,像是重新確認了一遍什麽,像是一個人在心裏把一個名字從“不太確定”的格子裏挪到了“確認”的那一格。
“你是靜安寺附近住?”她問。
“嗯。步行十分鐘。”
“我也是。”蘇皖說,“我是說,我也是步行十分鐘。”
列車在隧道裏穿行,車窗上映出兩個人的影子,並排坐著,中間隔了一個座位的距離。他們的倒影在黑暗的玻璃上清晰得不真實,像兩張被精心剪裁過再貼上去的照片。列車轉彎的時候,影子晃了一下,重疊了一瞬,又分開了。
蘇皖沒有繼續說話的打算,陳序也沒有。但他註意到她沒有像剛才那樣看手機,而是看著窗外的黑暗。隧道裏的燈箱一塊一塊地掠過,每經過一個,她的臉上就亮一下,暗一下,亮一下,暗一下,像某種古老的、只有她自己能讀懂的信號。
靜安寺到了。
他們一起走出車廂,一起上扶梯,一起刷卡出站。到了出站口,兩個人同時停下了腳步。
陳序要往左,蘇皖要往右。
“那……明天見。”蘇皖說。
“明天見。”
陳序走了兩步,忽然想起什麽,回頭看了一眼。
蘇皖已經背著包走進了夜色裏,步伐不快,背影很安靜。路燈的光把她整個人籠在裏面,像一個被畫在夜裏的輪廓。
他在原地站了兩秒,轉身走了。
沒有多餘的動作,沒有多餘的話。但他記住了她轉述沈時予那句話時的語氣——“數據本身沒有意義,意義來自於你如何把它放進一個上下文裏”。她說那句話的時候,語氣不是轉述,是理解。不是背出了一句話,是說出了一個人。
陳序走在回家的路上,路面上的梧桐葉子被風吹著,發出細碎的、幹燥的聲音,像有人在遠處不停地翻一本書。他忽然想,也許明天匯報的時候,可以換一個開頭的方法。不講數據,先講那個九月改版的故事。至於這個故事怎麽講,他還沒想好。
但至少現在,他有了一個方向。不清晰,但存在。像遠處那盞街燈,在霧氣裏微微亮著,照不遠,但能照亮腳下的一小塊路。
本站無廣告,永久域名(fanyan.cc)
第一章十一點十七分
深夜十一點十七分,陳序從會議室出來的時候,整個十五樓只剩他一個人了。
走廊的燈是聲控的,他的腳步聲踩亮了一小段光,身後的黑暗又在他走過去之後輕輕合攏,像水面上被劃開的漣漪重新歸於平靜。他手裏拿著一份打印出來的數據報表,邊角被他反覆折過又展平,折痕處已經有點發白了。
他在十五樓的茶水間門口停了一下。要不要再沖一杯咖啡?腦子裏過了一下這個念頭,很快否決了。今天已經喝了四杯了,再喝的話,今晚就別想睡了。雖然明天要匯報,他現在腦子裏那根弦繃得比任何時候都緊,但理智告訴他,咖啡因解決不了問題——問題不在於數據不夠充分,而在於他還沒想好怎麽把那些數據講成一個“故事”。
運營總監沈時予喜歡聽故事。這是人事部的周姐說的,上個月公司做管理層培訓的時候,沈時予在茶歇時間跟人聊起過“數據敘事”這個話題。原話是怎麽說來著?“數據本身沒有意義,意義來自於你如何把它放進一個上下文裏。同樣的數字,放在不同的故事框架裏,可以導出完全相反的結論。這才是數據分析最難的地方。”這段話是周姐轉述的,陳序當時拿手機記了下來,存在備忘錄裏,沒事就翻出來看一遍。
他走到自己的工位,坐下,把報表攤開,對著屏幕上還沒關掉的PPT,一行一行地過。
日活用戶數,近六個月的趨勢。九月改版後有一波小高峰,十月回落,十一月企穩,十二月開始緩慢爬升。表面上看,改版沒有帶來預期的增長,但也不至於說失敗。問題是——陳序在這個“問題”上已經卡了三天了——他拿不準沈時予想看到的是什麽。是“改版效果符合預期,建議繼續優化”的保守結論,還是“改版方向正確但執行有偏差,需要調整策略”的進取結論?同樣的數據,可以講出完全相反的兩個故事。
他不是沒有判斷。他是有判斷的,只是不確定自己的判斷在這個新來的總監眼裏,算不算“有洞察”。陳序這個人做事有一個原則:不確定的時候,寧可多花時間,也不隨便交一個“差不多就行”的東西出去。他的前領導評價他“穩”,但有時候也說他“太穩了”——這句話的潛臺詞他聽得懂,是在說他決策慢。
手機震了一下。
他拿起來看,是妻子林知意的消息:“還沒完?”
陳序打字:“快了,你先睡。”
“你上周也這麽說。”
他盯著那行字,不知道怎麽回。手指在輸入法上懸了幾秒,最後打了一個“嗯”,發出去。
消息顯示已讀,沒有回覆。
陳序把手機扣在桌上,閉了一下眼睛。林知意不是不懂事的人,她以前也做互聯網,知道他這個行業加班是常態。從去年她跳槽去了一家外企之後,作息變得規律了很多,朝九晚六,周末雙休,偶爾加班也不會超過八點。她開始不能理解他為什麽還是每天十一二點才回家。
陳序理解她的不理解。他只是不知道怎麽解釋——解釋不清的。你說“我在想一個問題”,她想的是你想問題怎麽就要想到半夜;你說“我在反覆確認一個數據”,她想的是確認一個數據需要花一個晚上嗎?她不在這行做了,就不理解這行的邏輯了。就像他也不能完全理解她為什麽能把所有的工作都在八小時內做完然後心安理得地走人。他們沒有對錯,只是不再同頻了。
他把手機翻過來,屏幕朝下,繼續看報表。
數據是對的。邏輯是通的。結論是站得住腳的。在這個基礎上,他想再往深挖一層。他總覺得這份報告少了點什麽——少了一種“我只能這麽講”的必然性。現在的版本,換一個人來做,只要數據源一樣,結論大概率也差不多。這不是陳序想要的,他想要的是那種非他不可的東西。
可他還沒有找到。
工位旁邊的玻璃窗外,對面寫字樓的燈也滅了大半。這個城市的深夜是安靜的,但不是那種鄉村的寂靜,是那種無數人各自埋在各自的疲憊裏、互不打擾的那種安靜的忙。陳序把報表翻到最後一頁,盯著上面的總結段落看了很久,最終還是把文檔關了。
明天再說。
他收拾東西的時候,聽到走廊盡頭傳來一個聲音。
不是腳步聲,是那種輕微的、很有節奏的敲擊聲,像是有人在用手指一下一下地叩桌面。陳序側耳聽了一下,那個聲音停了,然後又響起來,不緊不慢的,像是在等人應聲。
這個點,十五樓應該沒人了。運營部的人走得早,產品部今天也沒加班,他剛才經過的時候看了一眼,燈都黑著。難道是有人跟他一樣拖到了現在?
陳序猶豫了一下,還是朝聲音的方向走了過去。
走廊盡頭的茶水間,燈亮著。
一個年輕女人倒了一杯水,端起來喝了一口,放下,拿起桌上的手機看了一眼,又放下。她穿著一件墨綠色的針織衫,袖子推到手肘,露出一截細白的小臂。頭發披著,發尾微微卷,有一縷別在耳後。
她站在茶水間的窗前,側臉映在玻璃上,輪廓很柔和,但抿著嘴角的樣子又帶著一種不輕易示人的倔。陳序第一眼看過去的時候覺得她面生,第二眼覺得好像在哪裏見過。他在公司快兩年了,雖然大部分時間窩在工位上不怎麽走動,但走廊裏遇到的熟面孔總歸是有印象的。這個人,他說不上來。
他似乎沒見過她,又似乎見過。
這種模糊的感覺讓他停了一下。
就在他猶豫要不要轉身走的當口,她轉過了身。
兩個人目光撞上的一瞬,陳序看到她的眉頭微微動了一下,但不是那種防備或驚訝的動,是那種——他怎麽形容——像是在翻一本厚厚的電話簿,翻了幾頁,終於找到了那個名字。
“你是數據部的?”她先開了口。
聲音不大,但很幹凈,像秋天裏被風吹得很遠的那種聲音。
陳序點點頭。
“陳序?”她確認似的問了一句。
他微微一頓,“你認識我?”
“不認識,”她說,嘴角有一個很淺很淺的弧度,“但我發給你的消息,你一直沒回。”
陳序楞了一下,腦子裏快速搜索了一遍今天收到的所有消息。工作群裏的、運營部的人單獨找他的、產品部的、測試部的……他每天收到的消息太多了,有些看到了會先標記為未讀,等有空了再回,但往往就忘了。
“哪一條?”他問。
女人拿起桌上的手機,翻了翻,遞給他看。
屏幕上是一條下午三點多發的消息,內容很簡短:
“陳序你好,我是產品部的蘇皖。關於用戶行為數據的口徑問題,想跟你確認一下。方便的話請回覆,謝謝。”
已讀,未回。
陳序看著那條消息,想起來了一點點。下午他在跑一個數據模型,手機震了好幾次,他大概掃了一眼,這條消息他可能看到了,想著“等一下回”,然後就忘了。這種事情發生過很多次。他不是故意的,但他的註意力就是這樣,一鉆進數據裏,外面的世界就變得很遠很遠。
“抱歉,”他說,“我下午在跑模型,沒顧上看消息。”
蘇皖看了他兩秒。那兩秒裏,陳序在評估自己的表情管理——他道歉的時候習慣微微低頭,但不會把視線移開,因為移開看起來像是在敷衍。這是他工作這幾年學會的,不是刻意練的,是觀察那些讓人舒服的同事怎麽說話,慢慢學來的。
“沒關系。”她把手機收回去,“你現在有空嗎?”
陳序看了看走廊盡頭的黑暗。他的包還在工位上,外套掛在椅背上,地鐵末班車還有……他看了一眼時間,十一點二十三分,末班車還有不到四十分鐘。
“數據口徑的問題需要多長時間?”他問。
蘇皖想了想,“大概十分鐘?”
陳序點了一下頭,沒再多說。他回到工位把包放下——不是放心的放下,是把一個暫時不用的東西擱在一個不會丟的地方——然後走到她旁邊的工位坐下來。
她先打開了自己的電腦,調出了一個文檔,轉過來給他看。
“這是用戶行為事件的定義文檔,裏面有好幾個地方的‘活躍用戶’口徑不一致。”她用鼠標圈了幾處,“你看這裏,日活的定義是‘當日有任一行為事件的用戶’,這裏寫的是‘當日有點擊或瀏覽行為的用戶’。這兩個定義不是等價的,因為‘任一行為事件’包括註冊、登錄、分享這些非點擊瀏覽的動作。兩邊的數據對不上,運營那邊不知道應該以哪個為準。”
陳序看得很慢。不是他看不快,是他看東西的習慣就是這樣——把每一個字都讀進去,不會跳。蘇皖在旁邊等著,沒有催他。
“你是對的。”他看了大概兩分鐘後說。
蘇皖的眉毛輕輕挑了一下。
“第一處口徑確實有問題,”陳序指著屏幕,“用‘任一行為事件’的版本是對的,另一個需要改成統一的定義。但第二處……”他往下翻了一頁,“第二處不一樣。”
他接過鼠標,在文檔裏圈出了另一段。
“這裏的‘活躍用戶’用的是‘三天內有登錄行為的用戶’,這是一個滾動窗口的定義,和第一處的當日口徑不是同一個指標。它不是‘不一致’,是兩個不同的指標用了同一個名字。”
蘇皖湊近看了一眼。陳序能聞到一點她身上的味道——不是香水,是洗衣液或者柔順劑的那種幹凈的、帶一點點皂角氣息的味道。
“所以它不應該叫‘活躍用戶’,”她說,“應該叫‘近三日活躍用戶’。”
“對。”陳序把鼠標還給她,“你把名字改了,兩邊就不沖突了。日活還是日活,三日內活躍是三日內活躍,各用各的定義。”
蘇皖在本子上記了幾筆,字跡潦草但有力。
陳序註意到她的手指甲上沒有塗顏色,修得很短,很幹凈。做產品的女生他接觸過不少,大部分會在意這些細節,但她的方式不是那種刻意的精致,是一種“不需要在這些事情上花多餘的時間”的簡潔。
“你是新來的?”他問。
蘇皖擡起頭看他。
“不是,我入職快一年了。”她說,“你是從來沒有去過產品部的樓層嗎?”
“我去過。”
“那我怎麽好像沒見過你?”
陳序想了一下。他從工位到電梯,從電梯到食堂,從食堂回工位。他在這棟樓裏的活動軌跡像一條被反覆走熟的路,沒有任何多餘的岔道。他不去產品部串門,不參加非強制性的團建,不在茶水間跟人閑聊。他的社交半徑小得可憐,像一只習慣了獨行的貓,在固定的領地裏沿著固定的路線行走,從不試探那些陌生的走廊。
“我可能不太容易被看到。”他說。
蘇皖看了他一眼。那一眼的意思很難解讀——也許是在說“你這個人確實存在感不強”,也許是在說“你這個人還挺有意思的”,也許什麽都沒想,就是隨便看了一眼。陳序從來不太會讀別人的眼神,他覺得眼神這種東西太模糊了,像沒清洗過的數據源,噪音太大,信號太弱。他一般不去解讀,等著對方用語言把意思說出來。但蘇皖沒再說下去。
“你平時幾點下班?”她換了個話題。
“看情況。”
“現在這個算‘看情況’嗎?”
“算。”陳序頓了頓,“今天算。”
蘇皖笑了一下。那個笑容很淺,還沒成形就收回去了,但他看到了。
“你住得遠嗎?”她問。
“地鐵四十分鐘。”
“末班車幾點?”
十一點五十五。陳序在心裏算了一下,還有三十二分鐘。如果他現在走,時間很充裕。如果他現在不走,把這份報告帶回家做,明天早上早到半小時補上……他在腦子裏做了一次快速的資源配置評估,結論很明確:來得及。
“來得及。”他說,“數據口徑就這兩處?”
“就這兩處,其他我回去再對。今天太晚了,不耽誤你趕車。”
蘇皖站起來,把電腦合上,開始收拾東西。她收東西的動作不快,有條不紊的,不像有的人趕時間就手忙腳亂。她把本子塞進包裏,把充電線繞好,把杯子拿去茶水間沖了一下,放回桌上。每一個動作都帶著一種“我不急著走、但我知道自己該走了”的從容。
陳序也站起來,但沒急著走。他註意到她在等他把包收拾好——不是刻意等,是她的動作剛好慢了半拍,於是兩個人的離開時間就湊到了一起。這是一種很微妙的同步,像兩輛在不同軌道上行駛的列車,剛好在同一時間路過同一站臺。
他們一起走向電梯。
走廊的聲控燈又亮了,一段一段的,像有人在他們前面一盞一盞地點燈。光影一節一節地鋪開,像某種緩慢的、無聲的儀式。
“明天你匯報?”蘇皖突然問。
陳序轉頭看她。
“你怎麽知道?”
“人事部的郵件說今天下午數據部有季度覆盤,”蘇皖按了電梯的下行鍵,“這個點還在加班的,除了你就只有我了。”
電梯到了,門開了,裏面空無一人。
兩個人走進去。陳序按了一樓,蘇皖沒按——她也去一樓。
“你是坐地鐵?”他問。
“嗯,十號線。”
“我也是。”
電梯往下走。十五樓、十四樓、十三樓。數字一截一截地跳,像心跳。
“你是匯報給誰?”蘇皖的聲音在安靜的電梯裏顯得比剛才近了一些。
“運營總監,沈時予。”陳序說,“你們換過好幾任總監了,我們數據部還是第一次直接向運營匯報。”
“以前的運營總監不太看數據,”蘇皖說,“做什麽決策都是憑感覺。這次這個人,聽說很較真。”
陳序沒接話。他不喜歡在背後評價領導,不管好的壞的。不是因為他多正直,是因為他覺得這些評價沒有任何用。你說他好,他不會給你加薪。你說他壞,他也不會因此改了脾氣。浪費口舌,也浪費情緒。
蘇皖好像看穿了他的沈默,也沒追問。
電梯在九樓停了,沒人,門又關上了。轎廂裏重新陷入那種只有兩個人的安靜,不尷尬,也不算親密,就是那種夜裏加班後一起離開的人之間會有的、淡淡的默契。
“你那份報告,”她忽然說,“數據口徑的問題我回去統一改一下,但運營那邊估計還會有其他的疑問。能不能拜托你,如果明天他們來找你,你幫我解釋一下數據口徑的差異是怎麽造成的?不是讓我背鍋的意思——”她偏過頭看了他一眼,陳序註意到她的眼睛在電梯的燈光下顏色很淺,“——是這些技術細節我來講,他們不一定聽得進去。你來說,他們會信。”
陳序想了想。她說得有道理。產品部的人不懂數據口徑,運營部的人更不懂。他來解釋,不是因為他是權威,是因為他掌握著原始數據,他的話有底,有出處,能追溯到表、字段、計算邏輯。這不是幫同事人情,是減少明天的溝通成本。省下來的時間,他可以用來調模型。
“好。”他說。
“謝謝。”
電梯到了一樓。
門打開,大廳空曠得像一個沒有觀眾的劇場。大理石地面映著頭頂的水晶燈,光影層層疊疊地鋪開,像一面巨大的、倒映著燈火的水面。保安在門口值班室裏打盹,頭一點一點的,手裏握著的保溫杯在膝蓋上搖搖欲墜。
兩個人走出大廳,外面的空氣帶著十月夜晚特有的涼意,不冷,但能讓人精神一振。
“你開車還是騎車?”陳序問。
“騎車。”
他們一起走向公司樓下的單車停放點。陳序的車停得近,他彎腰掃碼的時候,聽到蘇皖在幾步之外“哎呀”了一聲。
“怎麽了?”
“這輛車鏈條掉了。”她蹲下來看了一眼,又站起來,“那邊的也沒了。”
陳序掃了一圈,這附近的共享單車確實沒幾輛了,剩下的兩輛一輛鏈條掉了,一輛被人鎖了私鎖。最後幾輛散落在夜色裏的車,像被遺忘在站臺上的旅客。
“你著急嗎?”他問。
“末班車還有二十分鐘,”蘇皖看了一眼手機,“走快一點還來得及。”
從公司到地鐵站走路大概十二分鐘,這是陳序幾乎每天都在走的路。他不騎車的時候就走,走快一點十分鐘出頭,走慢一點十五分鐘。二十分鐘足夠了,綽綽有餘。他算過。
他陪她走了一段。不是刻意陪的,是他們要去同一個方向,沒有理由分開走。
路燈把兩個人的影子拉得很長,像兩條在不同軌道上行駛卻又短暫並軌的線。他的影子比她的高了半個頭,在每一次路燈交替的時候交錯在一起,又分開。
今晚沒有星星,但月亮很亮,明晃晃地掛在寫字樓的頂上,像一盞忘了關的燈,照著這個城市裏那些還沒回家的人。
走了大概五分鐘,蘇皖忽然說了一句:“你是不是不太喜歡跟人說話?”
陳序楞了一下。
“沒有。”
“那你怎麽總是最後一個回消息?”
他想了想,想找一個準確的說法。不是那種敷衍的“我太忙了”,而是一個真的能解釋他這個人的、站得住腳的答案。
“不是不喜歡說話,”他說,語速比平時慢了一點,“是我在做一件事的時候,不太能同時做另一件事。剛才我在調數據模型,手機震了好幾回,我看了,心想等一下回,然後就把手機放下繼續調模型了。再然後,就忘了。不是故意的,是我的註意力只能裝得下一件事。”
蘇皖沒接話。她走在路燈的光暈與光暈之間的暗處,陳序看不清她臉上的表情。他忽然有點想知道她聽了這話是怎麽想的——是覺得“這個人好奇怪”,還是覺得“我也是這樣”,還是只是“哦”了一聲就過去了。
“你呢?”他問。
“我什麽?”
“你平時幾點下班?”
“不一定。做完就走。”
“現在算‘做完了’嗎?”
蘇皖偏過頭看了他一眼,嘴角有一個很淡很淡的笑意。那個笑意不像是對他說的話有什麽反應,更像是她正好在那一瞬間想到了什麽事,而那個事恰好是讓他覺得好笑的。路燈剛好照到她臉上,她的五官在光裏顯得很柔和,像一幅被水洗過的畫。
“今天算。”她說。
走到地鐵站口的時候,兩個人一起下了樓梯。臺階很長,他們的腳步聲重疊在一起,像一段即興的、沒有排練過的二重奏。
安檢。刷卡。進站。
站臺上人不多,幾個加班的上班族散落在長椅上,低頭看手機,臉上的光熒熒地亮著。遠處有列車的聲音傳來,由遠及近,帶著一種深夜地鐵特有的空曠回響。
他們的車還有三分鐘到。蘇皖站在黃色安全線外,沒有再說話。陳序站在她旁邊,兩個人之間隔了一個人左右的距離。不遠不近。
列車進站。開門。
陳序讓蘇皖先上,自己跟在後面。車廂裏空蕩蕩的,他們各自找了個靠窗的位置坐下,中間隔了整排座位。有人在看劇,有人在回消息,有人在打盹。報站器的女聲在空曠的車廂裏回蕩,每一站的名字都像是一個被念出來的坐標。
陳序靠在椅背上,閉上眼睛。不是困,是累。那種從骨頭縫裏滲出來的、睡一覺也不一定好的累。但他的腦子還在轉——明天匯報的開場白怎麽講,數據口徑的差異怎麽解釋,沈時予可能會問什麽問題,他怎麽回應。他在腦子裏一遍一遍地推演,像在棋盤上反覆走同一局棋,直到每一手的後果都清晰可見。
他睜開眼睛,朝車廂那頭的蘇皖看了一眼。
她也在看手機,屏幕的光映在她臉上,睫毛投下一小片扇形的陰影。她看得很認真,不知道是在回消息還是在看文檔。眉頭微微皺著,嘴唇輕輕抿著,像是有什麽事情還沒想通,像是一個人站在問題面前,反覆端詳,尋找那個能一刀切開結界的裂縫。
車到站了。十號線,換乘站。
陳序站起來,蘇皖也站了起來。不是約好的,是他們要換乘的是同一條線——二號線。
他們在二號線站臺上又等了幾分鐘。這一個站臺沒有上一站那麽空曠,人多了起來,但誰也不看誰。每個人都活在自己的手機和耳機裏,像一尊尊移動的雕塑。
車到了。還是陳序讓蘇皖先上。
“你哪一站下?”他問。
“靜安寺。”
“我也是。”
蘇皖看了他一眼。這一次的眼神比之前任何一次都長,像是重新確認了一遍什麽,像是一個人在心裏把一個名字從“不太確定”的格子裏挪到了“確認”的那一格。
“你是靜安寺附近住?”她問。
“嗯。步行十分鐘。”
“我也是。”蘇皖說,“我是說,我也是步行十分鐘。”
列車在隧道裏穿行,車窗上映出兩個人的影子,並排坐著,中間隔了一個座位的距離。他們的倒影在黑暗的玻璃上清晰得不真實,像兩張被精心剪裁過再貼上去的照片。列車轉彎的時候,影子晃了一下,重疊了一瞬,又分開了。
蘇皖沒有繼續說話的打算,陳序也沒有。但他註意到她沒有像剛才那樣看手機,而是看著窗外的黑暗。隧道裏的燈箱一塊一塊地掠過,每經過一個,她的臉上就亮一下,暗一下,亮一下,暗一下,像某種古老的、只有她自己能讀懂的信號。
靜安寺到了。
他們一起走出車廂,一起上扶梯,一起刷卡出站。到了出站口,兩個人同時停下了腳步。
陳序要往左,蘇皖要往右。
“那……明天見。”蘇皖說。
“明天見。”
陳序走了兩步,忽然想起什麽,回頭看了一眼。
蘇皖已經背著包走進了夜色裏,步伐不快,背影很安靜。路燈的光把她整個人籠在裏面,像一個被畫在夜裏的輪廓。
他在原地站了兩秒,轉身走了。
沒有多餘的動作,沒有多餘的話。但他記住了她轉述沈時予那句話時的語氣——“數據本身沒有意義,意義來自於你如何把它放進一個上下文裏”。她說那句話的時候,語氣不是轉述,是理解。不是背出了一句話,是說出了一個人。
陳序走在回家的路上,路面上的梧桐葉子被風吹著,發出細碎的、幹燥的聲音,像有人在遠處不停地翻一本書。他忽然想,也許明天匯報的時候,可以換一個開頭的方法。不講數據,先講那個九月改版的故事。至於這個故事怎麽講,他還沒想好。
但至少現在,他有了一個方向。不清晰,但存在。像遠處那盞街燈,在霧氣裏微微亮著,照不遠,但能照亮腳下的一小塊路。
本站無廣告,永久域名(fanyan.cc)