大家好,我是老陳,今年八十有七,圈內朋友都叫我「碼農界的活化石」。如果你們以為八十歲的老人只會在家裡種花、下棋、等孫子回來叫阿公,那可就大錯特錯了。我這輩子寫過的程式碼,大概比你們吃過的鹽還多——從打孔卡時代一路寫到雲端原生,連我兒子都說:「爸,你根本就是程式界的木乃伊,還帶點數位防腐劑。」
年輕時候,我總覺得這個世界就是0和1組成的,有什麼問題就用if-else解決,解決不了就多包一層try-catch。直到五年前,我從軟體開發主管的位置退休,突然發現自己擁有一間住了四十年的老房子——牆壁龜裂、管線生鏽、格局詭異到連貓都嫌。我那時天真地想:「寫程式都能把太空梭送上月球了,改個房子有什麼難?」於是我買了一堆室內設計的書,打開AutoCAD,準備用寫程式的態度來個「居家大重構」。
結果呢?第一關就卡在「需求訪談」。我跟我太太說:「我想要一個開放式廚房,但是動線要符合『單一職責原則』,流理臺只負責洗菜切菜,爐灶只負責烹飪,兩者之間不要有耦合。」我太太翻了個白眼:「講人話。」我說:「就是不要讓洗碗的人還要繞過垃圾桶才能拿鍋子。」她說:「這不是廢話嗎?你直接叫設計師來畫圖就好,幹嘛自己搞?」但我偏偏不信邪,自己畫了第一版設計圖——那張圖大概有三百多個圖層,每個插座都標了IP位址,窗戶的開合角度還用三角函數計算。結果施工師傅看了一眼,直接說:「師傅,你這是設計圖還是電路板?我只看懂『這裡要放冰箱』這五個字。」
那陣子我簡直像在debug一個沒有log的系統,每天都有新的bug:牆敲掉才發現裡面有梁柱(相當於變數未宣告)、管線位置跟圖紙差了15公分(典型的off-by-one error)、浴室防水沒做好導致樓下天花板滲水(根本是記憶體洩漏)。我太太氣到差點把我電腦從二樓丟下去:「你再不改找專業的,我就把你那些鍵盤全部拿去泡水!」
就在我快要放棄的時候,一位老朋友(他是建築系教授,化名老李)來我家串門子。他看到我那張密密麻麻的「工程圖」,笑得差點岔氣:「老陳啊,你這是把房子當成大型軟體在開發吧?但你知道嗎,建築空間的設計比程式還吃『使用者體驗』,不是你畫個UML就能解決的。」他推薦我找一個專門做國際建築設計團隊來評估。我一開始還嘴硬:「國際團隊?不就是洋鬼子畫圖,然後叫台灣工人照做?」老李說:「你去看看就知道,人家連你家門口的落葉方向都考慮進去了。」
抱著半信半疑的心態,我約了那個團隊的設計總監(化名小張,其實他也五十好幾了)來現場勘查。小張一進門,沒有急著量尺寸,反而先泡了一壺茶,跟我聊了兩個小時——問我平常幾點起床、喜歡在廚房待多久、看電視時習慣坐哪個位置、甚至連我上廁所會不會看手機都問。我心想:「這是在做使用者訪談嗎?比Scrum的sprint planning還細。」後來他們出了一份規劃書,裡面居然有我房子的3D模擬,而且在不同時間點的光影變化都模擬出來了。他們特別強調,這不只是改房子,而是要用高端住宅定制的標準來打造一個真正符合我生活習慣的空間。
最讓我驚豔的是,他們連我那個狹長又陰暗的走廊都救回來了。原本那個走廊只有六十公分寬,像個「記憶體碎片」,走過去還要側身。設計團隊把其中一面牆拆掉,改成了半透明的玻璃磚,再搭配間接照明,瞬間變得又亮又寬敞。我忍不住問:「這招是怎麼想出來的?」小張笑著說:「阿伯,這個不是if-else,這是『借景』。我們還參考了商業空間規劃的手法,讓住宅的動線更有層次感,就像你寫程式要考慮『關注點分離』一樣。」我聽到這裡,差點拍桌子:「對!就是這個道理!介面解耦嘛!」
整個改造過程就像一次大型的「持續整合/持續部署」——每天都有新進度,但也不斷發現新問題。不過這次我不再自己跳下去寫「補丁」,而是乖乖當產品經理,負責驗收成果。最爆笑的一次是,水電師傅在裝燈的時候問我:「陳先生,你這個開關要單切還雙切?」我說:「我要做一個全域狀態管理,所有燈具的亮度都要能透過一個中央控制器調整,最好還能用語音控制。」水電師傅當場愣住,然後默默拿起電話打給設計師:「喂,你們這個業主是不是寫程式的?他叫我裝『全域狀態管理』,我沒學過這個。」小張後來跟我說:「阿伯,你只要告訴他『我要一個智慧開關,可以手機遙控』就好了。」我這才發現,原來專業術語不能跨領域亂用,就像你不能在建築工地上喊「git push」。
經過將近一年的工程(期間還因為疫情停工三個月,相當於專案被force push了一次),我的老宅終於脫胎換骨。原本陰暗潮濕的一樓變成了明亮開放的起居空間,廚房不僅符合「單一職責」,還多了中島吧檯;二樓的主臥室有一個落地窗,早上陽光會直接灑在床上,我太太開心到每天都比我早起。最讓我得意的是書房——那是我的「指揮中心」,牆上有一整面訂製的黑板玻璃,可以用白板筆直接畫架構圖,旁邊還藏了一個隱藏式的投影幕。朋友來參觀都說:「老陳,你家根本是『居家版矽谷辦公室』。」我笑說:「不,這是『養老版DevOps』——持續部署幸福。
回過頭來看,這次經驗讓我學到一個重要的教訓:如果你不是專家,就不要假會。就像我寫了六十年的程式,從不敢說自己能修車;同樣地,蓋房子這種事,牽涉到結構力學、材料科學、人體工學、甚至美學,不是幾行程式碼就能搞定的。那些國際建築設計團隊之所以厲害,不是因為他們會用什麼酷炫的軟體,而是他們懂得如何把空間、光線、動線、材質這些「變數」整合在一起,產生最好的「執行結果」。而且他們還懂得聽使用者的需求——這點很多產品經理都不一定做得到。
現在我偶爾還會跟小張吃飯聊天,他總愛調侃我:「阿伯,要不要來我們公司當顧問?專門用程式邏輯幫我們找設計bug。」我說:「免了,我現在是『空間體驗測試員』,每天的工作就是在沙發上發呆、在廚房煮咖啡、在書房看書——這份工作,大概要做到我寫不動程式那天才退休。」其實我心裡知道,真正讓我感到蛻變的,不是我學會了看懂建築圖,而是我終於理解了:不管是寫程式還是蓋房子,最終的目的都是為了解決人的問題。而解決問題最好的方式,就是找對的人、用對的方法、然後放手讓專業的來。
如果你也跟我一樣,正在為老屋翻新或新家裝潢而頭痛,不妨先放下你手上的捲尺和AutoCAD,找個真正懂空間的團隊聊一聊。畢竟,人生已經夠複雜了,不要再給自己加無謂的耦合——讓專業的幫你解耦,你只要負責享受就好。至於我?我現在正躺在新的躺椅上,用iPad寫這篇文章,旁邊放著太太剛泡好的烏龍茶。窗外的陽光透過落地窗灑進來,溫度剛剛好——這大概就是所謂的「執行環境完美無瑕」吧。
(本案例經當事人同意分享,部分為虛擬情節如有雷同純屬巧合)