電腦效能應用與安全研究室 Performance, Applications and Security Lab


我們的研究範圍很廣,從嵌入式系統、手機應用、一直到雲端計算、商務應用、資訊安全都有做。
我們的合作研究夥伴很多,包括聯發科、IBM、中研院、資策會,還有和台大、清大、交大的教授合組研發團隊
,包括高階應用處理器架構研究、虛擬化技術、異質計算、系統軟體等重要技術的研究與創新,我們很關切台灣人才與產業的未來。

2013年8月14日 星期三

人才與研發

【就業困難】這件事,在我們實驗室這邊幾乎感覺不到。我想,有一小部份是靠台大的名氣,但是大部分是靠同學的努力和才氣。不過,我常鼓勵同學,以各位的資質和努力,找到一般人稱羨的工作,是理所當然的,但是要能成為領導型或開創型人物,成為人才,會更有成就感。

以下舉近期的例子:

1. 聯發科的朋友要我推薦對 HSA 和異質運算系統架構的有興趣的學生或工程師,有點招不到人才的感覺。

我想,真正會做這個東西,人在台灣,卻不在聯發科工作的人應該不多吧 學術界有多少人有做過研究呢? 很少。

我說呢,第一,人以稀為貴,聯發科應該大幅提高雇用這些專業人才的薪水才對,這樣也可以鼓勵學生們在學校就來好好學做前瞻產業技術;第二,我們六七年前就開始做異質運算系統架構,但一直沒有好用的平台,做起來很辛苦,我希望聯發科在人才訓練的支援上,能多做一點。

2. 聯發科有像這樣的OpenCL系統工程師職缺 (http://goo.gl/uZIaKZ): 負責提供可充分運用CPU/GPU能力的平台, 以作為embedded 系統的核心,主要工作為"分析影像多媒體演算法, 並定義能充分運用多核CPU/GPU的軟體架構",條件: 2-4 年的 Android/Linux 的行動裝置平台開發經驗、熟悉 Android 系統開發實作和 Open Soruce 開發流程、熟悉 OpenCL 應用於 Image/Video 處理、熟悉主流 GPU 架構、或熟悉 LLVM 編譯器架構。

要在學校學會以上這些技能,難不難? 對於懂得自學的人不難,給不想自學的人,我們還特別開了【系統研究專題】(http://goo.gl/oYmEUd)這門課來補習。然而真正我們想要教的,不是一堆單一的技術,而是希望學能能夠融會貫通這些技能,就像令狐沖學獨孤九劍一樣,學完後會活用,還可以自創新招。

或許業界先進可以回答這個問題,能夠在短期間融會貫通以上技術的人才,你願意付多少薪水? 以我看,年薪二百萬是不見得足夠雇用一個有經驗的專業人才。但是換個思維,你如果願意開出年薪二百萬給學校訓練出來,學有專精的人才,我猜有不少學生會好好學習來搶這些位置。Why not? 你說公司有制度,不能這樣幹,那招不到人的話,我也沒辦法。

我想,新創公司和大公司爭取人才的策略應該是有所不同:

- 我所樂見的新創公司招募新人的態度是:給合理的薪水讓新人活得健康、給光明的願景讓新人對未來充滿希望、給適當的教育訓練資源,讓新人的技術能力迅速上升,即便公司沒起來,也能學到很多東西。

- 大公司多半有用人制度,但往往過於僵化,以至於招不到也留不住第一流人才。大公司裡面也有各式各樣的單位,部門主管的人品和能力很重要,我覺得進到好團隊跟到好老闆比賺到更多薪水重要。我往往建議學生去面試時要多認識未來的主管,甚至,如果可能的話,選擇未來的主管。

從人力仲介公司找高階研發人才,機會渺茫。搞高階研發,需要人才,用得到人脈。你透過做人和做事,讓人家知道你的才能,這樣所建立的人脈,是有意義的。科技人,藉由你的知識和能力所建立的人脈,人家有問題要解決時會想到你,是最扎實的人脈。

但是有些缺乏社會經驗的宅學生,不聽老人言。研究所選指導老師和研究題目要選輕鬆的,選課要選其他很多同學選的,選工作要選其他同學認為好的,這是目前的校園文化嗎?學生要能學習獨立思考,我不介意學生不聽話,但是不信老師的話,卻聽學長同學的二手傳播?往往是缺乏獨立思考的緣故。你在學校怎麼表現,大家看得清清楚楚,跟你的人脈節節相關。

同學們找工作時,要不要看薪水?雖然薪水不是工作的唯一指標,不過該給的薪水是該給的,不然就顯得不夠誠意;此外,成就感是重要的,不過因人而異,該想想要如何才會有成就感,這算是正向思考;但是,注意不要過度地使用正向思考模式而走火入魔了,年輕時候所認知的成就感,可能並非人生的全部。

同學們要懂得提升自己的專業能力和認識自己的價值。就目前高階意統研發所需的工作性質來說,懂多核架構、會平行處理加上能系統實作,如果真有非常優秀的人才,一個人才抵得過好多個庸才,這個和一般程式寫作有大不同。

不懂多核架構,寫出來的系統程式不會快;不會平行處理,寫出來的平行程式有超難抓又隨時會掛的錯;不能系統實作,現成好用的東西不會用,要做的東西半年整合不進來。

這裡談的問題,不是那種三個臭皮匠勝過諸葛亮的問題,而是一個諸葛亮可以敵得過一百個狗頭軍師。某些三國故事中,徐庶說諸葛亮的才能勝己十倍 -- 打仗的時候,不玩文人相輕那套,就可以看出真本事。科技的戰場,也是如此。

很現實的問題是,公司要與國際競爭,你願意雇一個人才,會藉由主動學習、與人溝通,獨立快速完成計畫呢?還是願意帶幾個效率不彰可能扯後腿的庸才?正常的公司會選擇前者,但我看過好幾篇文章,描寫台灣一些變態的文化:長官不敢雇人才,怕被幹掉,一件計畫能多雇幾個究多雇幾個,底下帶越多人越風光 -- 這是關起門搞鬥爭,不是出去打仗。

去年我學生在IBM Austin Research Lab做Intern,只有他一個台灣人在那裏,拿IBM的薪水。韓國人由韓國公司和政府贊助,去了十多個,要偷學人家的技術。要與國際競爭,國家不能關起門來,一面補貼業界,一面讓業界壓榨勞力。對於勇於到國際競爭的台灣廠商,我樂見他們和台灣學生有良好的互動,互惠共榮,在待遇上做適度調整,是起碼的誠意。

高階人才要不要每天花十多個小時在公司裡?不必。要不要老闆隨時盯著看?不用。給他有挑戰性、能學習新東西的工作,他願意不意做?多半願意。腦袋會不會被繁重的工作操壞?不大可能,因為工作中隨時要思考。會不會因為工作忙碌而衍生家庭問題?有可能,這個要注意。

高階人才年薪兩百萬多不多?不多。工時要不要長?不必。國內業界要向高階系統做前瞻研發,心態要轉。實際上,我知道很多公司的研發文化都逐漸在改了,但有些還留在過去。

各位耳聞某某公司工時超長的事,未必發生在其所屬每個單位。我認識幾位在聯發科CTO的朋友,做的工作很有趣,可以讓他們一展所長,至於工作累不累,我看他們都蠻厲害的,應付自如,不見得比在大學當助理教授累 你夠厲害的話,去找聯發科談談也無妨,談個值得的薪水,以及確認工作的時間。

有人說高科技快沒落了吧? 還能研發些甚麼?

以Android手機為例,現在利潤越來越薄,各家的差別化越來越難,台灣能做甚麼? 有人看不到前景,但是,我們倒是看到不少可以著力的地方。

根據Google目前的態度(http://goo.gl/rjmiag)看來,要用OpenCL開發Android apps的人,得出來呼喊一下。不過,做系統開發,,不必凡事靠Google,可以自行想辦法把OpenCL埋到自己的Android裝置裡面,支援自己的一套system software和middleware就行了,反正Google也不會來幫妳的處理機架構寫OpenCL driver。

我想,Android搞到目前這個地步,大多數通俗的功能都有,iOS也差不多,大概快變不出甚麼新把戲。Fragmentation的問題,跟螢幕大小的關係,比跟處理機架構的關係還大。Google現在有自己的手機公司,當然不想給競爭對手太多支援。

OpenCL v.s. 手機,重點在於找出與建構killer apps。我們覺得手機廠和晶片廠該想想新的手機和雲端合作的模式,不必一直抱Google大腿。手機價錢直直落,緊抱大腿的話遲早也跟PC產業一樣,利潤越來越低。搞一些獨門絕技出來,做軟硬體統合設計,或許可多些加值效果。

我們或許該來看看其他的手機了,前天公開的Firefox手機(http://goo.gl/2ii4y7),一台不到US$80。將來當手機的處理能力強到某個程度,可以非常輕鬆處理目前多數的Android Apps的時候,乾脆把Android放在虛擬機器上算了。這樣一來,無論Android如何改版,只要找虛擬機器用的標準版來跑就行了,而且還可以用到虛擬機器其他的好處。

而且,由於Android並非設計給桌機使用,把Android手機接螢幕做為工作站,就好比用Microsoft Windows 8的平板模式,使用者經驗不佳。

Ubuntu Phone標榜可以拿來做為工作站使用(http://goo.gl/S9fek),用過Linnux作業系統的同學知道,Linux當做工作站,需要用MS Office的時候開一下VM,其實還不錯用。

想想一個搭載2.4GHz四核Snapdragon 800的手機,或是MTK真八核的手機,如果跑Ubuntu Phone,上面開一個VM跑Android,開另一個有dynamic binary translation功能的VM跑Windows;在路上用Android,進辦公室用無線接螢幕和周邊用Windows。運算量龐大的工作怎麼辦?到雲端去。想玩Game怎麼辦?有寬頻網路的話,接上GPU Cloud就行了。

做這些一定要靠Google嗎?不必。Google有太多他自己想做的事,Android對她來說算是雞肋,所以也不可靠。做以上講的東西,說難其實也不難,說簡單嘛,要找能做的人也不容易,所以是有機會的。

您說以上有些東西早先有人也嘗試過不成功,例如Google自家推ChromeOS,就沒賣出多少。沒錯,這是Timing和眼光的問題。有人說:Timing is everything。東西太早和太晚出來,都不行。個人覺得ChromeOS是Google一廂情願的想法,低估硬體的進化速度,現在大家不可能走回頭路去搞 ChromeOS。硬體繼續進化下去,單螢幕單視窗的Android和iOS設計,會落伍。至於微軟Windows 8的惡搞法,誰能解釋? 大公司的大腿,能一直抱下去嗎? 誰能帶大家衝出去呢?

1 則留言:

  1. 看完老師您今天的文章,真是覺得無比受用,雖素昧平生,但您真是我這輩子最尊敬與崇拜的人之一,老師您的才學,面對產學問題的真知灼見,在創新上老師您簡單的說明與發想,就已經描繪出我想像中的未來;老師的文章總是給我許多啟發,也是一種享受,人生在世可聞此善知識,字句中讓人依循感悟的高潔品格,對產官學三界錯縱複雜的問題,理一心不亂,充滿智慧的答問,透出了一種禪意
    謝謝您

    回覆刪除