上一個月我參與了人生中的第一次黑客松 (Hackathon)。
雖然我從事軟體開發已經有 10 年 (如果從高中學寫 Pascal 開始算的話,我接觸程式已經有 18 年了),但一直以來沒有參與程式比賽 ,可能是因為我只視寫程式為我的糊口 (搵食) 工具,上班對著它 8 小時,電力已經見底,下班或假日就不想再見面了。
大學時期學校有辦黑客松 (Hackathon),身邊的一些同學也有參加,但當時的我沒深入了解,還以為參與比賽的都是黑客,主辦方提供一套配有多層安全性關卡,大家比誰能更快黑掉整套系統 (心想這也太難了吧)。
到了加拿大加入到現在公司後,上一年我也聽說同事們參加了公司內部的黑客松,只可惜當時我在休假,無緣參與。
直到這一年我再次看到同組的隊友們都報名了,多了解了一下才知道有這些好事:
2 天的黑客松參與者能名正言順地不做日常公事
有免費早餐、午餐、高級零食和紀念品
冠軍全組能瓜分 USD$10,000 的獎金
雖然我沒什麼信心能嬴 (志在參與),但第 1-2 點已經令我覺得值回票價 (而且我不用買票😂),所以我就報名參加了人生中第一次的黑客松。
第一天的吃貨行程
認真看了比賽規則後我才知道,黑客松並不是黑客攻防戰,它其實只是大家組團丟出一個想法,在限定時間內做出一個概念驗證 (POC),最後向評審「推銷」自己的點子。
這次活動沒有特定的主題 (聽說上一年是 AI),只有 3 條規則:
2 天內做好一個概念驗證
提交一段 3 分鐘的展示錄影
提交程式碼的 GitHub 連結
在成功組團後,我們大概在活動開始前一星期開設了一個 Slack 頻道構思主題 (這算是偷步嗎?),定好方向後,簡單做了一些規劃和分工,然後等到活動第一次早上正式開工!
那天早上把需要的開發環境搭建好後,大家一致決定先去享受參賽者的第一項福利 - 免費早餐。
廣場中庭旁的一張長桌上放滿了從公司附近購買的餐點,由於平日上班前都是急急忙忙的,早餐都是草草了事,當時我看著眼前的陣仗,心想這次肯定要吃個夠,最好把午餐的份也一起吃完。
最後我老實不客氣地拿了 3 份:蕃茄牛肉漢堡、豆腐碎蛋堡,還有一個巧克力鬆餅。
(平時的份量應該只有今天的三分之一😂)
我們預先預約了會議室討論分工,於是我們決定先把會議室充當成早餐室,吃飽喝足後才開工。
(這 3 份早餐我從 9 點開始吃,邊吃邊寫程式到 11 點半才把它們消滅乾淨)
補充好能量、安排好分工後,我們幾人圍在辦公室的一個小角落,一人一台電腦,敲鍵盤的聲音此起彼落。中途遇到什麼接口對不上或是邏輯卡住的問題,頭一轉就能找到旁邊的隊友討論,討論完又埋頭繼續開發。
不過,感覺自己也才寫了沒幾行程式碼,竟然又到了午餐時間。大家於是又跑到中庭聚在一起邊吃一邊說笑,很快地又過去了一個小時。
第一天就在這種頗為愜意的節奏下結束了,我們順利把一個簡易版概念驗證做了出來,跑了個內部小 Demo,再討論一下明天的行程安排就各自散場。
第二天的渦輪模式
到了第二天一早,可能是因為前一天吃吃喝喝太享受了,我們對了一下進度,感覺比計劃中落後了一點。
這時候,大家不約而同地收起了昨天的悠閒,自動切換進入了渦輪 (Turbo) 模式,早餐時間大家都只是拿了早餐就回到座位上,一邊把食物塞進口裏一邊趕工。
在日常工作時間,大家多多少少都有點打工仔的薪水小偷心態,寫兩行程式碼就要摸個魚 (去洗手間、看看手機、在 Slack 跟同事聊八卦),但這兩天看著身邊每個人都在全神貫注地努力 (好像是最後一天才對?),那種整個團隊為了同個目標一起衝刺的感覺,真的久違了。這也讓我有一種回到大學時期,跟同學熬夜做畢業專案 (Final Year Project) 的錯覺。
雖然身體很累,但過程實在享受。
這一天下午,我們為了錄製那段成果影片,在公司待得比平時久了一點 (現在才發現 3 分鐘原來這麼短🤦🏻♂️),大家對著螢幕反覆錄了好幾次,最後總算趕在截止時間前,把專案和影片交了上去。
上載完成後,當時看著我們那完成度極高、介面也漂亮的系統,心裏還有些自我感覺良好,偷偷想這次拿獎的機會應該挺大的吧。
結果一轉頭看到後台顯示這次竟然有幾百個團隊、接近三千人參加,我就默默地收起了那份自信,還是祝福自己就好了。
經過這 2 天的黑客松體驗,除了吃得很飽之外,我也有幾個關於現代軟體開發的深刻體會。
有了 AI 之後,製作 POC 的成本已經今非昔比
這是我在此次黑客松中最深刻的體會:
幾乎所有人都在 Vibe Coding
如果是幾年前,短短 2 天內要純人手寫出前後端、環境搭建、錄製影片,困難系數非常高,做出來的成品頂多就是個看起來破破爛爛、勉強能動的半成品。
不過,由於這次黑客松大家不用考慮穩定性、可維護性,對開發速度的要求大於一切,所以 Vibe Coding 就是最佳選擇。
在午飯時我也問了組裏那位剛從大學畢業的工程師,他說以前在大學參加黑客松時,大家通常只能在限制時間內勉強拼出一個靜態網頁、或後端服務。
但隨著 AI 的普及,大家的成品逐漸變得「怪獸」起來,動不動就崩出個 Minecraft 複製品、多人線上遊戲、SaaS。
AI 確實拉高了黑客松的下限,但也意味著,純粹靠技術能力寫得出東西已經沒辦法在比賽中突圍了 (職場上亦同理,只是能完成被指派的工作已經不足以確保自己在公司裏的位置了)。
3 分鐘的 Pitch 影片可能比成品更重要
這是一個對工程師來說很殘酷的現實:
影片的 Pitch 技巧,對結果的佔比可能比技術含量還要高
活動規則規定只能交一段 3 分鐘的短片,我們嘗試過幾次錄影:
第一次錄的 5 分鐘長
第二次將預先錄製的 Demo 調 1.5 倍速,減少其他部份的字數,也有 3 分半鐘
最後我們決定把原有的錄影內容打掉重造,把重點放在塑造印象、遠景上,Demo 只是前往遠景中的其中一個小階梯,才能把影片長度壓到 3 分鐘內。
(我們也不知道這技巧能不能取悅評審,希望不會得不償失啦)
事後我們跟其他組聊起這次黑客松,其中一些同事當過評審,他們表示因為評審時間有限,短片都不一定會看完。多人參加的話,他們更會像 HR 看履歷表一樣,標題不吸引人、前三十秒沒有抓到痛點,就直接跳過。
解決什麼問題,比怎樣解決更重要
最後一點也是跟 AI 有關的,有了 AI 之後,技術實現的門檻被拉低,人人都能在 2 天後做出一個 POC,而比賽的本質就回歸到了人類想法本身。
誰的想法能影響更多人、能為公司或用戶帶來更大價值才能在比賽中脫穎而出。當然,完成度和技術依然是評分準則之一,但在有時間限制、大家都拿著 AI 當武器、成品看起來都不錯的情況下,這 2 點已經不足以拉開參賽者之間的差距。
結語
雖然這次最後不一定能拿到什麼大獎,但整體來說,這兩天過得非常充實。
在日常工作中,同事們都非常尊重彼此的時間,習慣了遠端工作,每個人都有自己的家庭、生活要照顧,加上跨團隊的提問和會議,平時很難找到整組人可以完全沒有任何打擾、心無旁鶩地連續 2 天只做同一個專案 (其實黑客松那 2 天也不是完全沒人打擾,有些熱愛工作的沒有參加比賽,仍然在處理日常工作)。
我很享受這種純粹跟隊友們一起並肩衝刺的感覺,這或許比拿獎本身還要讓我滿足。
職場小挑戰
這次黑客松再次確認在 AI 世代下,當工具把實現想法的成本降到接近零的時候,我們最缺乏的往往不是開發能力,而是發現問題的眼睛。
這週的挑戰,想請你在日常辦公時,試著把你的工作軟件 (例如 IDE、電郵) 關掉 15 分鐘,然後:
觀察你或隔壁部門的同事在日常工作流程中,哪一個步驟是最常讓大家厭棄、或是覺得「雖然習慣了,但其實挺麻煩」的瑣事?
試著把這個痛點寫下來,並用黑客松的思維想一想:
如果給你兩天時間,在不考慮完美的架構和生產環境的限制下,你會怎麼利用手邊的 AI 工具,拼湊出一個能省下這步驟、或自動化的小工具?
不用真的動手,光是思考這個 What 的過程,就是我們身為人類跟 AI 最大的分別了。

