加入RUN!PC粉絲團
 
資訊人語 - 我是IT人
分享到Plurk
分享到FaceBook
 
27年堅守技術最前線的R&D老兵-李智樺
一日程序員 終身程序員
文/劉承春 .攝影/張晉瑞

雖然有人認為:程式設計人員不能寫程式寫一輩子。但李智樺卻用實際行動粉碎了這項說法。目前在K2擔任大中華區資深技術顧問的李智樺,雖然早就已經過了一般人所說的「退休年齡」,但他對於IT技術與開發環境發展的最新趨勢,仍舊保持著高度的關注,並且對coding一事樂此不疲。

李智樺認為一個人將來會有怎樣的發展,會走怎樣的發展路線,其實完全是由自己的個性與做事風格決定,而且從一開始就看得出來。



身為全台灣第一個在Apple II時代,就已經使用Assembly撰寫遊戲的程式設計前輩,李智樺27年的IT資歷只能用「傳奇」兩個字形容。經歷過早期Apple、PC XT/AT組合語言、Basic、C、C++語言,到近期的Java Scrip、PHP等,幾乎大大小小,各項新發展出的程式語言開發環境,他都有所涉獵。問目前依然仍在撰寫程式的他,是什麼樣的動力,讓他能27年來長期保有對於coding工作的 熱情,他回答:「理由很簡單,其實不過就是『興趣』兩個字而已。」
IT職涯是由光華商場開始
翻開李智樺豐富的IT職涯資歷,除了於Apple II平台時代寫過設計遊戲的書、開發過遊戲軟體外,早在20餘年前,他就已經有過投入Real-time系統撰寫的經驗;並為洛克希德公司開發過「飛航管制」系統;而在精業時期,則是負責處理有關銀行IT架構的審核,如郵政總局(現為中華郵政公司)於全台各地郵務/儲匯的IT系統就是由他所負責;至於在企龍擔任R&D主管的期間,更曾參與全台第一套股票資訊系統研發工作…等光輝事蹟。但這一切的故事,都可以從他大學時代「光華商場」的往事說起。
「當初一開始,我只是想賣學校物理系、中文系辦公室電腦設備,因此每個星期 都勤跑光華商場,纏著老闆東詢西問,購買主機板及其他相關零組件來拼裝。」大學時代就很有生意頭腦的李智樺說:「後來拼著拼著就玩出了興趣,自已也開始試著摸索撰寫Apple的組合程式,不僅因此得到了學校系所報表程式開發專案的機會,也正好藉由這個契機,加入成為Call Apple Indeep的初始員,認識了不少同樣也喜歡寫程式的同好。而我就在程式開發者同好、自我興趣與專案 收入3方面的互相支持與牽引下,正式投入coding的不歸路。」
人的問題要比程式還複雜
隨著IT環境不斷的變化,李智樺在發展系統時所採用的開發工具,也由最早的組合語言,一路跟著變化成為Basic、C、C++…等語言環境。雖然每一套程式語言都各有其不同的長短處與開發特色,但憑著自我進修的方式,李智樺很快就掌握了其中的精髓。「程式語言其實一點都不難學,只要自己有興趣,再加上那麼一點點邏輯分析能力,很容易就能上手。」李智樺強調:「最難處理的是『人』,寫程式的邏輯是封閉的,有經驗,想通了就很簡單,人的思考邏輯可要比 程式語言難搞太多了。」
曾經在3家公司擔任過R&D主管的李智樺說:「寫程式的人其實很不好帶,每個人都會有自己的一套想法與做法,當彼此有衝突與差異發生時,做主管的只能用『感同身受』的方式,盡量去磨合每個人,尤其是更上頭的老闆與下屬之間的關係。」
他舉自身的經驗為例子,那時某家公司的R&D部門面臨生存危機,在原有的主管離職後,底下20幾個研發工程師分崩離析,個個都準備要「跑路」。當他剛接手時,老闆還跟他說:「看看年底會留下幾個人吧?」結果一年以後,不但原有的員工一個都沒走,部門還因為績效表現優異、工作量激增而需要擴編。「就是要站在下屬的立場想,該說話時要有guts站出來為員工講話,該爭取就要爭取,該擋就要擋。」李智樺肯定地說。
不過李智樺也認為,如果公司能夠形成一套約定俗成的企業文化,那大家無論是在行事、管理及訊息溝通的作風上,就會有一種不言可喻的默契與法則存在,人人做起事來會更順手,而R&D主管只要能提出令人信服的願景,讓底下的員工願意跟隨,有潛力、有能力的人自然就會自己想辦法跳過關卡,達成上面設定的目標,根本就不用為他操心。其餘的就只要扮演好自己本份,依照規章行事,部門就能順利運作。但是由於台灣許多企業R&D部門的規模都不是很大,存在時間也不夠長,很難在短時間內培養出屬於自己一套,受到上下都共同認同的企業文化,因此R&D主管就只能用帶心的方式,和下屬一個一個交流,這個責任太大,要背負的人情包伏太重,管理起來會特別辛苦。
接專案是最好的成長方式
「程式設計師想要成長,最好的方法就是 接專案。」李智樺表示:「程式設計師不能只顧自己coding,必須要走出去,從與客戶簽約開始,先了解客戶的想法,並從頭到尾參與整體專案執行運作的每個階段,每個專案動作都做過一遍,了解到專案到底是怎麼一回事,可能會出現什麼狀況,該怎麼補救善後,資源該怎麼運作…等狀況,這樣自己的能力才有辦法獲得提升。」李智樺鼓勵有志於成為IT顧問的程式設計人員,平日就應積極爭取擔任專案經理的機會,先從小型專案做起,再一步一步開始負責各式的大型專案,累積自己的實力,日後才有可能成為獨當一面的顧問。
而對於台灣的軟體專案開發,李智樺也提出他的看法:「許多軟體開發團隊都缺少一套合適的『方法論』。」李智樺說:「所謂『方法論』並不是出出幾個Papers,在黑板上畫畫流程圖、進度圖、組織表、資源分配圖…就算了。」支持「敏捷開發理論」的他認為,事先的溝通很重要:「你要告訴你的客戶,你提供的資源就是這麼多,你能做到什麼,不能做什麼,從一開始就要講清楚。有了這個共識後,雙方才有可能知道如何合作,專案該要怎麼進行。」
李智樺並強調,當然客戶在專案進行的過程中,可以隨時視其需求調整規格,但相對的,也要讓他知道所要付出的代價─除非客戶額外投入資源,要不然資源只會越來越少,直到完全消耗殆盡。「雖然專案有可能無法完整交付,只有做到一個比例,但最起碼最後的方向與結果會是客戶要的,而不是產出一個完全無法接受的東西。」他說。
To be or Not to be?
「一個人將來會有怎樣的發展,會走怎樣的發展路線,其實完全是由自己的個性與做事風格決定,而且從一開始就看得出來。」目前仍對撰寫程式充滿興趣的李智樺這麼表示。許多人會認為程式設計師的工作總是一成不變,李智樺對此不以為然,曾經負責過金融機構IT系統架構的他表示:「金融業發展的趨勢起伏要過幾年才會有明顯變化,就有人認為它很刺激了。殊不知資訊技術變化的潮流更是快,幾乎時時都有新東西,天天的情況都不一樣,IT人要承受的衝擊更是大。」而隨著資訊技術變化潮流的高低起伏,每個人會因為個性與興趣的不同,再一次選擇自己的定位,跟?還是不跟?這時候很容易就可以知道,自己適不適合繼續再走程式設計師這條路。
「IT的世界充滿誘惑,許多人常常貪圖眼前一時的高薪,或是想像中可能的發展機會,而在不同公司或職務上盲目地跳來跳去。」李智樺說:「其實每個工作內容都差不多,錯過了也沒什麼好可惜的。機會真的多得是。」重點是,李智樺強調,真的要思考的是:自己的個性適不適合?自己到底有沒有興趣?是不是真的自己想要的?
有些人或許會想,我先接下管理職試試看,如果不行再轉回技術職。李智樺鄭重表示,這種想法是行不通的。由於IT技術變化速度太快,一旦脫離技術轉去擔任行政管理工作,李智樺說:「不到一年你就回不來了,而且時間拖越久,越不可能回來,你會一直問自己:『這段時間,我到底少掉了什麼?』不斷地想去回頭彌補,到最後,整個人都會迷失 掉,完全就跟技術脫節。」
「每個IT人都應該有一份生涯規劃藍圖,好好設定自己想要達到的目標,並再依照這個計劃努力去實踐。」李智樺28歲時開始規劃人生方向,計劃在30歲時當到1線經理,33歲成為大型專案計劃經理,35歲能獨當一面,甚至自行創業開公司。「這時我犯了一個錯誤,30歲就出來開公司,太早了。」李智樺說。
「雖然公司有賺錢,可是壓力真的很大,每天看著支票過日子,擔心它會不會兌現。早上都要把今天要做的事情從頭到尾思考一遍後,才有辦法從床上爬起來,內心帶著沈重的心情去上班。」李智樺說,想當管理人,就要有專案從頭苦到尾的覺悟,還遠不如當個程式設計師輕鬆。「程式設計師工作很單純,只要搞定自己就行了,事情做不完,品質不完善,熬夜加班重做都可以;做管理的可不能這樣,而人的事情更是難搞定,兩者之間是差很多的。」李智樺這樣表示。
「落實自己的興趣比較重要。只要你仍有興趣,那程式設計師的生涯依然可以為你帶來許多樂趣。」雖然目前台灣整體經濟環境不佳,外部又有大陸廉價同業競爭,但李智樺建議的程式設計師們:「回頭聽聽內心的聲音,如果你對IT最新的技術仍有熱情,仍會不斷地希望與朋友分享討論,願意繼續跟隨著IT的發展趨勢前進,那你就應該要往程式設計師的方向努力深耕。這樣你才有可能做得長久,到了老年要退休時,也不會覺得人生有所遺憾。」
李智樺小檔案

K2 SourceCode資深顧問
MSDN 特約講師 . Microsoft 2008 MVP
精業電腦銀行事業部資深顧問
企龍資訊研發部經理
四維電腦研發部經理
天剛資訊研發部經理



【原文刊載於RUN!PC雜誌:2008年11月號】