丹麥半年,在 BIG 的那些日子 (II)
在 BIG 的時候我的 title 是 Computational Design Assistant,我們 team 沒記錯好像叫 Architecture Technology,加主管整個 team 只有五個人。我們的角色有點像是 Tech Support,當建築師們遇到一些複雜的幾何問題或是想要把某些功能自動化,就會來找我們幫忙。大部分專案的 deliverable 都是 Grasshopper script,讓建築師們可以微調參數或是套用在不同的場景;當然有時候也會直接幫忙把 3D 模型建出來。
我平常的工作模式大概是這樣:手底下會有一個時程較長、沒有死線的大專案,平常沒事的時候就做這個大專案,一但「緊急事件」出現就會暫時放下手邊的工作去支援。緊急事件通常都是為特定專案建 3D 模型,建築師會告訴我們需求,我們會評估可行性和時程後討論解決方案、做小 demo 確認、再根據 feedback 修改,通常會經過幾輪迭代才拍板結案。
專案的內容很多元,有些是輔助設計迭代(小工具)、有些是 for rendering(建酷酷 3D 模型)、有些是要做分析(空間、景觀、建築量體等等);當然也有些是要產出最終建造的精確模型,不過有點可惜這部分我沒參與到,一方面沒有工程或建築的背景,另一方面這類型的專案時程都會拉很長、而且期間也可能會不斷迭代,某位同事為了搞一座旋轉空橋搞了超過一年還看不到結案的一天。
工作上會用到的技能也蠻廣,最基本的當然就是 Python、C# + Grasshopper API,熟悉 Grasshopper 和 Rhino 的內建功能也會事半功倍(跟其他同事比我真的好不熟 QQ)。基礎的幾何相關數學、線性代數、三角函數基本上是天天用(有時候要自己算角度、距離之類的,不過大部分的時候其實 call Rhino API 就行),基礎的電腦圖學知識偶爾也會用到(不同格式 3D 模型的特性、透視、transformation matrix 之類的)。蠻意外的資料結構和演算法也有派上用場(用 BFS 解決前人寫的 code 的 bug + 效能優化)。
大部分的時候工作都還蠻輕鬆的,只有緊急專案來的時候可能要加班,相較於辦公室其他建築師每天都 7 點後才下班,我的工時算是蠻丹麥的。工作內容就有點不好說了。我覺得有個大問題是,有趣的專案時程經常很短,不太能享受那個過程,也沒辦法花太多時間深入研究並找到最佳解,只能快速交差一個差不多有樣子的東西;類似的問題還有專案做一做有時候會突然胎死腹中,原本做的東西就當打水漂。做這種用了就丟,甚至沒用就丟的專案真的令人蠻挫折的。另一個我不喜歡的點是,我有很大一部分的時間是花在為某個內部專案自動化文件處理,抓 excel 的資料來產出漂亮的 PDF(而且很神奇的是用 Rhino + Grasshopper 做...),沒什麼挑戰性又很枯燥乏味、每天都在處理奇奇怪怪的 bug。
不過整體來說我還是學到不少東西,也獲得了一些津津樂道的成就。當時為了做一個(後來胎死腹中)的小工具,深入研究了某個幾何演算法,最後寫了一個比 Rhino 內建的 offset 更 robust 又有更多可調整參數的 offset 工具;同樣的演算法後來在 GCM 做碩論和在 CRCL 當 RA 的時候也都派上用場。我也算是默默的在 ArchDaily 留下了一點點足跡——這裡面有幾張渲染圖的 3D 模型是用我開發的小工具建出來的。
離職前主管有問我要不要再多留半年,當時總合評估過後覺得,還是當普通的軟體工程師撈錢比較實在,加上我真的受不了丹麥的天氣,所以便婉拒了。