Sunday, March 01, 2015

政大資科系友專訪--廖峻鋒

學士83級、碩士91級廖峻鋒學長專訪


現職:
國立政治大學資訊科學系-專任助理教授



學歷:
博士,國立台灣大學,資訊工程所 (2011)碩士,國立政治大學,資訊科學所 (2004)學士,國立政治大學,資訊科學系 (1998)











Q1 學長當初畢業時,是怎麼在就業與繼續升學之中做選擇的?

        在過去,我們有兩年多的兵役問題,所以班上同學多數是選擇考研究所或是去當兵、考預官。當時順利考上預官,而且的學校沒有上榜,只好選擇去當兵了。在我讀大學的時候,資科系的陣亡率還蠻高的,大一入學時系上40人左右應屆畢業剩下28個人。大學時花很多時間在社團、女朋友身上,課業大概只有中等的程度。退伍後又了一次研究所但又沒考上,所以就先進入業界。工作一年後,回到政大電算中心任職,最後靠著在業界、計中工作的一些成果和作品,2002成功推甄進政大資科所研究所畢業的成績不錯,因此沒有考慮很久,就直接報考台大博班,直接唸完博士。

Q2對於碩、博士畢業後,相較於大學,這三個階段最大的收穫與差異是什麼?

        個人認為念碩士班的投資報酬率非常高,初次任職的月薪可以增加不少。而且對於許多工作職缺來說,經常也將學歷或工作年資列為應徵門檻,年資可以用時間解決,但學歷就不行了。在碩博士滿街跑的年代,碩士班已經可以說是必備的學歷了士班相較於大學來說是另外一個層級的領域,要試著從學習的被動角色轉為主動研究上的思維。大學是很有系統的傳道授業而研究所是需要自己去研究、學習,在研究所要畢業不是努力唸完幾本書考過考試就可以。所以如果已經習慣應付考試的唸書態度,那進入研究所後就調整一下進入研究所後,首先會需要學習的是去判斷一個概念到底有沒有研究價值例如說我現在做一個軟體系統,然後只說明如何把系統改進得更好,這樣是沒有研究價值的。當初決定研究方向時,花了很長的一段時間和老師討論,多次被老師否決,一直到碩二的寒假才真正的確定研究目標。
        會遇到這個問題最主要的原因在於資訊科學並不像其他的領域,已經建構出一個明確的研究方法,例如:你去研究一個自然現象,然後試著用數學或其他方式釋它,若此一詮通用且合理那就有研究價值。然而,資訊科學領域的所有東西都是人造的,你去研究一個你自己發明的東西再釋它明顯就像是球員兼裁判的情況,這樣不能算是有研究價值這樣的問題即使在唸博士時也困擾了我很久,後來找到一本書解決了我的疑問:The Science of the Artificial」,其作者是一位曾獲諾貝爾獎的知名學者H. Simon,他為資訊科學做了一套完善的研究方法定義。
取得博士學位代表的意義就是有資格在大學裡教書,當然首先本身就要有很深厚的學科基礎。所以博士班畢業需要經過資格考,確定攻讀者對這個領域的基礎學科有很深入的了解,之後在大學授課時才不會誤人子弟。博士班要讀完需要很多堅持和一點運氣,因為讀到一半不得已放棄的人很多,例如:已經到了家庭、經濟壓力、無法突破瓶頸、師生關係等等。

Q3對於踏入職場的學弟妹們有什麼準備方式嗎?

        首先從我的工作經歷說起,當時第一份工作是在一家電信公司,之後轉任到政大的電算中心,而進研究所後我選擇繼續在電算中心兼職。印象最深刻的是,那時候(2003~2008)的校務系統都是由我們建構出來的,之後就由張景堯老師的團隊開發新的系統加以取代當時協助使用WebLogic Clustering技術處理選課系統一直以來的塞車的問題,我一直認為這是很有價值的經驗,因為必須在有限的時間內,背負很大的壓力,想盡辦法找出解決的方式,一般來說工程師的性格和能力在這個過程中會進步很多。
        我覺得工程師最重要的素質是冷靜,遇到問題的時候不夠冷靜往往會讓問題變得更嚴重。就像大家所熟悉在解bug的時候,一定會遇到一種情況歇斯底里,找不到bug就算不斷改程式碼,到最後也不知道自己在改什麼東西。此時反而應該起來走走,寧可睡個覺再起來繼續,這樣過一會就解決了。當我們遇到這種情況多次以後,就會更有自信,知道大部份問題其實只要有信心繼續跟問題纏鬥,一定解得出來,只是時間長短罷了而這也是業界為什麼要求應徵者要有幾年工作經驗的緣故,有沒有跟問題纏鬥的經驗,對一個工程師來說是差很多的。舉個例子來說:那時候因為網際網路剛發展起來的原因,大家都還在摸索中,對於選課系統,我們好不容易找到一個方法解決流量塞車的問題,結果卻反而讓資料庫成為新的瓶頸,這是煙囪效應。所以你就會知道資料庫的管理也很重要、從建立index到設定唯讀的屬性,這些都是我們在處理問題中所新學到的重要經歷。
在職涯的發展過程中,態度 or 人格是遠比能力重要,在IT界若能保持謙虛、積極和抗壓性,應該可以發展得比較順利。

Q4當初怎麼會想要從事教職呢?

會想從事教職是因為可以做自己喜歡的研究與技術,畢竟待在公司的話就一定要跟著公司發展的方向走。相較起來,教職自由度非常高。以下列出幾個在學術界工作的好處:
l   比較有時間學習自已喜歡的技術,決定自己要做什麼
l   比較能只做prototype
l   生活作息時間比較自由
l   環境比較單純
l   經常有機會出國
但也有一些麻煩的地方:
l   要先花4-8年拿到博士學位
l   要有研究的sense
l   要不斷的大量從事英文寫作,不然可能丟掉工作(俗稱X年條款)
l   要有耐心看數學
l   短時間學習吸收大量資訊
l   其實工時不會比業界短
l   有耐心做細節 (Problem Formulation, 實驗)
是否要走這行,還是要靠個人依自己的個性和專長來評估

Q5學長現在也是教授,想要請問學長對於翹課這件事的看法?(當初有翹過課嗎XD)

對於翹課的問題,我覺得大學生都已經滿18歲,只要能為自己負責那就夠了,當你選擇翹課的時候就要敢做敢當,也為自己的成績負責。根據我多年的翹課經驗,翹課會成癮,當第一次翹課,很容易就會有第二次、第三次,到最後乾脆不去上課了。所以我覺得準時上課才是種習慣,翹課所爭取到的時間,和你後來要追回所落下的課業時間,是不比的,很可能你少聽了一堂課卻要花上三四倍的時間都不一定能夠讀的懂。簡言之,翹課不太划算。現在有很多同學沒翹課但上課一直滑手機,這個和翹課其實也差不了多少。

Q6請問學長認爲資科系哪一門課或是老師影響你最深,以及大三大四專題帶給你什麼樣的收獲?

就事後看來,大學時最重要的科目是作業系統和網路概念,若走學術界,則數學,尤其是離散是非常重要。如果要做BigData、電腦視覺或機器學習,機率和統計是必要的基礎。
研究所影響你最深的一定是你的指導老師當你在選擇的時候一定是先看看有興趣的主題,或是處得來的老師。就個人而言,影響最深的當然是指導老師李蔡彥教授,讀碩士時和老師相處的時間比較多,因此除了專業知識外,老師的身教、思維價值觀,學術態度,和學生的相處、引導方式,這些都會影響你一輩子。另外就是系上的陳恭老師,我碩一時擔任他的課程助教,他做學問很嚴謹,也很尊重學生的看法和意見,所做的研究一直都和業界有很緊密的關連,我們長期以來在學術研究上也都不斷有密切的合作,一起發表論文等等。
研究所時修了很多軟體工程或軟體設計的課,對我影響很大。當時也會主動參加資管系老師的讀書會,主動報告,所以實力也在那時進步很多。學弟妹們多方接觸,有時候會有機會找到你真正的興趣,當初一看到物件導向內容就知道,這完全是我可以發揮專長的領域。題外話: 我認為程式語言是值得好好修的一門課,在雲端、巨量資料時代functional programming會是下一波趨勢,而且陳恭老師在這一方面也能提供你們最新的東西身為一個工程師,你可能無法精通每一門語言,但是你必須要有大略且熟悉PL的概念。


Q7
我們有發現學長當初接了三個BBS版的版主,請問學長對於BBS的興衰有沒有什麼想法?

談到當時經營BBS的學生時代,我比較傾向接觸技術面以及程式碼的部分,不像現在ppt版主的那種管理角色。與現在FB不同的地方在於,我們當時的資訊交流都是透過班板,但是近年來,社群媒體的交流轉移至FB不過他有個缺點是,他的動態貼文屬於訊息式的,這對資料的保存與整理非常不容易,原因出在它本身的content organization有非常大的問題,它缺少了BBS全文檢索的功能。但還是不得不誇獎FB是一個標準的雲端產物,它能夠承受大量的動態貼文loading在此我引用分散式設計上很重要CAP原則CAP的意思是: C=Consistency(一致性)A=Availibility(可靠性)P=Partition totlerance(分隔容忍)在分散式系統中,同一時刻只要同時滿足兩者,Facebook選擇犧牲了C(一致性),來保有A(一致性)P(容錯性),因為在Facebook的動態顯示方式裡,缺少一致性導致資料的丟失,使用者不會在意,甚至不會注意到,畢竟我們並不在乎動態貼文在些微時間前後顯示的差異。然而對於BBS的衰退,我認為技術的進步導致舊有的東西被淘汰是必然的,所以身處在社群媒體活絡的現在,我們既然選擇走資訊領域,就應該以創新的角度迎接發展資訊科技新趨勢。

Q8對於學弟妹有沒有什麼建議?

最後,給學弟妹三個建議,第一個是大學時無論你要做什麼,一定要好好把握時間,大學時能做的事不外乎就是人人說的那三項:課業社團愛情。很多同學沉迷線上遊戲是比較可惜,玩遊戲可以抒發壓力固然是好的,但若只能從遊戲中得到成就感,或者是陷於網際網路上的社交活動,但它們畢竟都是假的,很容易迷失自我,與現實社會脫節。愛情方面的話,在大學的時光裡,感情上相處互動的拿捏是非常值得學習的課題與經驗。除此之外,在社團裡也可以學很多,尤其是演說、企劃和領導能力是最重要的。
        第二個是學業上,在我們那個年代甚至只要會一樣技術就可以撐一輩子,然而身處於現在的電腦科學領域,我希望學弟妹可以主動的學習新的技術,尤其是可以多參考業界正在走向什麼趨勢,才不致於大學所學的與職場上所需的發生脫節。我當時畢業剛進入職場的經驗,沒有意識到資料庫的重要性,甚至是連一點概念也沒有,還被交大的學長開玩笑說: 你確定你大學有畢業嗎? 連下SQL都不太會。另一個例子則是:這學期剛好有一位來系上交換兩個月的美國學生,他的學習能力與解決問題的技巧非常得出色,不管是撰寫多種程式碼、組電路都可以在幾天內完成要求。可以想見,國外學生的水準多麼高,值得我們以此激勵自己更加努力。
        因此我期許學弟妹既然選擇電腦科學這個技術變化萬遷且快速發展的領域,那就要讓自己隨時走在學術業界正在發展的趨勢、不斷的吸收新知充實自己。老實說,台灣現在的大環境並不好,但是對學弟妹你們這個世代的學生蠻看好的,希望能夠為台灣帶來一些變化。
最後就是不要太晚結婚,35歲以後體力差很多,照顧小孩真的很累。