免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
返回列表 發帖

機車修理員變程式設計師》陳威亨

《30》雜誌 2016年9月號 第145期 │ 2016-8-30  高嘉鎂/作者

■陳威亨小檔案
1979 年生,曾是機車修理師傅、工廠作業員,現任普奇科技開發總監





黑手,Debug自己的人生

非專業學程式設計有多難?當大部分人被困在coding 的絕望沙漠時,這個人在迷宮裡找到關鍵解方,debug自己的人生。

36 歲的工程師陳威亨(Jumper),有一個自26歲開始從未間斷的習慣:6公里慢跑,邊跑還要邊聽英文。

週末假日的清晨,空氣裡還有露水的氣味。換上運動服的Jumper笑起來,靦腆中帶有一絲調皮。簡單暖身過後,他要在200公尺操場跑30圈。汗水配著耳邊不斷重複播放的同一則英文錄音檔,在冬天冷冽或夏天慢火燉的馬路上,持續地跑過10年寒暑。

沒有人喜歡跑步,也沒有人喜歡不斷聽同一則錄音,尤其是冬天的早晨,溫暖被窩和刺骨寒風逼迫人做出選擇,不想跑的理由有一卡車多,繼續跑的理由很少。但Jumper是一個會把「很少的理由」珍惜地不斷打磨,一找到機會,就勤快而周到地,磨亮這樣難能可貴的持之以恆。

這是Jumper給自己的鍛鍊。體能上,他每週鍛鍊自己跑步,和肌肉的痠楚相處。精神上,他每日鍛鍊自己和bug周旋,緊咬不放再各個擊破。

Jumper是個程式設計師,但他高中時卻是個愛蹺課、對讀書毫無興趣的「壞學生」。因為喜歡騎機車,於是去車行當2年黑手。當兵後轉行光碟廠的作業員,半工半讀二專夜間部,值大夜班,白天回家睡覺。月領1萬8500元,加班最多到4萬元,卻只有月休3天;4年下來,錢沒存多少,卻把身體搞壞了。

他考慮轉職,發現沒學歷也沒專業。在哥哥提議下,決定報名資策會Java程式語言課程,學成還會協助媒合工作;雖然學費10萬,當作轉職跳板卻很合適。對當時的Jumper來說,他沒有選擇,這是最後一條路,只好拚命賭一把,進入程式設計的世界。

180度的人生大轉彎,他10年下來樂此不疲,更從組長一路升到Director。問他轉業程式設計師感覺如何?他開玩笑直說:「轉資訊業超好,修機車不能吹冷氣,現在還可以玩電腦、坐著上班,超好。」這麼說的背後,你不知道他是花多少心力才能學會程式?從一開始只會開機的生手,鑽研Java程式語言,成為能獨當一面的程式設計者。另外他還攻克自己的最大障礙:英文。

讀參考書時連「This is a book」都拼不出來,查目錄就花老半天;電腦灌英文版,壓根找不到「我的電腦」在哪。讓人意想不到的是,Jumper在2010年被外派美國,從看不懂菜單的「文盲」變成能自己搭飛機、租還車,還能跟櫃台瞎聊幾句,彷彿有神人級適應力,他直呼「就像做夢一樣」。

從黑手到程式設計,Jumper把自己人生過得超乎想像。他所任職的「普奇科技」,是間充滿技術強者的公司。曾擔任柯文哲競選團隊網路部工程師、被稱為民間開發高手的「Tony Q」王景弘,過去也在普奇和Jumper一起工作過。而公司主力產品、開放源碼Ajax開發框架「ZK」,從2005年開始研發至今,已有多家財星500大企業採用,而有這樣的發展,他自己也始料未及。

對什麼事情都相當有自己一套堅持的Jumper,在寫程式都變成小學生必修的時代,可真賭對了。他說:「人生就是一場賭注,但是第一腳都沒有跨出去,怎麼知道輸贏多少?」

Jumper告訴我們一件事情,為什麼他雖非專業出身,卻能夠勝任程式設計,並且樂此不疲?

二分法的真諦

找問題不外乎二分法,當你有左右兩條路選擇時,要先走左還是先走右?很多人往左走到一半,猶豫間,又跑到右走一走。結果兩邊都沒走完就放棄了,什麼都沒玩到、什麼也沒看到。

Jumper說,不管選哪邊,他一定會一條路走到底。儘管披荊斬棘、充滿爛bug,還是耐著性子將麻煩一個個解開,找到癥結點。因此他一賭Java,事就成了,世界瞬間變得廣闊起來。

為什麼選擇Java語言?其實Java已成為程式設計最重要的程式語言之一。各大企業內部資訊系統開發、Android平台應用程式在3C產品執行、雲端運算平台,都會需要Java。

目前各大企業的資訊環境,雖然大多以微軟Windows Server為平台,但卻漸漸有走向手機、雲端的趨勢。Jumper以他在業界觀察,未來10年,擁有使用Java能力的程式開發人才,將成為熱門職缺。

Jumper參加的課程是半年密集的就業養成班,一到五從早到晚都要上課。學習包括系統管理、網頁開發、資料庫設計等跨領域的技術,以及行動應用與雲端運算平台的掌握能力,從基本功開始打底。

而同學來自各個領域,大家都是抱持著一樣的學習心態,肯學習、肯問就會有老師幫忙。讓非本科出身的學生也能順利學習,減輕第一次接觸寫程式的壓力。隨著課程密集的訓練,會慢慢了解物件的概念、學習MVC設計模式,最後期末專題便是從這一系列的理論課程,實作驗證自己的能力。

Jumper說,如果只是想學程式語言結合自己原有專業,可考慮短期(6週~8週)或假日課程學習。自學的門檻較高,但還是可以邊學邊做範例來練習。

其實Java只是一種選擇,而一個好的軟體工程師,不應該局限於程式語言,而是哪種程式語言能快速解決目前的問題,那就應該考慮進來使用。

Jumper之所以能成為高手,上課只是提供入場券,他強就強在他的自學能力。不管是資料分析應用、開發網頁程式的Python、開發iOS的Swift語言、開發Android手機的程式語言,他都曾自學或開發過。

賭了,就做到底。堅持追根究柢的精神,讓Jumper完全克服非專業的問題,反而讓命運翻身。

什麼叫做「正循環」?

在提倡人人學程式的現在,非專業科系學寫程式真的容易嗎?

要成為專業的程式設計師,不被困在學習的絕望沙洲,關鍵就在「知識廣度」。而Jumper有個特異功能,就是能夠命中問題核心。

在當車行學徒時,從最基本的洗車、換機油、認識機車構造、使用維修工具做起,因為車種設計總有缺陷,各家廠牌不同,因此有經驗的師傅經常是一眼就猜出問題點,沒經驗的學徒就得要邊修邊找工具箱,從頭檢查還未必找得到故障原因。做到後來,他自己也能從廠牌判斷問題出在哪裡。

基本功最重要。從非專業跨入程式設計領域,正因為出身不比專業,他每天閱讀外文資訊;剛入行時,PM開規格要求一週完成的工作,他兩天半就做完。

為了解決未來的問題,就必須看更多資料。在知識庫足夠龐大的情況下,debug就沒有必要在迷宮般的程式裡,看完每扇門才知道怎麼走,而是透過周遭環境就可以直接找到出口。

程式設計師還得要時時進修,因為技術每5年就翻盤一次。他觀察到公司用人力測試產品,老是出小差錯,為了解決麻煩,他提議引進自動化測試系統,將需要重複作業的工作都自動化。用機器人排除routine工作,人要做真正的思考者,而不是以往企業裡99個人動腦,1000個人執行。

Jumper正是這樣樂於思考的人。他是個thinker。或許因為擁有思考關鍵問題的能力,讓他得以在任何狀況下堅持到底。這種堅持,可是讓技術強者公司不斷前進的動力。

從黑手到作業員,再到工程師,轉行的動力跟自我成長有關。不過,也許真正的動力,來自他靠著轉行賺來的錢,為太太、5歲女兒買的市區小窩,而他可以每天回家看著女兒,看看陽台上的花花草草,當個綠手指,這樣生活的景象,時刻吸引著Jumper,不停「Jump、Jump」吧!

職場,對許多人來說似乎是消磨意志的所在,但為什麼Jumper如此堅持?興趣使然?「我不認為興趣是選擇工作的方向,從工作找興趣,才做得長久。」

返回列表