丹麥半年,在 BIG 的那些日子 (工作篇)
前情提要:2024 念碩班的時候,學程要求實習學分,輾轉跑到 BIG(Bjarke Ingels Group)實習,在哥本哈根度過了 2024 的秋冬。
在 BIG 的時候我的 title 是 Computational Design Assistant,我們 team 加主管在哥本哈根總共有 4.5 個人(有一個資深老前輩是 part-time)。我們的角色有點像是 Tech Support,當建築師們遇到一些複雜的幾何問題或是想要把某些功能自動化,就會來找我們幫忙;團隊成員中一位是土木工程師出身,另外兩位則是有建築 + Parametric Design 的背景。大部分專案的 deliverable 都是 Grasshopper defination 或是 Rhino plugin,讓建築師們可以微調參數或是套用在不同的場景,有時候也會需要直接幫忙把 3D 模型建出來。

我平常的工作模式大概是這樣:手底下會有一個時程較長、沒有死線的大專案,平常沒事的時候就做這個大專案,一但「緊急事件」出現就會暫時放下手邊的工作去支援。緊急事件通常都是為特定專案建 3D 模型,建築師會告訴我們需求,我們會評估可行性和時程後討論解決方案、做小 demo 確認、再根據 feedback 修改,通常會經過幾輪迭代才拍板結案。
專案的內容很多元,有些是輔助設計迭代(小工具)、有些是 for rendering(建酷酷 3D 模型)、有些是要做分析(空間、景觀、建築量體等等);當然也有些是要產出最終建造的精確模型,不過有點可惜這部分我沒參與到;一方面沒有工程或建築的背景,另一方面這類型的專案時程都會拉很長、期間需要不斷迭代,某位同事為了搞一座看似簡單但實則無比複雜的旋轉空橋搞了超過一年還看不到結案的一天。
工作上會用到的技能也蠻廣,最基本的當然就是 Python、C# + Rhino/Grasshopper API,熟悉 Grasshopper 和 Rhino 的內建功能也會事半功倍(跟其他同事比我真的好菜 QQ)。基礎的幾何相關數學、線性代數、三角函數基本上是天天用(有時候要自己算角度、距離之類的,不過大部分的時候其實 call Rhino API 就行),基礎的電腦圖學知識偶爾也會用到(不同格式 3D 模型的特性、透視的概念、transformation matrix 之類的)。蠻意外的資料結構和演算法也有派上用場(生出神奇演算法、用 BFS 解決前人寫的 code 的 bug、用 hash set 優化老 code 的效能之類的)。
大部分的時候工作還算輕鬆,只有緊急專案來的時候才有可能要加班;相較於辦公室其他建築師們每天都早到晚歸,我的工時算是蠻丹麥的。工作內容就有點一言難盡了。我覺得有個大問題是,有趣的專案時程經常很短,不太能享受那個探索問題的過程,沒辦法花太多時間深入研究並做出最佳解,經常都是快速交差一個差不多有樣子的東西;類似的問題還有專案做一做有時候會突然胎死腹中,原本做到一半的東西就當打水漂。一直做這種用了就丟,甚至沒用就丟的小專案真的沒什麼太大的成就感。另一個我不喜歡的點是,我有很大一部分的時間是花在為某個內部專案自動化文件處理的流程——抓 Excel 的資料來產出漂亮的 PDF(而且很神奇的是用 Rhino + Grasshopper 做...),沒什麼挑戰性又很枯燥乏味、每天都在處理奇奇怪怪的 bug。

不過整體來說我還是學到不少東西,也獲得了一些津津樂道的成就。當時為了做一個小工具,深入研究了某個幾何演算法,最後寫出了一個比 Rhino 內建的 offset 更 robust 又有更多可調整參數的工具(當時是 Rhino 7,後來 Rhino 8 好像也換了一個新的算法就是了);而當時我沒意料到的是,算法當中最重要的一部分後來在 GCM 做碩論和在 CRCL 當 RA 的時候也都派上用場。另一方面,我也算是默默的在 ArchDaily 留下了一點點足跡——這裡面有幾張渲染圖的 3D 模型是用我開發的小工具生成出來的。

離職前主管有問我要不要再多留半年,當時總合評估過後覺得,還是當普通的軟體工程師撈錢比較實在,加上我真的受不了丹麥的天氣,所以便婉拒了。
關於我在丹麥 BIG 實習半年的工作心得大概就是這樣!預計還會有另一篇關於日常生活的心得,目前難產中 XD
