[訊息論壇] ICE Messaging Forum 盧怡鈴
<專訪篇> 正在往 Artist
的路上 ! ─ 艾揚科技金融事業部軟體工程師侯力維
| 『一個軟體工程師功力的深厚,可以分三個階段:工、匠、藝術家』 |
「『一個軟體工程師功力的深厚,可以分三個階段:工、匠、藝術家』,自從我進艾揚,聽到
CTO (編按:即艾揚科技長陳俊霖博士) 這句話後,就以成為一個藝術家來期許自己。」侯力維 (Alex) 這樣說。
Alex 闡釋,軟體工程師初出茅廬第一個階段一定是「工」(Worker)。在這個時期,大多是跟著做、跟著學,除了練功,還是練功,只有一個目的,就是把自己的功力練得最強。
當具備獨力完成一套系統的能力時,就可以升級為「匠」(Craftsman)。此時更需要的是利用經驗所學,創造自己的想法,並付諸實現,把原來的工作可以做到更好。
最後,Programming 最高的境界就是「藝術家」(Artist) 了。在這個階段,工程師累積了相當多的創造力以及經驗,這當中包括失敗與成功,加上不斷的自省與精進,就可以從無到有,創造出更好的產品。
真是沒想到我們熟悉的 CTO,除了喜好攀登百岳、騎腳踏車環島外,在 Programming 與 Programmer
的思考上,還有這番道理,難怪 R&D 以及 Financial Solution Department
的伙伴都被他帶得服服貼貼。
| 『一個軟體工程師功力的深厚,可以分三個階段:工、匠、藝術家』 |
如果說上一期我們採訪的 Thomas 是艾揚 Financial Solution Department (以下簡稱
FSD) 的第一代工程師,那 Alex 就可以說是血統純正的第二代接班人。
艾揚是 Alex 的第一份工作,研究所學的即是 Java 相關的應用,很看好其未來的發展性,認為 Java 是近年來應用範圍最寬廣的語言,是一個可讓
Programmer 不斷學習發展的平台,而金融業的商機比起其他產業相對大很多,因此艾揚結合兩者的優點,不但能讓他繼續鑽研
Java 技術,而且還能與金融產業的應用價值相結合,因此 Alex 帶著興奮與認真的態度加入了艾揚。
由此看來,還是社會新鮮人的 Alex 即相當有主見,屬於認為未來是掌握在自己手上的一代。抱定身為 Programmer,不但重視自己具有的能力,更瞭解自己想要追尋的方向。
| 
|
| 笑談甘苦,自信從容中,Alex
正在往 Software Artist 的目標前進 (本照片經過特殊處理) |
| 早上看文件,下午就加入開發的行列
── iPush® 一天就上手 |
剛開始,Alex 主要負責的,是用 Java 來寫出金融即時商品應用系統。第一天上班,被指派的任務當然是先練好艾揚人的基本功
── 瞭解 iPush® Server。早上看一下文件,瞭解如何利用 iPush®
收送資料。iPush® 在應用上有簡單好用的 API 函式呼叫,所以降低了他的學習曲線;下午
Alex 就可以開始上手協助新系統的開發了。
「這樣的速度可能看在其他軟體工程師眼裡難以置信,但事實上就是如此,iPush®
真的是很好上手的,因為 API 的函式並不多,而且直覺,技術文件也相當完整,當然,還有公司裡面有很多高手可以問。」Alex
看著記者不信任的眼神,補充解釋著。
Alex 接著說:「雖然當時很快就能應用 iPush®,卻沒想到後來花我最多時間的,是在了解那些複雜的金融資訊流通過程,幾乎佔去我一半以上的時間!」
原本以為對金融性產品已經有初步了解的 Alex,有感而發地向記者敘述:「事實上一般投資者所認知的金融即時資訊知識,對於處理後端的資訊流通來說,是起不了太大幫助的,這些資訊流通的詳細流程,一般也只有處理系統的工程師才會想要深入了解。」
Alex 很快就能對 iPush® 上手,一方面是因為產品與「前輩」們,已經準備好充分的
Sample Codes 與技術文件,不過真正的挑戰不是在此。對於剛畢業的 Programmer 來說,學習新語言或許很快,但是要瞭解一個產業的內部作業流程,然後再將實際的處理程序轉化為應用軟體,「Domain
Know-how 的難度比起單純的 Programming,真是要難上許多。」
Alex 深深地嘆了口氣,接著告訴我們,這樣的感覺一直都有,但是上次在金融教育訓練課程中擔任講師,卻讓他感觸特別深。看著許多金融龍頭企業都派出學員來上課,來瞭解
iPush® 的技術內容、來學 xQuote、iReal®,突然感受到艾揚的責任與使命感。
來上課的學員可能會覺得舉辦教育訓練,是艾揚推廣 iPush® 的一種方式,但對於台上的講師而言,則是增加了一種使命感,一種當程式修寫不耐煩,丟了滑鼠往外跑,能夠冷靜一下,再回來繼續與程式奮戰的動力。
Alex 認為做為一位專業的程式設計人員,職涯能夠在艾揚開始是幸運的,因為老闆給予充分的尊重與彈性。
談到工作歷程中,心態上的轉變有哪些?
Alex 表示重要的是如何做好程式編寫的規劃,如何寫出彈性的系統架構。另外,對於產業的瞭解逐漸加深,工作倦怠症也一定會產生,最辛苦的應該是,同樣一個東西,客戶
A 跟客戶 B 卻要求不同的設計重點,這樣子維護程式的工作會讓工程師覺得無趣 。工作之外的調適,學習如何放鬆因人而異,有人選擇到處旅遊,有人選擇瘋狂熱愛某種產品或運動。
從零開始,很難。FSD 的工作性質以專案為主,第一個專案開始當然是零,但是現在的艾揚 FSD 是從一百到兩百的階段,追求更好用,更符合顧客需要的,其實很累。
除了開發製作,專案結束後,更重要的是維護工作。一般說來,金融即時資訊系統上線後,專案的維護時間會拉得很長,不斷的發現問題、解決問題,是維護工作
的主要內容。這樣雖然比較無趣,但卻是產品與服務能夠讓客戶滿意的關鍵。
「最挫折的,大概是在於要如何才能確實理解客戶的需求。有時候不免懷疑自己的耳朵是不是有問題,怎麼
問題的描述,一次一次的形容都不大一樣!」Alex 又好笑又好氣的搖著頭說著。
他接著又說:「剛開始因為這樣的現象,讓我體會到做工的辛苦,就像個聽話的工人,要你把東西搬來這,就搬到這,明天覺得礙眼,又要你搬回去,後來才知道,應該在一開始寫程式的時候,就要思考怎麼寫出彈性大的系統,顧客一旦改變需求,就可以立刻兜出他要的東西,這才是好的
Program!」
對 Alex 而言,客戶要求的東西,必須盡可能要做到,因為
Programmer 並不直接接觸客戶,但是專案經理、產品經理、與 Sales 帶回來的,卻是客戶最直接的反應,因此必須充分地根據所獲得的資料,準確地往客戶要求的方向修改。
面對每天鬆緊交替的 Programming 工作,Alex 選擇練習氣功來調整身體以及心情,他告訴我們:「剛開始學氣功,是因為家人的關係。後來因為上班的壓力大,辦公室坐久了少運動
,所以想要嘗試一下。後來發現氣功的運動效果,比一般跑步還要大上兩三倍。現在身體的、心理的壓力,都能夠自我調適了。」
想起一開始,Alex 告訴我們關於軟體藝術家的故事,問他自己認為正在哪一個階段呢?
對 Alex 來說,步出校園之後踏入艾揚,或許是受到 Java 應用與專業程式開發執掌所吸引,學習 iPush®
上手也相當迅速,但是當他開始發現自己身陷於「做工」的階段,確實也 曾經苦惱於工作的枯燥與機械性。隨著
Domain Know-how 的增長,Alex 越來越深刻體驗到 CTO 所謂的「做工」 、「做匠」,一直到做「藝術家」。
面對不容許斷線的金融即時資訊系統開發,Alex 笑稱現在當然還是有部分「做工」的成分在,這是 Programmer
這一行存在的必要之惡。但是已經體認到該設身處地從客戶的角度思考,設計規劃出客戶心目中的應用架構。
問他是不是已經成「匠」出師了呢? Alex 靦靦的說:「還談不上真正的出師啦。不過已經可以享受到在一行行的程式當中,將抽象的概念雕琢成真正可執行運作的樂趣了!」
從散發的自信從容中,我們不難看出 Alex 正在往 Artist 的目標前進!
編註:Alex 提到的軟體工程師三個階段:工、匠、藝術家,其原始資料出自艾揚科技長陳俊霖博士的一場演講,您可下載講義參考:Developing
ICE (Being ICE CTO) (PDF 格式;132 KB)
|