04 February 2006

我出生於民國 6X 年,大學/碩士讀的都是化工系,那段期間程式寫來寫去都是 Fortran,加加起來總行數大概不超過 1000 行吧。當完兵之後,腦袋已經呈現真空的狀態了,渾渾噩噩不知要往哪裡去。經朋友之邀,跑到很多化工系都會去試試的竹科電子新貴,就是那種苦哈哈的製程工程師。這個第一份工作做的... 呃,老實講也不會真的很累啦,我待的那家公司沒有什麼太多加班,假日 on-call 這種事,還蠻輕鬆的。為什麼輕鬆呢?很簡單,因為公司沒有股票...... 所以我的確是很新,但是卻一點也不貴。也因為有這樣環境,再做了一年多之後,受到某個謎樣催化劑的影響,開始利用下班放假時間,跑到恆x 那裡去補習 SCJP。

這個 SCJP 算是給自己的一個試鍊吧,畢竟我只寫過 Fortran、算算一些方程式而已。如果能考到 SCJP,那麼自己也許可以勝任所謂資訊業的工作,如果連 SCJP 都考不到,那麼就終老在新竹,做那電子窮光蛋。那時候我讀的第一本 java 書是 Thinking in Java 中文版,花了很長的時間,才勉強看到了一半..搞的我頭昏眼花 (後來我才知這一本是中階以上在看的,不過那也是很久以後的事情了)。折騰了半年,最後終於考到 SCJP 1.4 了。這時我想可以放手進行下一計畫。看著 Sun 的教育證照路線,思索著 SCJP 後面的道路:往 SCWCD 或是 SCJD 前進,然後再往上走就是 J2EE/EJB 之類的東西。網路上東翻西翻地,發現某資x會正在開 J2EE 假日精修班。就是假日上整天,然後包含 SCWCD/oracle SQL/EJB...etc 的課程。喔喔喔,這真是為我量身打造的課程啊,都是我很嚮往、高級的技術,學了這些後,進資訊業一定很穩的啦。

這個課程還蠻長的,大概四、五個月吧。但是內容都是純聽課,沒有實做... 跟那種上一整個半年,然後最後會實做一個專案的課程差很多... 不過我那時也沒去想這課程到底實不實用,純聽課我也聽得津津有味的。待上完 SCWCD和 SQL 這種"高級" 技術時,手真的很癢,一直很想試試身手。就想如果沒有專案可以練習,那乾脆自己生專案出來。我歪腦筋便動到正職的工作上 -- 製程工程師每天就是要做一堆數據分析,然後交差比對、增進效能及 cost down。接著開始日夜思索,怎麼樣在網頁上下查詢條件,然後組成 SQL,最後再直接輸出成統計圖形。就這樣獨自寫了二個月,總算是拼出可以用的東西了,不僅可以下十來個條件查詢,輸出時還直接用 JFreeChart 自動畫圖,喔喔喔,那時真是超得意地。

接下來連最後的課程 EJB 也上完了,腦中充滿著 EJB 美好的遠景 -- 讓 container 處理複雜的功能,developer 只要專注在企業邏輯上就好,而且 EJB 又是 reusable component,可以大大減少了開發成本、人力 -- 那時我這麼深信著... 。這個 Java 最強的技術我怎麼可以錯過不試試看呢?於是我又挑了個正職上可以動刀的地方 -- parse 檢驗機台輸出的檔案,然後重組整理資料,最後以圖形方式呈現晶圓的缺陷。現在想想這個需求跟 EJB 一點關係也沒有,那時我也不懂,只是想用那偉大的 EJB 而已。之後便開始自學 JBoss、然後為了 用 Lamboz 從Netbeans 轉到 Eclipse 去。EJB 很複雜所以用 xdoclet 來幫忙,又聽說 Tapestry 比 Struts 漂亮很多,所以 Struts 也不學了,拿 Tapestry 當我的第一個 web framework,反正拿 "最高級" 的技術,然後通通都用在這個程式上就對了。經過三個月的血與淚,總算是完成了。嘿!成果還真的不錯,用過的人都滿意的啦 (其實只有同部門的工程師在用而已,不到十個人...)。而且還是用 "高級" 的技術做出來的喔!我的鼻子頓時又高了不少。現在想想那時還真是天真哩。是的,用到的技術很新很辣,但是以維護的角度來看,根本是個惡夢,一個工程上的失敗品。

原本我只是用下班時間來寫程式而已,到後來大大方方的 "不務正業",直接用上班時間來寫程式,那製程工程師的例行工作反而做的少了,好在我寫的程式對公司來講還算用的著,主管們也就睜一隻眼閉一隻眼的算了。後來在離開公司前,又寫了一個程式,用的是 Swing + web start + remote EJB,將上一個程式所收集到的晶圓缺陷資料,以 3d 圖形的方式呈現。做到了這個地步,我想總該夠格進入資訊業了吧。而且身為一個製程工程師,卻整天在寫程式,這像話嗎?每週報告進度的時候,我拿不出什麼東西來,只能拿那一堆程式充數,主管們雖然容忍,但我自個兒可不好意思再幹下去了。不過我並沒有馬上就轉行,說真的轉行的壓力真的很大... 一來人真的有墮性的,在一家公司待了二年半,忽然要重新適應新環境,心中就是有股莫名的抗力... 想想幹嘛把自己搞的這麼累呢?而且轉行後,我的所有資歷,學歷全都歸零了,在新竹這家公司雖然沒有股票,月薪還是不錯的。一到了資訊業,最多能把我當大專的學歷來看就很偷笑了,真不知薪水會變得多低... 所以我就一直拖著,直到過了三、四個月後...

我在 javaworld 上閒晃,看到有學術單位在徵人,尋問之下,資歷學歷都照算 ! 而且另一方面來看,先到學術單位做做,累積些資訊這一行經驗,再到業界去的話,會穩很多。我的疑慮盡解,就這樣開始了人生的第一份資訊工作....

這個單位裡,我剛進去的時候,大家都是 java 新人,而且連個科班出身的都沒有,幾乎都是資x會補習出身的。而且第一個專案才起頭沒多久而已,使用的是 Struts 和 Hibernate... 這些大家都不熟,只好各憑本事横衝直撞。一路下來到現在也快兩年囉,中間過程就是在 Hibernate/Unit Test/Training/Spring/Wicket/Pair Programming 間不斷地打滾。詳細就不寫了,因為從那時起我也開始寫 blog,一直都有記錄下來。

未來的資訊路呢?說真的,騰不出空去想未來的事情... 後面還有兩三個專案排在那裡、還要將舊系統翻新、XP 我們還剩 User Story 和 Acceptance Test 還沒實行、AJAX 和 Ruby on Rails 紅到沒力,很想來玩玩看。我寫程式算一算只有三年,還嫩的很,也因為如此,我想我正處於所謂的蜜月期,什麼新技術都想來試試看。但不知過了三、四年後,還會不會有這般的熱情?未來之路茫茫然然......

哈,這一篇本來只是要寫 blog 的自我介紹而已,沒想到一寫就寫了一大堆以前的事情,只好把這篇升級,變成 blog 正文了。