[分享] 重拾高中當年的技能

作者: skyprayer (洗碗工)   2017-04-22 00:49:00
其實想一想還是很不可思議
因為去年下半年的一些經歷
讓我打算重拾12年前高中時期的一項技能 - 程式設計
高中(南海學園)的時候因為夢想之一是設計遊戲軟體
所以高中社團選擇了參加資訊社
聽了一學期的社課 對於程式設計也真的蠻有興趣的
學了C語言的基礎(學到簡單的指標運用 一點物件導向) 演算法 計算機概論 網概
到了高二也通過測驗 成為社團C語言和演算法的講師
但也在這一年 對於自己的夢想有了些猶豫
高二的時候也有寫出文字版的RPG小遊戲
不過跟想像中充滿絢麗影音效果的遊戲當然沒辦法比
而且也了解到 會程式設計和設計遊戲軟體是兩回事(雖然有相關性)
那時也沒有甚麼學校系所是在專門做遊戲設計的
覺得走資工好像反而會遠離我喜歡的設計部分
(對有美感的東西很喜歡 當然優雅的用程式解決問題也是種美 但不是我的最愛)
另外參加了學校的資訊能力競賽
慘遭資優班同學 學弟電爆 不要說代表學校參賽 連前十名都排不上
校內的網管人員考試也沒過... (高中時候網路和學校BBS站是由學生管理 老師監督)
加上數學 物理成績在班上很差 (倒數....)
比起其他社團幹部 我的數學和物理真的是悲劇級的
高三的時候因為生物成績不錯 生物老師鼓勵我也可以考慮參加生物競賽
於是報名了生物奧林匹亞筆試 沒想到意外通過初試 複試 摸到了選訓營門票
(資訊競賽連出門都沒機會....)
雖然最後還是離國手資格有段差距
(選訓營成績前四名才能當國手出國比賽 只拿到2X名..)
不過也讓我對自己的生物能力有些信心
指考成績出來後 國文 物理 數學考爆了
台大生科 台大資工顯然無望
(清大 交大資工 生科分數沒問題 但因為家裡因素 希望能待台北)
後來上網查了一下資料 發現台大園藝有在教景觀設計!
雖然不是遊戲設計
但景觀設計聽起來某方面好像也跟設計遊戲場景相似
可以設計迷宮之類的讓遊客去玩
而且園藝是三類組 我對生物也有興趣也有能力
(那時沒選獸醫是因為我不擅長照顧動物 而且生物競賽時 動物解剖技術不太好...)
所以就把園藝系填到第三志願去了 (前面是生科和生技)
當然後來放榜 如預期一樣進了園藝系
但也因此與程式設計漸漸遠離
大學時期除了SAS的輸入輸出 簡單的推論統計 程式碼撰寫
就沒碰甚麼程式設計的東西了
社團的朋友學長學弟很多都在資工 電機 領域就讀
聚餐吃飯的時候也常常在聊資工相關的東西
那時也覺得資訊領域真的離自己越來越遠
研究所有人問我要不要考慮去考個資工所
不過我還是比較想做景觀設計或規劃 於是推甄了自己系的研究所
研究所的時候跑去考預官 其中一個測驗是計算機概論
考前三天跑去天瓏書局買了一本計概來看 發現其實裡面很多東西高中就學過了
比較令我意外的是這些東西多年沒碰 到了研究所卻還記憶猶新
(可能當時要當講師要教學弟 所以把很多東西記得很熟)
預官成績出來 計概拿了95分 意外考到政戰官....
(當然預官計概好像也沒很難 另外後來也沒去當政戰官 這又是另一個故事)
服完消防替代役後 開始從事景觀設計 (也碰了一些室內設計)
工作了三年多 去年換到某間建築師事務所工作
剛進去的時候公司請了老師來教怎麼操作Revit
學了幾星期後發現一件事
Revit這套軟體對建築設計有很大的幫助 但景觀功能部份很陽春....
除了地形挖填方計算相對好用外 其他部分對景觀設計來說真的不是很好用
植栽種類有限 形狀也不好看 也沒有相對應的景觀照明 水景 噴滴灌系統
都得用建築或EMP的物件(family)類型自己創建自己的系統
但缺點就是也沒對應的分析功能可用
問了老師這問題怎麼辦 老師說目前無解 除非自己寫API(外掛)或用Dynamo
那時突然想到 自己曾經學過程式語言啊 或許真的能自己寫出些甚麼?
於是又問了老師 如果我有程式語言基礎 能不能教我寫API或用Dynamo設計新功能
結果老師說他對這些也不是很熟 建議我到相關論壇或FB社團問問
網路上看到只有台大BIM中心有開相關的教育課程 不過半年才開一次 而且不便宜
後來有一天在Revit的線上使用者說明中翻到開發者章節
內容介紹怎麼用C#編寫API 雖然C#不是C++ 但語法很像
所以就去天瓏書局買了幾本C#的書來研究
也開始練習用Visual Studio寫些winforms小程式當練習
但剛開始的一兩個月進度有些緩慢 而且也還沒到能自己弄出個Revit api
(照範本當然還是能弄出個大概 但離目標還很遠)
某次公司通知某天要去另一間事務所參訪 了解一下別人是怎麼建構BIM作業環境
於是和幾位同事到了那間事務所 在會議室裡對方展示了他們自製的外掛程式
那時覺得如果能自己改造手上的軟體工具 那應該會有很大的運用空間
提問的時候 問了對方一個問題:
「請問一下貴公司也有開發景觀設計相關的功能嗎?像是綠覆率檢討 植栽固碳量計算?」
結果對方回答:「那部分沒那麼複雜吧? 找個人用cad圈範圍 加加減減就好
目前我們首要關心的功能不在這邊」
當下覺得 這種東西自己不寫 恐怕也沒有人會願意幫忙寫了
(自己薪水根本請不起軟體工程師...)
那天過後 我花了更多下班時間在研究C#
(去年年底寫了一個運用小程式在公司用 還有一個煩人的winform小遊戲)
Revit API編寫的物件類別架構 函式使用
(今年過完年才寫出了一個簡單的API 能把植栽資料轉存出去)
研究怎麼架構資料庫 如何簡單使用SQL和LINQ與資料庫互動
(因為要建立植栽資料庫做為分析比對時使用)
上個月把一個簡單的喬木分析器做了一個測試版出來
剛好上個月國內有多場BIM相關的會議 研討會 知識社群活動
抽空參加了幾場活動 與會期間和幾位在這領域探索多年的前輩聊了幾句
沒想到意外的收到軟體公司技術經理的訊息 想要跟我聊一聊
聊天的過程中 對方很鼓勵我繼續把手上的程式發展下去
也希望了解一下景觀專業設計者對他們公司軟體不足的地方有哪些建議
還送了一本國內不太容易取得的開發技術手冊給我
也因為這樣的肯定及鼓勵 讓我下定決心要重拾過去一度捨棄的技能
當然荒廢多年 有待學習的東西如小山一座
(C#進階運用 資料結構 設計模式 資料庫概念 演算法 離散數學 SQL Javascript
Python 介面設計 程式專案開發......)
而且理解力和專注力顯然已和高中時期有所落差
不過還是期許自己能開發出一些好用的程式 來幫助景觀設計的流程
另外雖然打算重拾軟體設計技能
並不代表我放棄了空間設計和其他設計領域的探索~
(除了景觀 室內 建築設計 自己也有玩攝影 多媒體剪輯特效 CG 園藝栽培管理....)
未來還是會以景觀設計為本業 其他能力當作附加能力及創造智慧財產收入~
作者: Mariobrother (馬力歐兄弟)   2017-04-22 08:11:00
學長推
作者: outstanding1 (落魄王子)   2017-04-24 13:01:00
push

Links booklink

Contact Us: admin [ a t ] ucptt.com