2014年6月14日 星期六

陳柏琳(台大資訊所博士2001畢,師大資工系教授)

訪談對象:陳柏琳 教授
訪問人員:B01902040 鍾毓安   B01902086 胡子皓
訪談時間:2014 / 5 / 13 (TUE)

1.請問學長在高中階段就有寫程式的經驗嗎?

    我在考上高中的時候,就跟父母說想要買一台電腦,那時螢幕還是綠色的(笑) 當時有自學幾個簡單的程式設計,像是九九乘法、算質數...whatever這些簡單的小程式,另外在高中工藝課都有一些關於資訊的課程,家裡有電腦的人在學習上當然就比較方便。我是一路寫程
式,像是教授升等各階段的一些作品,程式都還是我自己寫的,但是當了教授之後,為了讓自己的研究廣一點、還有年紀的關係,程式就比較少自己寫,電腦也真的不再那麼常用,尤其是眼睛的關係,真的不是像年輕時那樣了(教授對於身體的經驗談)。同時寫程式或是一些
程式技巧,真的也不再是我唯一的學習、工作目標。不過我真的發現寫程式的樂趣大概是在研究所吧,因為以前寫程式大概都是為了要交作業,到研究所才開始會寫一些比較大型的程式,也覺得比較有趣。

2.當初寫程式的時候會有熬夜的習慣嗎?

    這...這一定,當然會熬夜啊!這裡分享一個觀念,就是說考試好比是短跑,目標都是一樣的,大家都在追求一個標準答案,比誰的速度快、技巧好;但我們做研究,需要的是創新,每次寫程式都很像是在try and error,時間也都是很久的,這部分跟以往就比較不一樣。寫
程式也像開車,大家都會開,開到哪裡才是重點。我回首我這一二十年寫程式的經驗,基本功真的很重要,大學時代學的資料結構、演算法或是軟體工程,這種訓練是非常重要的,但是當你要將這些技術放到研究上,就需要一些程式技巧以外的創新或觀念,才能有比較大的
突破。

3.老師有沒有建議說我們大學就要具備的能力?我們現在可以為以後做出的準備?

    大學基本上就是原本傳統資工的能力,程式語言、軟硬體架構,還有一些數理統計。再來就是廣泛的閱讀科技文章,你必須要能夠知道某種領域、研究的潮流、趨勢。有歷史觀也不錯,每一種研究有他的來龍去脈,像是類神經網絡Deep Neural Network(老師是研究語音辨
識),也許你會看到2005 以後的演進,那過去的60 年,1940s 剛開始到2005 這段時間他的演進是怎樣。他為什麼會被擺在一邊,可能有一些機運或是時空環境造成的,可以讓你在看待一個科技的時候有比較全面的觀點。    
    那再來就是比較好的態度,態度決定高度,包容心也滿重要的。科技有很多種,光講sort,你有最土的Bubble Sort,有最好的Quick Sort、Merge Sort 等等,像是Search 也有BFS、DFS,或是A*。每一種科技都有他的長處與短處,你有一些廣泛的知識與包容性,你在面對不同問題、要求的時候,比較容易選到適當的技術。例如說你要研究擲骰子的問題,需要用到Deep Learning 嗎?如果你心目中只有Deep Learning,那真的可能會殺雞用牛刀。
    那你在處理比較複雜的問題,像是語音辨識或是語言理解,那你用擲骰子的簡單的模型,來處理比較複雜的問題也是不對的。所以學習應該是來者不拒,不管遇到什麼東西,應該都會有學習上的收穫。最重要的是要產生一種共通性,是不是所有的參數,表面看起來各不相同,但其實都是一樣的?背後的原理都是一樣的?
    另外就是,所謂的吃到飽,各位現在最喜歡的就是吃到飽,大學修課的時候也是應該是這樣子。大學學分費沒有一科一科算,研究所才有,大學其實學分的費用是統包的,就像吃到飽一樣,你的門票是多少,進去裡面隨便吃。我是建議大學的時候,各位可以多修一點課,不要太多bias。其實台大跟很多業界都有合作,像是北京微軟近期有一些合作,你們可以透過一些修課,接觸不同的老師,知道系上跟外面合作的機會、業界的趨勢,對大學生比較好。不要一直想我會什麼,要多想想我不會什麼。有時候反過來想,也會有一些不同的學習效果。

4.其他的經驗談

    我們來說說台灣的產業、或是一些我們的研究,其實…就像現在做車子一樣,大家好像都認為說,你要做賓利,做保時捷,或是BMW才是真的在做車子。那你如果跟同學講說,你現在在研究腳踏車,同學可能會認為說,你現在在幹嘛,那是從三國時代就有的東西,還研究幹嘛?但是你現在會發現,賺錢最多的是做腳踏車的,捷安特,他的毛利是最大的。因為他做的是一個質感,他一直堅持做下去,你反而發覺,做汽車的,台灣沒有汽車工業。因為有些問題我也是自己在思索,做研究的有個好處,你因為看過很多東西,你會更謙卑,你會去欣賞各式各樣的知識。其實每一種知識都是有他的美妙,但是相對的也有他的缺點。那這些知識或是技術是不是可以互補,那我覺得也會有些研究的議題出現。
    然後例如說iPhone,去年是iPhone 5s,那今年宏達電有M8,Samsung 有S5,所以iPhone 就有iPhone 6。所以研究或科技來說,進步就是由競爭造成的。大家不斷的去競爭,指出對方的缺點,或者去擷取對方的優點,找出更好的solution。所以資訊業也是一個滿辛苦的過程,你不斷的超越別人,被別人超越,那這樣的輪迴不斷的在走。好像沒有其他的科學會是這樣子的辛苦。


蘇晏良(映雲科技股份有限公司負責人)

訪問對象:蘇晏良學長
訪問時間:2014530
訪問人員:陳雲濤(b98601034) 李文豪(b00902043)
背景:映雲科技股份有限公司負責人
fandora3.jpgfandora2.jpg
1.      可以簡單介紹一下您現在的工作內容嗎?
作為創辦人之一,已經跟一開始的工作不太一樣,實際寫程式的部分相較於公司草創時期大為減少,目前扮演CEO的角色大部分的時間是花在調度各種資源,從人才、資本、到客戶市場都必須參與了解。
2.      你覺得學生階段最重要的事是什麼,或是必須學到的事?
在學生階段,我認為重要的是要學會無論如何 ”get things done”,具體一點的說,就是你有沒有辦法快速地學會一項新東西,然後用來解決問題。例如在學校,你必須在一個學期的時間熟悉一門技術、一種語言、或是新的知識,因此培養在短時間運用所學的,來達到上司(教授)的要求就是一項務必學會的工作,無論作品是否達到盡善盡美的地步,重要的是過程,像我自己也是寫出過很多不達標準的東西,但能有成品出來是最基本的要求。除此之外,有很多東西不是瞬間一下子就能有的,像經驗,所以要在多次的project中累積,分工、寫程式、思考模式都是可以訓練的,當你熟悉基本的流程架構後,打通關節一法通萬法通,對於新知識就能應付得更得心應手。
3.      對於就業或創業,你有甚麼建議嗎?
我會認為在創業之前,應該要先有就業的經驗,雖然我個人是在研究所一畢業之後就馬上創業,但是先有就業的過程,能讓你更熟悉一間公司的運作流程、分工合作等等,之後確定要自行創業,才能讓事情更快上軌道。此外,我覺得在學生時期,最好要有實習的經驗,才能縮短跟真正就業市場的落差,了解外面的公司要的是什麼。
4.      在學校所學,和職場上實際所應用的有很大的差距嗎,會因此產生問題嗎?
在學校學的都是比較基本的知識,但是真正進入職場後,會發現現在的科技真的是日新月異,如果單靠學校所教的絕對無法應付這麼競爭的環境,像我自己在碩士班學的東西,在一開始出來的時候還稍微有用處,到現在也是幾乎都沒什麼用到了阿。以前還要學在server裝linux、設定ethernet、設定switch,現在也都不用了。以前一開始的時候很多中小企業不太敢用雲端,大部分都是自架server,但是現在很多企業都放棄自己蓋機房,你會設定linux、switch都沒什麼用,很多東西虛擬化,都交給雲端的server來處理,很多太基礎的都沒有那麼大的需求了。
可是不是說學校教的就不重要,之後的東西也還是那些基礎的延伸,只是說有一些東西已經不符合時代的需求,除了學生本身外,學校也應該順應潮流。學術方面跟實際應用是有落差,但是基本的概念還是都通用的。所以不同的課還是能夠盡量得多去學,能夠幫助你系統性的思考、做事情的方法,能夠寫進課本裡的一定有他的重要性存在。還是學生的時候就必須隨時跟進時事跟著社會的趨勢,畢業之後更要敏銳察覺社會的需要,才能抓住機會。
5.      公司創立初期的分工以及遇到的問題
初期公司的規模很小,只大致分成寫程式跟行銷兩部分,而我是負責coding的部分,問題沒有那麼多。隨著規模越來越大,人越來越多,其實歸根究柢,所有的問題都是因為人,不同領域的人才、不同生活背景的人,處理事情起來彼此間難免會有摩擦,所以溝通就是很重要的一環,可是有時候一忙起來又沒有那麼多時間做溝通,這時候就要透過共同訂立的機制,解決爭議、責任歸屬等等,做生意一分一秒都是機會,沒有那麼多時間可以浪費在無謂的爭端上面,你一停下腳步,後面的人就追上來了,你離前面的人又更遠一點了,所以建立一套有效率的溝通機制就很重要了。
6.      對於近幾年網路產業變遷趨勢觀察你認為對於一個產品什麼是最重要的?
現在的世代,隨時隨地上網已經變成一般人生活的一部份,個人的生活與網路連結在一起,打卡、互加好友、網路遊戲,所以仔細觀察周遭的生活,去發掘還有哪些東西是還不夠網路化的,也許那就是商機。其實學生是一塊充滿商機的大餅,尤其是大學生,像Facebook一開始也是以大學生為取向,從大學生開始推廣,在到整個學生族群,最後就可以讓更多的人接受。
7.      有甚麼話想對學弟妹說的?


fandora1.jpg努力coding與唸書之餘,要多交朋友培養社交能力,不要只侷限在系上,在通識課程中,社團中或活動中,與各式各樣的同學們一起合作的過程裡,可以精進溝通表達能力,將來在公司工作也會接觸到個部門不同專業領域的同事們,常常會需要在短時間內,跟不懂資訊領域的人或投資人解釋技術方面的東西,此時擁有良好的溝通表達能力會讓你得心應手,此外在學校中建立廣大的人脈,各領域的好朋友們,對於一件事情或一個產品的眼光與看法,都可幫助我們看到許多我們自己看不到的面向,未來在工作或創業過程中,都會是相互扶持的助力。

2014年6月11日 星期三

徐讚昇(中央研究院研究員)

訪問對象 : 徐讚昇研究員
訪問時間 : 2014/0512/1400
訪問人員 : B99902030 黃柏勳、B99902094 顏伯翰
-------------------------------------------
您在就讀台大資工系前就會寫程式了嗎?
  以前是不用問這個問題的,因為我們以前沒有電腦,高中以前沒有課、也沒有電腦。我是資訊系的第五屆,我是進學校之後,才知道有電腦這個東西。其實我在選志願的時候,資訊這二個字什麼意涵是不太清楚的。我們那個時候有資訊月,現在還有。我記得那時候我進去時是第二屆,當時像我父母就會問:「資訊是什麼東西。」我的老師也有這個問題,他們不曉得資訊是什麼,他們只知道,分數很高。
(那為什麼那時候分數很高?如果大家都不知道?)
  可能是因為年輕時比較容易被外界的宣傳影響吧!很多狀況下都是這樣子的,資訊當時就是因為大家忽然覺得電腦很神奇。那時候資訊月前幾屆的時候,是很轟動的事情。當時在世貿展覽館,還是舊的世貿展覽館,大家都進去看什麼叫「電腦」。因為那時沒有一個人有電腦,其實沒有一個大學以下的學校有電腦,有電腦的大學也沒有幾家。我們那時候的電腦就是你們在計概裡面講到的那個大型的電腦,目前看起來功能很少,可是人們對它的憧憬有點像科幻小說,將來的世界會被它主宰。覺得工作很看好,所以就會填這個。人生很多就是像這樣子,因為誤解而認識,然後希望不要了解太多而分手(笑)。所以我上大學之前不會寫程式,我的同學也沒有人會,我可以保證。

以前寫程式的環境?
  寫程式喔,哇以前可憐,我上課有講過,你們有看過那個劃志願的卡片嘛,以前程式是打在那個卡片上面的。
(老師拿來一張以前的卡片)
  正好,可以讓你們知道以前寫程式有多難。這是一行,一行有80個,你的終端機上打一行就是用一張卡片,那你的程式就這樣打上去。比如說打A,你們還記得有一個EBCDIC的encoding,它就把那相對的幾格畫刮掉,然後卡片上緣就會寫個A。
(他會自動幫你打嗎?)
  有一個叫打孔機,打孔機大小有點像現在的洗衣機那麼大,你就把卡片插進去,它前面有個鍵盤。當你按一個A,他就ㄅㄧㄤˋㄅㄧㄤˋㄅㄧㄤˋㄅㄧㄤˋ把A對應的那幾格挖掉,然後就在上面打個A這個小字出來。比如說你寫了一百行的程式,就有一百張卡片。
(所以如果跑完有BUG就要重新...)
唉...對。
 (那時候有Debuger之類的嗎?)
  沒有Debuger,就是一進去之後,它就會跟你講,compiler error第三行什麼什麼這樣。如果runtime error或是邏輯有錯,你就是要一直一大堆print來找。你知道嗎,如果是一百行就有一百張,有點像讀卡機這樣ㄆㄧㄝㄝㄝㄝㄝ讀進去,一天定時出幾次報表。他是batch processing,幾個小時才做一次。它讀的時候是讀到tape裡面,如果每四個小時做一次,所以你要每四個小時才有一份報表出來跟你講,你可能是少打一個分號。這個打卡機很貴,IBM有專利,台大當時好像有十台左右。一直到我大三的時候才有終端機可以給學生使用,而且還不是windows,只是文字介面的終端機。我大一進去就是這個,打二年。我們那時候大家都問:你今天寫10公分的程式還是12公分的程式。卡片還蠻貴的,這個有專利,打錯就沒了。我記得當時好像是二千張賣20塊台幣的樣子(但不太確定)。當時如果在女九吃中餐,吃20塊是很奢侈的。
(所以這些都你們自己買的嗎?)
對,系上沒有提供,報表紙也要自己買。
(這樣子可以某些function先打好,以後再拿出來重覆使用?)
  當然是可以。可是當時的程式......我們學很多種語言的程式,所以reusable的程度沒有這麼高,當時程式語言也沒有現在這麼好。這個(卡片)是很寶貴的,如果老師狠一點,你可能這學期就要少吃好幾頓飯。這個東西,如果疊這麼厚,那經常晚上要先去排打卡機,因為只有幾臺,每個人都虎視眈眈哪一臺打卡機沒有人用。晚上就是大家都是打打打打打,就是要趕早上最早的那一班。我以前有個學長,我親眼看到,他是大三要做一個大作業,我們比較好,大三已經有終端機了,他們那時候大三還沒有終端機,他就拿這麼高一疊卡片匆匆忙忙抱著往計中 因為讀卡機在計算中心 在門口就跟人撞了一下 就ㄆㄧㄡ~~~~~。那怎麼辦,哭不出來。你就當場看到你程式這樣(散落一地) 。
  所以那時候,這是有歷史背景,為什麼有一陣子我們系上有些比較病態的學生的遊戲是想辦法把程式寫的越短越好。就會比說老師出這個作業,你21張卡片我20張這樣子。所以很多病態的遊戲是有歷史的背景。我們家上次整理的時候還有很多(卡片),現在都拿來當書籤,這個拿來當書籤還蠻好,因為後面還能拿來當筆記什麼的。
(所以你那邊還有很多這種東西?)
現在還有。有丟掉不少了啦,不過當時實在是太多了,後來就是有留一疊來當書籤。

您覺得大學除了課業以外學到最重要的東西是什麼?
  我很汗顏欸,我當時只專注在課業上面(笑)。可是我有學到一樣東西,應該也算跟課業有關,可是不是純粹是課業。我大二升大三還有大三升大四的的暑假,有志願替老師做專題。當時要志願做專題是不簡單的,跟現在不太一樣。當時資訊系只有一班,考大概考四十幾個,加上其它的大概就是五十來個出頭。我們那時候研究所碩士班有沒有五個我都不知道。博班一直到我大四還是大三才開始,而且那時候才收一、二個。可是當時老師更少,當時比較資訊專業的老師大概就十來個吧,應該不到十五個。很多老師都出國進修幹什麼的。然後因為電腦的關係,電腦很少。我大一進去只有二臺個人電腦,8位元的,還有學校計中的一臺大電腦。所以你要跟老師做專題才有辦法使用這些電腦。我在替老師做專題的過程當中,其實學到蠻多做研究的技巧,我覺得那是我最受惠的。
很汗顏就是其它什麼戀愛學分沒有修好,什麼社團學分也沒有修好。

在學校所學到的東西,和職場上實際所應用的有很大的差別嗎?
  幾乎不一樣(笑)。我覺得我學到最重要的不是課業,因為所有的理論所有的東西,你一出社會,以資訊來講,3~5年就落伍了。就是你們現在覺得Data-mining演算法很重要,五年之後新一代潮流就出現了。那怎麼辦,其實對我最有幫助的就只有二個東西,程式設計和演算法思維。程式設計到現在為止是不敗的。可是現在有些同學不喜歡程式設計。(其實我有點懷疑不喜歡程式設計為什麼來資訊系,可是現在我已經接受有些資工系的同學就是不喜歡做程式設計)。可是至少學會演算法思維。就是做人做事有點像寫程式一樣,很有條理。你知道if then else,then裡面要寫東西,else也要寫東西。你知道sequential,一步做完才能做第二步、第三步。你有沒有去分析說你的決策,有沒有一些if then else沒有寫好、你的process能不能terminate。我覺得這個在職場上對我最重要。我在大學學的東西,老實講,一下子就落伍掉。如果要靠大學學的東西在職場上活的話,應該活不到現在(笑)。這是最重要的,所以我覺得我有學到這二個。
(那溝通能力之類的?)
  我覺得我學到的基本能力就是專業能力,不管是不是資訊系,每個科系都要有自己的專業能力。那我覺得資工系的專業能力就是程式設計和演算法思維。以前是AND,兩個都要好,現在是OR,只要有一個就好。因為現在必須接受有人就是喜歡作CHI(computer human interface),有些人喜歡作GUI,有些人喜歡作social media的東西。可是再怎樣你要成功一定要有專業式的能力。其實我看同學還蠻準的,是不是資訊系,或者是資訊系有沒有修得好。你不用跟我講說什麼,只要跟我做事,或者我觀察你做事一段時間,我就知道你的演算法能不能學得很好。演算法學的很好的人做事不會糊里糊塗,不會出一些很奇怪的error。
  另外,我覺得大學最重要的就是溝通能力。現在很多同學會做,ACM程式比賽可以考第一名,可是老師問他什麼 他就呃...程式在這裡自己看。多得很喔 而且還有那種只會跟你一行一行講code,可是不會跟你講code到底在做什麼。這已經很好了,有很多同學是根本連講都講不出來,看到你臉就脹紅講不出話來,就說你自己去test就可以了。我當時在大學,很湊巧的有很多的練習,因為我去幫教授做project,教授就會帶我要去跟他present做什麼事情。另外,要寫作,他就叫我們要寫東西下來。寫東西下來是目前同學的罩門,就是很多時候你們程式寫出來,可是就是沒有辦法把document寫好。這個很重要。
所以答案是大學學的和職場差很遠。

老師您對大學畢業(資工系)的出路有何看法?
  其實我說老實話,能到台大資訊系,能進的去,不管你透過什麼管道進去,(現在有太多管道了),只要進得去,好好把專業能力、基本能力培養好,就業市場其實是蠻寬闊的。幹我們這一行,你要賺很多錢四十歲退休,那要看天命。可是如果你若只想吃一口飯,養活自己跟妻小家人,其實是蠻容易的。到目前為止還是這樣子。我從大學畢業到現在,我看到的職場,三十年來的職場,資訊系雖然現在大家看起來進去的人很多,可是真正把程式寫好的人,然後找不到工作,甚至是找不到好的工作的人,沒有。除非你有其它的問題,否則沒有。
(那你建議大學畢業先去工作,還是先去讀研究所?)
  這是一個很好的問題(笑),每個人都問我這個問題。以目前的狀況來講,如果四年可以好好把它(專業能力)弄好,我是建議先去工作,或者先當完兵,然後再回來唸研究所。這個前提假設是你的成績不錯,真的有學到東西。我認為大家應該要學到東西,如果不是,現在沒有辦法,這個世界已經變成學歷的通貿膨脹inflation。所以恐怕如果真的大學沒有及時好好唸書,碩士是最後一個機會,要好好唸。先決條件不是在於你需要多高的學歷,是在於你有沒有辦法把東西做好,你到底能不能寫程式,你到底演算法的思維夠不夠。如果不夠的話,就算唸到博士也是枉然。
(那請問老師您對創業的看法?)
  其實資訊系學生有很好的一個市場,所以你們要是有一個很好的idea,我是建議大家去創業。就是年輕還可以弄一下,因為你年輕沒有家庭的負擔。現在講這些你們沒有感覺,像我們現在就會知道,你有家庭的負擔,你有很多事情不敢冒險。我是建議大家年輕時去闖闖看。可是你如果三十歲之前沒有成功,我建議你就回來正規的管道,好好的就業,那應該餓不死。所以資訊系學生有個好處,就是反正你把程式好好寫好,你不可能餓得死你什麼時候願意回頭好好寫程式,當然你要有辦法以前當董事長現在有辦法折下身段來寫程式。可是,你要記得一件事情,別的系可能沒有我們這麼luxury。有些系為什麼一定要去創業,不能去就業?因為他沒有就業市場啊,有些系就是這樣子,逼得他非去創業不可。可是我們系是可攻可守,千萬不要因為可攻可守而覺得市場很好,就不要去創業。可是要有個限度,人生要有個限度,不能這輩子都是爸爸媽媽養,你只要負責追求夢想。你到三十歲不行,你就要把追求夢想的權力讓給別人。

老師是如何走上研究這條路線的,過程有很堅定嗎?
  其實有很多同學問我,當時為什麼要去唸PHD。我先講一下歷史背景,我們當時,我是第五屆民國七十年進去的,那時候台大有蠻奇怪的傳統,大家都出國。因為國內其實,比如像我們資訊系,博士班就是沒有幾個,而且國內的博士也沒有(資源),當時的師資也不夠,設備也不夠。當時到台大如果成績還可以,那我當時成績還可以,很自然的所有社會都會期待你,你的家人也會期望你,你的師長都會講說:什麼時候要出國?那我就直接出國唸書,當時也沒有決定唸完書一定要從事研究跟教職。也有考慮說在外國找一個工作做,也不一定是研究的工作。我有一些同學就是唸完博士,就到公司裡面去做。那我就是剛好比較湊巧,當時唸書的過程雖然選擇的是比較理論的課程。去外面找工作也找得到,可是因為理論的題目的關係,當時在台灣也受到一些...覺得說可以來做一些研究,所以回來就是申請教職,也蠻順利的,就直接在中央研究院找到研究的工作。
  過程應該就是...我覺得我都沒有在想,就是好像都是別人替我想好,就是你只要在台大唸書,成績還不錯,你老師就說要幫你寫推廌信叫你出國。然後你出了國之後,你能像我這樣子唸到比較理論的東西,比較理論的東西做出來都是paper嘛,弄出paper來就比較容易在學術界被看到。然後那時候國內以前的老師就會說,你做的還不錯,而且都有paper,(因為如果做系統就比較沒有paper),就問你要不要回國服務。就呼嚕呼嚕就這樣一路一路回來。所以我也不曉得什麼叫堅定不堅定。因為就是別人覺得你應該走這樣子,我就follow這條路就走下來。

可以簡介一下目前的工作內容嗎?
  現在在中央研究院做一些演算法方面的研究,最重要的就是在中央研究院是一個比較自由的學術,當然有些事情你必須配合政策做,可是大部份時候你可以做你自己想做的事情。目前也有在台大有兼課教書這樣子。
(那你做的研究是自己想做的研究嗎,或者是去接別人的案子?)
  比較年輕的時候,不是這樣子的。現在是比較敢說,我想做什麼就做什麼(笑)。目前有一半幾乎都是自己想做的。而且你自己幾乎可以決定你要做什麼,只要你做的出來幾乎他就沒有什麼限制。

你同時有在台大資工系教書,請問這有什麼原因嗎?
  原因喔,是一個錯誤跟偶然(笑。你有修過compiler嘛對不對,我在compiler有講過,我做的離compiler滿遠的。我是做圖論、演算法。compiler只是當時大四我修過的一門課而已。可是我當時修的還不錯,當時我志願幫我們的老師做個project,(當然他有給我錢,不能講志願(笑))。project內容是要引進一個compiler。當時沒有台灣做的compiler,台灣自己不會寫compiler,沒有那個經驗,就從荷蘭還是什麼地方弄compiler source code回來trace。因為我修過 compiler 且修的應該還不錯,就進入這個project去。當時以一個大學生去做這個project,機會滿難得的。當時也很成功的引進一個compiler,看完之後寫了一個台大自己Pascal版的compiler,是叫做NTU-PASCAL。寫完之後當然就船過水無痕,我就畢業了。畢業後教授寫了很好的推薦信,我就去了美國。念的也不是compiler。
  回國之後,就有一個偶然的機會,當時帶我做project的幾個教授之一,他一直都非常照顧我(其實我一路上都受很多老師照顧,真的很感恩!),他是教compiler,他要退休了,compiler是苦差事,沒有人要教(笑),你也應該知道為什麼是苦差事。他就說:「欸?那你要不要來試試看。」因為他要抓交替,就是水鬼要升天抓交替。他是要提早退休啦,因為他在南部有家人要回去照顧,所以就把我抓去。他說徐讚昇你以前課修的不錯,project也做的不錯,你就來教教看。我就說compiler不是我研究的,他說沒關係那我講義給你,他就把他多年寶貝的講義給我,我受用還滿大的,就去教了。剛開始是教compiler,我想先教個了幾年頂一下,教一教就教出興趣出來。我覺得教學過程當中跟學生討論,尤其compiler雖然不是我的研究,可是我發現我以前學得過程學得不錯,我就以自己的眼光來看當時有哪些不懂來教同學,到後期其實有滿多同學滿appreciate,在教學評鑑上講說:「這門課以前好像同學學了都覺得沒有用,但我聽了好像還不錯。」同學有這樣的反映就會給老師一個很正面的回饋,我就會覺得教書還滿有趣的。這個教完我就跑去教電腦對局理論,電腦對局是我想教的,我就去發展。這門課國外完全沒有課程,更不要講國內,我就剛好趁這個機會去教。這幾年教下來就是透過這個機會鞭策我自己,把這門學問、把這門課程好好的organize。現在我正在寫一本教科書,已經快要完成了。整個教學過程當中給我滿大的feedback,同學其實有時候上課的過程當中,會刺激我想出一些新的東西出來,有些東西真的我是上完課之後你們講一些話,也許你們是亂講的我也不知道,可是我就會想:「對齁!怎麼都沒有想過。」。我覺得那個過程還滿rewarding,所以現在就覺得上課雖然很累,可是好像還滿有收穫的,還不錯。

您剛才說你出的書已經快完成了,那請問是怎樣的書呢?
  就是電腦對局理論,就是整個過程把它寫出來。電腦對局理論裡面分13章,然後把電腦對局理論演算法...就是把我上課的投影片弄成一本書,寫成中文。因為現在要同學看英文的書好像要你的老命一樣,所以只好改變自己,雖然我的中文造詣很差啦,但只好盡量。

萬年的最後一題:有什麼話想跟學弟妹說呢?
  有有有,我再次強調你們一定要注意你們的專業能力,就是程式設計,不然你就要有辦法想,你的思考方式要變成比較程式設計,比較演算法式的,這是很重要的。將來程式語言會改,problem domain會改,可是程式設計、叫電腦做事情,這個東西應該是五十年之內都不會改。
  另外就是請大家要溝通,溝通能力要加強,不要一天到晚只跟電腦講話,要講話你要跟人講話。另外就是很多同學比較年輕...只能這樣講(笑),例如我們目前在中央研究院來interview的人,假設你現在是我,你要interview助理你覺得你會看哪?(回答:看學歷 =>研究方向 => 然後看個性)。其實跟你的順序是相反的,現在職場方向,不是只有我們這邊,第一件看的不是學歷,當然你resume來我們會先過濾,譬如說我們要程式設計,你是中文系我們當然就先把你刷掉了。或是說你經歷太奇怪(例如一年換24個老闆)或是成績太差,碰到這些問題如果沒有解釋我們當然也就K掉。可是只要過了一個基本的門檻之後,其實找來面談不是考你C++會不會寫、考你sort會不會sort,是看EQ、看你待人處事、你好不好相處、你是不是team player。你這個人很厲害,可是你就是沒有辦法跟別人相處,就算你再厲害大部分是砍掉的,因為會對實驗室帶來更大的麻煩。不可諱言我們以前有收過很多怪咖,那就會把實驗室弄得很慘。他一個人很強沒錯,但是他一個人沒辦法抵十個人,他一個人可能可以抵三個人,實驗室可能有十個人阿,那我其他的九個人怎麼辦?你一進來我戰力剩下三。因為你,其他人都不爽,就全部幹譙,沒有你我戰力還有九。所以能不能好相處,EQ高不高很重要,接下來老實講,專業能力都可以配合,都可以培養。你在學校學業再怎麼好,研究方向再怎麼接近,譬如說我要找圖論的人,有沒有辦法找到做圖論的?我跟你講,做圖論的來有沒有比較flavor,有一點點而已,可是不會差很多,因為我們要做的東西跟學校差很遠,我們做的東西都是很advanced,你學校學一定都是比較後面,那你的立足點比別人多一點點而已。就算你的研究方向跟我一樣,你也只是比別人多一點點而已,我們更重要的是在乎你有沒有辦法學新的東西。所以有沒有學習的能力很重要,還有第一點就是說我們大部分的公司篩選就是你好不好相處,是不是怪咖,這個在面試上看得出來,還滿清楚的,就是怪咖有滿多特點,只要你碰到那點他就會很怪,你interview多一點人後你就會知道。有可能看錯,就是沒有辦法,因為以前慘痛的經驗是不小心找到怪咖後實驗室會毀掉,要很久才會回來。
(怪咖是指什麼樣的人?)
  怪咖喔(笑),我舉個怪咖例子,就是譬如說有新來的和老的,那新來的進來做,那老的就認為說什麼我做的都是我的,新來的做的也是我的,其他人做的都是抄襲我的,在面試的時候滿好看出來的,就是看這個人會不會計較,有很多東西我等一下就會談,其實比較重要的,人生其實不是說什麼東西都不重要,堅持跟妥協,和知所進退是人的重要基本教養。有兩個事情你們現在可能不清楚,堅持跟妥協,太堅持就會變成怪咖,太容易妥協也會變怪咖。這真的是這樣,有些人就是什麼都好什麼都好,不能這樣子,那有些人是什麼都是我的。阿那個聊一下天馬上就知道,通常我發現有這種人格特質的人,其實是一個一般性的行為,很多事情他都會這樣。譬如說我舉最簡單的例子,同學來面試嘛,先花三分鐘來介紹你自己,先聊天嘛,簡單介紹一下你自己,阿他就瓜拉瓜拉一直講,阿我就說:「可以了可以了」。他就說 「欸?還不到三分鐘阿!」很清楚你一看到這個就會開始覺得不太對小心一點(笑)。所以其實聊天是滿容易知道。另外就是不要問他功課的事情,就是問他社團的事情、興趣,你的興趣是什麼?(回答:打籃球、打電動)。那打籃球是跟?(回答:系隊)。在系隊打嘛,通常如果你是從事打籃球這種的,而且是有在鬥牛或是參加什麼隊的,這種人通常是沒有什麼問題,所以恭喜你過了第一關,可是他如果說:「我沒有什麼興趣」、或是他的興趣是可以自己單獨做的。讀書我是覺得還好,看他如何讀書,像是例如航海王,那航海王如果聊開他會開始講社團阿,其它的事,說他跟誰在怎麼樣。如果都是一個人在研究那就要小心一點(笑)。就是你平常有沒有願意打開心胸跟人家接觸。不是說一個人靜下來做事情就是不好。老實講,即使一個人靜下來做事情看什麼東西,也要看說你有沒有一個社團,或是例如說你考試前會不會跟誰開一個讀書會。你會去問人就已經很好,有些人就是成績爛也不願意問人,就是自己K,如果他是第一名那就更麻煩,就沒有人問,可是如果有人要來問你,那也是好事,就是你這個人做人還不是很失敗,還有人願意來問你。
  另外要跟同學講的,最重要的,你們經常會問:「如何選擇?」每個人都在問這麼問題,老師要不要念研究所?或是就業?你在人生有一個叉路,你就會來問,那叉路最多的第一關就是研究所,當然前面還有啦,有些同學我跟他比較熟還會來問感情的問題,不過這個不在今天要講述的範圍(笑)。就是要不要就業還是要念研究所,然後如果念了研究所,有些同學即使不是我指導的也會來跟我問:「那我要選研究方向我要選A還是B還是C?」如果已經申請出國的有三家學校他要哪家,這就是你們人生最大的問題,就是要選擇?你有沒有要念研究所?為什麼?沒有學好也是一個原因,那你覺得你哪一面沒有學好?,你碰到選擇的時候,其實我general的advice是你千萬不要因為現在最紅的、現在最大的、現在最好康的,就選這個。因為我三十年來看到,沒有一個東西可以持續的紅超過十年,IBM我那時候最紅,當時系上第一名畢業的學生,老師會推薦他去IBM,而且那個人拿到IBM後回來系上是走路有風。IBM現在還很好,但顯然不是現在最優秀學生就業時的唯一最佳選擇。可是當時候是這樣子喔,當時拿到IBM offfer跟幾年前拿到Google offer是一樣的喔。大學畢業拿到Google offer,年薪數百萬,IBM當時就是這樣子。IBM當時起薪一進去是我們的兩倍,所以是走路有風,可是現在呢?Apple前陣子還很紅,現在雖然也不錯,應該沒有數年前那樣火紅?Microsoft也是一樣 Microsoft! 我研究所畢業的時候拿到Microsoft offer 也是走路有風,現在也不錯,但不像十多年前那般盛況了?時代在變啊! 不用講成吉思汗了,建立橫跨歐亞大陸的帝國,現在到哪去了?我看到的這三十年,這資訊界,我只敢說在資訊界,就是沒有一件事情是獨自火紅超過十年,所以你如果念PhD,從碩士開始,碩士兩年,PhD五年,再當個小兵,你就八年過去了,八年就大概活過它最紅的盛世,所以等你一出來要就業,那個東西就不紅了,目前看到唯一的定理就是沒有一個東西可以紅十年,尤其是如果你現在是當紅,那你只剩下五年,最紅的時候就是剩不到五年,等你出來的時候就是咻!所以你要想想看,不是現在的Google,要想如果是很多年前Google,還沒紅的時候,那時候是什麼?你如果那時候選擇Google,那時候Google不是最紅的,我當時畢業的時候Google剛出來,當然是很好的start-up,但是如果拿到的是Microsoft的offer還是比Google拉風。當時如果去Google就會很不一樣,當時是Google股票剛開始的時候,所以那時你有沒有辦法慧眼識英雄,看到Google,那你就有辦法享受紅的那段時間,然後去累積你的資本,你要想的是那些人當時是什麼,當時沒有很紅喔,所以如果你們人生選擇是greedy algorithm ,greedy就是貪心演算法 貪心演算法是什麼,就是maximize每一步最好的地方嘛,希望加總起來會是global optimal,可是通常greedy演算法很少得到global optimal,所以選當時最紅的通常會後悔,那要怎麼選?怎麼看到Google還沒紅之前的Google?怎麼看到Apple還沒紅之前的Apple?當時Microsoft我在學的時候你認為這什麼玩意阿?disk operating system這怎麼可能阿?真的沒有想到它的OS會把大家吃成這樣子,我當時如果去Microsoft多好啊(笑),那怎麼看到這些東西阿?看到就賺死啦 我剛到美國唸書的時候Apple剛down下去,然後有人統計我研究所畢業如果用一塊錢買Apple的股票,在它最紅的時候賣出去是可以賺上千甚至上萬,所以我當時帶了幾千塊美金應該去買(笑),現在幾千萬我就可以退休了,那怎麼看阿?千金難買早知道!這教你是最重要的阿,念書念死了沒有用,就是這個才有用阿,那你講一下做什麼才有用?(回答:就做興趣的,然後賭它會中)。你對,你就是對了,因為誰會紅是天意,就是要人時地在一起,老實講Google之前那個global searching引擎早就有人在做了,可是那時候Internet bandwidth不夠,Internet上面的data不夠,所以人家早有那個idea,做不起來,就是給一個idea然後人家就說:「bandwidth幾K bit的,哪能蒐多少資料?」。你就在那邊搞一搞,早就有人做了,那就紅不起來了阿,2000年的時候Internet就有太多人都投下去做這件事情,它剛好2000年後天時地利人和。天時就是那時候所有網路建設都起來了阿 而且當時大家在瘋數位化 把所有的資料都灌到電腦去 而且open出來給大家read。以前是資料只要出來有人要用你就很高興,沒有想到要保護。人和就是那兩個傢伙剛好搞了個演算法,那個演算法提早五年搞出來沒有用,晚五年搞出來也沒有用,就是在那個時候剛好就這樣。所以會成功其實是有天運的,那誰會成功,要看這個大時代走到什麼程度,這不是我們能看清楚的。那你講的是對了,你就是follow你的興趣,你就是賭會成功,假設你去選你有興趣的東西沒有紅怎麼辦,資訊系還是活得下去阿,你做這個事情你可以做一輩子啊。你如果去做一個現在非常紅可是你不喜歡,想說算了為了錢我忍一下好了,等你出來要就業,又沒錢,你又要做你很不喜歡的,你這輩子不是很辛苦嗎?所以人生最大的建議做任何選擇的時候你不要想greedy,就是follow你真的覺得是什麼東西,那在資訊界裡面比較好的就是我們要養活自己不是那麼難的事情,這時候就是賭博就是創業啊,去做奇怪的東西阿。所以不要想太多,你們經常問怎麼選擇,怎麼選擇就是follow你的興趣就對了,所謂的選擇多好,我只能保證一件事情不好就是現在最紅的,那如果興趣是現在最紅的,那你就認了(笑),可是你要有心理準備你這個東西大概不會開寶開出來,很可能十年之後開寶的絕對不會是你,但至少你有興趣啊,我要跟同學講最重要的就是這個。

        我現在看到同學因為多元學習有很多東西,然後在大學裡面你們自主性學習的科目自主性相當高,你們可以學很多東西,我們以前開的課滿少的,真的通識其實是沒有。你如果對什麼有興趣就要去學那個系的專業的科目,通常會被殺得很慘,就是說你如果要去心理系學,你就真的要去跟心理系的學生搞他們的專業科目,就像有人要來修我們的計程、演算法一樣下場通常很慘。現在有開通識就是讓你入門門檻沒有很高,可以做很多事情,所以現在學東西很多。可是我發現現在學的東西很多,現在的學弟學妹們有很多的優點,就是他們的想法會比我們多元,那他經常像我在上課的時候你們會提出一些想法,是我以前比較沒有辦法想到的,我覺得這很好。可是我看到一個可能要改進的地方就是因為你們學太多東西,你們很少會對一件東西會有熱情,好像你們手上經常有十樣東西,我吉他也可以彈一點點、我電影欣賞也不錯、還有什麼礦石課、還會看星星,你們都會一些,可是你們很少對一件事情很熱情,就是對這件事情真的很瘋狂。瘋狂的事情不一定要是課業,我以前上課的時候有講過,其實你就是看漫畫、看動漫,看到變成一門學問也可以,可是我現在就比較少看到你們有這個熱情,不管是對課業或是嗜好或興趣。以前的同學我比較常看到會對一個東西有熱情,我有觀察到一件事情,在職場上、研究上能夠成功的人,除了專業能力有到門檻之外,其實他們做事都很有熱情。而且他們都在某一個領域,在除了他的學術成功或事業成功的領域之外,在其他某個領域其實也是很成功的。譬如說他是空手道打得很好或是他吉他彈得很好,就是他有一些事情可以做的很好。我後來在找人也會注意這個事情,就算你網球打得很好,跟電腦沒有關係,網球有辦法打到全國大專第一名,這個人弄過來通常都能再訓練。因為他有對一件事情很熱情的做過,那個熱情的態度是很重要的,那個熱情的態度會感染到別的地方。就是你在這邊知道要用熱情把東西灌輸進去,把事情完成,那在資訊這個領域,只要你願意,我有辦法引導你上去。可是現在看到很多同學沒有熱情,我就沒有辦法,就是這個我也會、這個我也可以,可是通通都是交差的,就看不到你真正的興趣是什麼,你們興趣變得太多了,這反而會變成一個負擔,還是可以有很廣泛的興趣,但要有幾個focus。我上次上課記得有提過,你怎麼知道你對這件事情有熱情?老師沒跟你講你也會做,然後你會來找我,我不用找你,然後不用我要你做什麼事情,你會自己主動去做事。你有沒有什麼東西是這樣子?任何東西都可以,就算你很喜歡吃冰淇淋,你要把台灣的冰淇淋吃光,你就自己會去研究,這樣也可以。我舉這例子就是說這個也可以,或者說我就是對什麼東西...蒐集什麼航海王魯夫的各種捕到的魚,都可以,其實都可以。就是人一定要有辦法在某一個瞬間對什麼東西產生熱情,熱情訓練出來之後,是可以轉換到其他方向去的,滿期盼同學要有一些熱情,現在真的是因為興趣太廣泛比較看不到,滿可惜的,多元學習後好像變成這樣子,你們什麼都會,可是就沒有一樣願意投下去,也許跟那個有關啦,我也不知道,也許跟你們現在會的太多有關。這點是我一定要跟學弟學妹講,想辦法找一件事情做,讓它培養出這個熱情出來,當然你找到這個事情跟課業有關,那恭喜你,也恭喜你爸爸媽媽(笑),可是不一定,不要這樣子,就是最重要的是找到一件事情對他有熱情,很重要。