綠色旗幟
週日,他坐在樓下客廳的鐵椅上,低頭看著手機。Google Map 開著,螢幕上佈滿紅色的小圓點,夾著幾面綠色旗幟。
他點開其中一面。
再抬頭時,已經站在那條巷口。
手機上的淡藍色方向偏了一點。他把手機轉正,確認它對準巷子,才右轉進去。
他第一次看見店門口,幾張方桌分開排著,坐著的人幾乎都在同一側,對面空著。桌面不大。放一台筆電剛剛好。手要拉開門時,視線停在一張告示牌上:
「店內要非常安靜」
進去後,他低頭往座位旁掃了一眼,牆邊看得到插座,有些桌邊也拉著延長線。店裡沒有交談聲,只有音樂很慢地流著,客人頭都低著,視線被鎖在螢幕裡。他臉上原本繃著的地方鬆了一格。很快地,就挑了一個靠牆的位子坐下,把背包放到腳邊。
旁邊書架上有幾本漫畫。他掃過書背,掃到其中一個名字時,頭很輕地向右歪了一點。手撐住桌面,身體往上提了半寸,又坐了回去,才慢慢把筆電拿出來。
店員把餐送來時,他朝對方點頭,把筆電收回包包,才把盤子拉近一點。三明治烤得很熱,他低頭咬了一口,蛋沙拉在舌尖散開,有一點細細沙沙的觸感。他慢慢嚼完,又喝了一口奶茶,茶香先浮起來,奶味在舌面鋪開,甜味跟著吞嚥沉下去。
吃完之後,他抽了張衛生紙擦嘴,嘴角很輕地往上動了一下。衛生紙折整齊,放進盤子裡,盤子推到桌子的左上角,這才又把筆電從包包裡拿出來。
隔天早上的 Sprint 會議剛結束,大家慢慢收著東西,準備走出會議室。
他身體還側在原位,手裡拿著筆電。那個同事從他斜前方走過來,眉頭往中間擠,低頭看著他,問:「這個功能不是很簡單?為什麼需要這麼多時間?」
他沒有轉頭,視線只往斜上方移了一下,沒講話。
旁邊另一個學長見狀,很快把話接了過來,替他解釋說:「他進來不到半年,還需要一點時間熟。」
他拿著筆電走出會議室。回到座位坐下,下唇往上頂,下巴微微繃住。他把筆電掀開,直接把視窗切到新的 ticket。
吃完晚飯,他快步上樓。升降桌上的燈又亮起來,眉頭還低低壓著。
早上那句「這個功能不是很簡單?為什麼需要這麼多時間?」又從腦子裡閃過去。他眼睛往桌子右下角看去,那本技術書還躺著。他伸手一抽,直接翻到某一章。
他照著例子一段一段試,改參數,跑結果,再回頭看說明。有一段他停了比較久,改了一個參數,又跑一次。畫面上的結果和他猜的一樣。
他看著那幾行字,點了幾下頭,手指在桌面上輕輕敲了兩下。
接著他切回 ticket,動作快了一點,把描述從頭看到尾。剛才還黏在一起的幾個問題,開始分開。
PR 推出去時,時間比他預想得早。肩膀終於往椅背靠回去。
他沒有立刻關掉那個測試頁面,又把其中一個參數換成另一個值。結果跳出來時,他看著那幾行字。
「喔。」
聲音很小,尾音拖了一點,像是只講給自己聽。他又試了另一個參數。
螢幕上暫時沒有下一個東西要追。他坐了一會兒,才拿起旁邊的手機,打開 Google Map。搜尋列裡還留著「咖啡廳」三個字。
他把搜尋列裡的「咖啡廳」刪掉,換成一個新的地址。
照著地址走進一間 bootcamp 的教室。
教室正前方的投影幕已經放下來,右邊白板還留著上一堂課的字。他沒有張望,直接走到中間靠前的位置坐下。左前方長髮的男生開著 VSCode,右邊戴眼鏡的男生開著 Notion,他忍不住笑了。
講者提到鐵人賽和公司讀書會時,他把「讀書會」三個字記住。
分享會一結束,他立刻站起,快步走到前台排隊。輪到他時,他問:「我想問讀書會的事情,請問不是你們公司的人可以參加嗎?」
對方笑著答應,拿出手機,請他加 FB。
「太好了!我要去!」他立刻加好友。
隔幾天,信箱裡跳出一封用戶訪談。是那個他常用的產品,信裡提到可以搶先試用新功能。他切到日曆選了一個時間,預約成功的頁面跳出來後,腳尖輕輕一點,人體工學椅慢慢轉了半圈。
他沒關掉那個視窗。旁邊的日曆上,讀書會那天的行程還亮著。
讀書會那天出門前,他又把筆電打開一次。那個工具的畫面載出來後,他照著之前試過的地方又走了一遍。畫面沒有卡住。左邊選單裡還有幾個他沒點過的項目,游標在上面不動,沒有點下去。他把筆電闔上。
小樹屋的門推開時,裡面已經有人在聊,坐在靠前座位的短髮女生向他點頭微笑。他找了個位子坐下。
前一個人介紹完後,投影畫面還停在幕上。筆電貼著貼紙的男生問:「還有沒有人要分享?」
沒有人接話。
他看向自己的螢幕。那個工具的頁面還開著。他才說:「我前幾天收到那個工具的訪談邀請,可以搶先試用。」
話剛說完,桌邊好幾個人同時往前傾,椅腳在地上刮了一聲。
「哪個工具?」
「想看!想看!」貼貼紙的男生把椅子往他這邊挪了半步。
他笑了出來。
他把筆電往桌子中間推了一點,螢幕轉向大家,才點進左邊的選單。
「它這邊可以設定 workflow,你可以把常用的步驟放進去。」
「那它可以改嗎?」
「可以。」他把游標快速移到其中一格旁邊。「這裡改完,下面會一起更新。」
下一個問題很快接上來。到後來有人直接報 email 要邀請碼。他複製、貼上、送出,對方的手機螢幕亮了一下。
「收到了!」
整桌笑開。
隔天他一進辦公室,先往前輩的位子看了一眼。對方頭低著。他在自己位子坐著等,見到前輩靠回椅背,才站起來走過去。
「我發現它多了一個新功能,還滿好用的誒。」
前輩湊近看了幾眼,馬上說:「這個你可以在會議上跟大家分享啊。」
他還看著前輩,聽到「會議」兩個字,話先停在喉嚨裡。
前輩又說:「不用太正式,簡單講一下你怎麼用的就好。」
他原本要點頭。
筆電螢幕還停在昨天讀書會大家圍著看的那個頁面。昨天有人問什麼,他就點進去試給他們看。左邊選單裡還有幾個他沒點過的項目。
限制不知道在哪裡。權限能不能共用,他也還沒試。萬一有人問導入到現在的流程要花多少時間,萬一⋯⋯。
扶在桌邊的手指蜷了起來。
「我其實對這個沒有很熟。」他說,「我再看看好了。」
當天下班後,他坐在外接螢幕前看 YouTube,影片裡傳來笑聲,一段接著一段。他背靠在人體工學椅上,右手搭在滑鼠上,沒有動。
Slack 通知跳出來。他看見學長的名字。
今天沒有會議,也沒有約討論。他看了名字幾秒,手指沒有馬上按下去。
訊息是一大段文字。列了好幾點。前面有問題,也有他舉的例子。中間提到上次回顧會議,他有提出一個問題,當時大家也給了方向。再往下,學長寫:會議上我有先幫忙說明,但之後還是要自己跟進,不要只是提出來就停住。
他先把整段滑到底。字太多,前後像黏在一起,只剩幾個詞跳出來:回顧會議、主動、跟進、積極性。
手指又把畫面往上推回去。視線停在一句話上。
「我觀察不到你的積極性。」
他把 YouTube 關掉。螢幕只剩 Slack,幾行字的冷光貼在他的鏡片上。身體往螢幕前靠,耳朵開始發熱。他瞪著那段訊息。
下面還有幾行,說即使是一件小事,大家都看在眼裡。
「永遠都不要覺得自己已經做得很好了。」
握著滑鼠的手越收越緊。他看向旁邊的白牆,深吸了一口氣,用力吐掉。
過了一會兒,他才在回覆框裡打:「謝謝你的留言。我已經看到,我思考消化之後回你。」
鍵帽一下一下沉下去,聲音比平常重。後來他關掉電腦,洗澡,躺上床。房間暗下來。
他閉著眼,還是看得到那幾行字。
隔天進辦公室時,他看見同事,包包還掛在肩上,就開口了。
「我想問你一件事。」
同事手還放在鍵盤上,抬頭看他。椅背上掛著一件卡其色的連帽外套。
他把背包帶往肩上拉緊,沒有馬上說。昨晚那段 Slack 還在腦子裡,幾行字排得很整齊。
「昨天學長傳了一段話給我。」他說,「我有點不知道要怎麼回。」
「我覺得他講的,我不太認同。」
說完這句,他才把包包從肩上放下來。「可是我現在其實沒有太多餘裕。」他說。
同事沒有接話。
「我每天下班都在看那本書。」他說,「週末讀書會我也去。前幾天我還……」他停住。
「我不是沒有在補。」聲音比剛剛小。
他說完後,沒有馬上接下一句,視線還停在對方臉上。手指碰到褲子口袋裡的手機,又收了回來。
同事卻很快接上來:「可是上次會議他不是還幫你說話?他也是好意啦。你這樣回,他以後可能就不會想提醒你了。」
他張開了嘴,又把話停住。「我不是說他不好。」他說。
同事點點頭,從座位上站起來,沒有走近,只是隔著那段距離又說:「可是你轉職嘛,本來就會比較辛苦一點,這塊要趕快補起來。」
他的腳尖先轉向自己的座位,視線落到地板上。手碰到椅背,停在那裡。最後,他沒有再看那個同事,只說:「好吧。」
人坐到餐桌前時,飯已經在碗裡,菜也夾好了。再低頭,碗已經空了。
他上樓走到升降桌前坐下。桌面是空的,筆電闔著。他坐了至少五分鐘,才伸手把筆電打開。
Slack 的回覆他沒有直接打在 Slack 裡,而是先打在 Notion。
他打下一句:「我其實不太認同。」
手停在鍵盤上,食指一下、一下敲著鍵帽。
他又打下一句:「有些問題我還在整理。」
他看著那句話,喉嚨動了動。
「這個功能不是很簡單?」那句話又冒出來。
他按住刪除鍵。字一個一個往回退,最後整行空掉。
重新打,把句子改成:「我想請教,如果是你的話,會怎麼安排優先順序?」
他把那段話反白,複製。Slack 視窗切回來時,學長的名字還停在最上面。昨晚那一大段訊息在上方,最後一段話露出一半。他把文字貼進回覆框。
游標停在句尾,一閃一閃。送出鍵就在旁邊。
他的右手握著左手的大拇指,拇指在指節上來回磨,磨到皮膚有點發熱。
他把右手放回滑鼠上。
按下送出。
沒有再看第二眼,就啪一聲闔上筆電,走回房間。
房間裡沒有開燈,手機螢幕亮過一次,又暗下去。
7-11 的自動門往兩側滑開。
他從捷運站另一個出口上來,一進店裡,餘光先勾到一塊卡其色。那件連帽外套站在早餐架前,隔著兩排貨架,低頭挑著早餐。
他本來要往前走,腳步卻停了下來。下一秒,他退到另一排貨架後面。洋芋片的包裝袋排在眼前,他看著其中一包,手一直垂著。
等同事走向櫃台,他才繞到冷藏櫃前,拿起一顆鮪魚御飯糰。翻到背面時,他用餘光看著櫃台。直到同事走出 7-11,他才拿著御飯糰走到隊伍後面。
結完帳後,他走到自動門前,先看向公司的方向。同事已經過了路口。他望著那個背影再走遠一點,才走出去,腳步比剛才更慢。
那顆御飯糰被隨手擱在辦公桌邊,包裝紙還沒拆。
螢幕暗下去時,他鬆開滑鼠,拇指摸到手機側邊。
Google Map 開著,搜尋列裡常常還留著「咖啡廳」三個字。公司附近一間,捷運站另一頭一間,回家路上兩間。
他點開照片,不是先看餐點,是先看牆邊。桌下如果看不到插座,就退出去。評論裡有人寫「聊天很熱鬧」,他也退出去。留下來的,多半是安靜、不限時、桌面剛好夠放一台筆電、每個人都低頭看螢幕的店。
有些他真的去過,有些只是先存起來。
綠色旗幟一面一面插上去。
有一天他把地圖縮小,發現那些旗幟圍著公司、捷運站和家,連成一個歪歪的多邊形。他看著那個形狀,原本鬆著的嘴角慢慢收成一道平線。視線在幾面旗幟之間來回跳了幾下。
拇指最後停在其中一面綠色旗幟上。
第二次走進那間咖啡廳時,他順著門口往裡走,經過那座書架。腳步沒有慢下來。停在上次那張桌前,背包從肩上鬆下來,落到腳邊。
筆電拿出來,電源線接上。螢幕亮起來時,Notion 的白底和 terminal 的黑底並排著,在他臉上分出兩塊不同的光。
店員端著餐點走過來:「餐點來囉。」
他沒有抬頭,只把筆電往旁邊挪開一點,讓盤子放得下。
他的眼睛還在螢幕上,一手滑著觸控板,另一隻手摸到餐點,拿起來咬了一口。嚼著,又看回螢幕上的文字。他吸了一口奶茶,才剛吞下去,胸口下方像有什麼東西又浮上來。他把背往前彎了些。
奶茶放在旁邊,冰塊化了一點,杯壁的水珠流到桌面。他沒有拿衛生紙擦,只把滑鼠往旁邊移開。
吃完後,他抽了張衛生紙,隨便擦了擦嘴。衛生紙在手裡揉成一團,被他丟回餐盤裡。
黑底上的字一行一行往下跑。
他把筆電收進包裡,背包背上肩。桌上只剩一個空杯。
門被拉開了。外面的聲音進來一下,又被關回去。
店員走過去,把空杯收走。
那張靠牆的桌子空下來。
沒多久,另一個人背著背包進來,在門口停住,往牆邊看。對方坐到那張桌前,拿出筆電。
店裡的音樂還是很慢。
幾個人低著頭,眼睛被各自的螢幕照亮。
早上,手腕被 Apple Watch 一下一下推醒。他睜開眼,背還黏在床上。震動停了,他才把身體從床上撐起來。
坐到桌前後,他把昨晚停住的那一段重新打開。螢幕亮起來,黑底上的字先浮成兩層。他瞇起眼,等字慢慢對上,才把視線放回第一行。
第一次讀,圈出看不懂的地方。第二次再回頭讀,他把滑鼠指標移到字下面,一個字一個字往右推。推到句尾,又拖回句首。
AI 整理的大綱跳出來,他看了一會兒,只在輸入框裡打了幾個字:換例子。AI 換了一個。他又看了一會兒,眼睛先乾了起來。
手指停在鍵盤上,最後只補了幾個字:
看不懂。
眼皮撐不住,他閉上。等那點刺痛退下去,再睜開。螢幕上的字還在那裡。
再撐不住,再閉上。再睜開。
不知道過了多久,眼皮乾到每次閉上再睜開,都會刮過眼球表面。
他眨了幾下,眼淚沒有出來。
他最後一次把眼睛閉上。
再睜開眼時,他躺在床上,鬧鐘還沒響。
胸口靠下有一股灼熱慢慢頂上來,沿著食道往喉嚨泛。他僵著沒動,先是吞了一口口水。那股酸味沒有下去,反而黏在舌根後面。
他坐起來,等那股熱意退了一點,才下床走到桌前。水杯裡還剩昨晚的水,已經放到室溫。他拿起來喝了一口,又喝了一口,喉嚨還是澀的。
他撐到下午,坐進會議室時,胸口靠下的位置還一陣一陣地灼著。
對面的人說文件分享給他了。他把筆電打開,點開那份文件,最上面是他的名字。
他先往下捲到底。一段一段都是字,沒有數字。
「調薪的部分,」對面開口,講了一個幅度。
桌下的手指輕輕動了動,眼睛亮了一瞬。比他想的多。
他點了頭,停了一小拍,才說:「謝謝。」
走出會議室時,胸口先鬆了一點,眼皮卻沉下來,視線也跟著低了。
他回到座位,打開筆電。畫面還停在昨天的 PR。
他看著其中一行程式碼。那個地方,上次 review 留下的標記還在旁邊。
手先動了。刪掉,補上。
冷氣聲低低地響著。
螢幕的藍光打在鏡片上,只剩兩小塊冷白色的反光。