Archive for 八月, 2008

門檻

2008/08/31

在香港,資訊科技一向不是吃香的行業,只有在投資銀行的極少數,其收入和社會地位才相對地令人滿意。

比方說資訊科技從業員的每週工時是醫生的七成,然而收入卻遠不及他們的七成。其中一個原因,醫生們的頭上都有一個專業人士的神聖光環,在捱過專業試實習期後,他們就跨進了一個常人難以逾越的門檻,在供應穩定地少而需求持續的情況下,他們的收入就得到保障。

資訊科技的領域不如上述行業般擁有這麼普遍性的專業資格,主要原因是科技發展日新月異,二十年前有IBM十年前有Microsoft現在有Google,每個月都有新的技術推出市面,不同的技術和制式也往往因為不同的製造商而有異,並且,資訊科技行業所講求的創意和實戰經驗遠比專業資格重要。

科網股旺盛時坊間曾經流行過一系列如MCSE, A+, CCNA等等由不同軟件生產商設定的認證課程,同期的求職廣告上均事無大小地要求應徵者要擁有至少幾張認證才獲考慮聘用。未幾,行內人發現這些考試都可以靠背Brain Dump(這些認證考試通常形式為多項選擇題,只要熟背幾百條題目便可應考,網上很容易可以找到相關的題目庫)而輕易過關。一個人擁有文憑與否,跟他的實戰能力沒有多大關係,於是這些的認證就漸漸式微,亦無法造成門檻,限制資訊科技從業員的供應。

反觀美國,那裏的科技公司很重視資訊科技人材,從事資訊科技行業的人不會覺得自己社會地位低沒有晉升渠道,科技公司更花大量資源去吸引境內的學生應徵,務求吸納最好的人。它們如此厚待應徵者,大概亦因為美國亦有一個神聖光環。美國每年發出的工作簽証配額很少,海外留學生如果未能在幾年內取得永久簽証便要離開,就算服務於財雄勢大的科技公司亦毫不例外。就如微軟最近在距離總部西雅圖兩小時車程的溫哥華,設立了開發中心,好讓未能取得美國工作簽証的專材們先到加拿大工作。簽証配額限制人材供應的數量,於是造成供應少需求大的現象,美國的工作簽証本身就成為了一個難以跨越的門檻,擁有簽証的人因此吃香。

本文只是從一個較少人討論過的導向,去理解香港和美國的資訊科技從業員待遇天淵之別的其中一個原因。 當然,我們絕不能本末倒置地認為,香港資訊科技從業員的工時長待遇差的解決方法,是收緊海外專材的入境限制。美國的科技發展發達才會出現對人材的渴求,簽証政策不過是錦上添花而己。

(同刊於同日《香港經濟日報》)

廣告

國粹二

2008/08/29

photo.jpg

迎賓週

2008/08/28

本星期三四五為敝系迎賓週。研究院的迎賓活動當然沒有本科生的多姿多科,大部份都是教授們的講座,他們介紹自己的研究方向,以吸引學生。

這年有很多中國學生,遠比去年多。去年有三個台灣一個香港一個大陸,今年有五六七個內地的新生,似是沒有香港台灣。外邊傳聞說,啡大的電腦系從來不收直接從內地的大學生,不過負責收生的教授說,這年間中國學生的水準提高了不少(對對對,去年有一個很優秀的,好像還是姓葉的⋯⋯),所以多收了中國學生。

看見新來的中國學生們,慣性地圍在一起,自不然想起一年前的時光。

一年過得真快。還記得一年前來到這裏,覺得美國同學都不甚友善,他們不太會跟你說話,於是頭一兩星期我都只是跟大中華同學一起。不過,一年相處下年他們其實都很好,只是不太會跟外族溝通,慢慢開始就沒有問題。好運的還有我去年的辦公室很大地埋位置亦好,於是成為了同學們的common room,日見夜見,順理成章地漸漸熟落起來了。

坐A1呀!

2008/08/25

photo.jpg

枱面放了macbook,還有位放飛機餐,以示座位闊落。毫無難度地伸上隻腳,以示我矮。

可惜,只係內陸機。

五六年前坐過一次頭等,那是幾間旅行社包了一架飛機上北海道,團費額外加幾百蚊就可以坐頭等位,不過除了坐位闊落外,其餘跟經濟位無分別。那還是董家的天下,董太爭坐A1位上了好一段子的八掛雜誌頭條。於是,我讓了A1畀家父。

大概因為沒有機位,才會安排坐頭等。換著是我,打死也不會把哩數upgrade,我寧願換機票慳番一千幾百,畢竟還是窮學生。

終於可以享有平時很羨慕的服務—一上機就有野飲;唔使排隊上落機;上機後寫左足足六百幾字先開機;可以眼超超睇位啲經濟位上機;仲有飛機餐(而家美國內陸機得番餅乾)。哈哈哈哈哈。

開車的感覺真好

2008/08/24

IMG_0348

某公司邀請這年拒絕了他們offer的人於剛剛的四五六日重回西市一聚,詳情另文再述,這一刻,只想講車。

一向都開車的興趣都不大,一方面覺得養車太唔抵,也覺得十分危險。去年剛考了牌,就險些在風馳電掣的洛彬磯炒車,差點咸家慘兼嚇個半死,自此有了陰影,提不起興趣開車。

該公司讓我們選擇的士或租車,上次到西雅圖選了搭的士,已經累得半死還要禮貌地跟司機搭訕,然後印度同學告訴我公司租了部跑車給他,於是他快快樂樂地飛了一天車,面試有沒有結果都不重要了。於是,這次我選了租車。

年多沒有開過車,最好的開始辦法應該是在某個倘大而空空如也的停車場稍作練習,可惜沒有這個機會,一上手便要從狹小的機場停車場裏開車,怕擦到其他車又怕撞到人,唔熟手之餘又唔識路,在高速公路切線從來不是易事,從機場到酒店那近廿哩的路在萬分驚慌下渡過。

今日,自由日,下定決心練習開車。開了個幾鐘,走了近百哩,感覺才好了點點,也發覺開車確是過癮。印度同學介紹說到西雅圖附近的奧林匹克山不錯,車少風景亦美麗,重要的是沒有警察。車路穿過茂密的樹林,遠處是個高聳入雲的雪山,還有個美麗的湖。車少,看見有畢直的前路便可以亂衝,開到一百咪,架車識飛咁。路闊,五十咪轉彎也不是問題,就似是歐洲車的電視廣告。愈駛愈有癮,如果一天裏,駛了三百多哩(香港到台北才是五百哩)。

基本是一部跑車,就是時常在旺角聽見那種,條死氣喉很粗,一踏油便超嘈,起步勁快,每當聽見這樣的車心裏便出現一句「挑!紅燈咪又係要停車!彌敦道上有幾十盞紅燈⋯⋯⋯」原來,坐在車裏,是不覺得嘈的,起步快,一踏油就係咁去的感覺十分好。難怪以前在馬料水時,假期前後,大埔道有咁多飛車。

無糖童話

2008/08/18

一九九七年,一個東方的小島正處於重投祖國的亢奮聲中,人人高唱明天會更好股市樓市瘋狂的飛升。

於太平洋的彼岸,Steve Jobs被放逐十多年後,帶著他自己的NeXT系統,重投蘋果電腦。九七年的蘋果電腦,相對於今天,是天堂與地獄之別。那時候,蘋果距離破產只有六個月。Steve Jobs一邊重新整理蘋果電腦的產品線,同時以NeXT系統為基礎重新設計Mac OS,並把舊有系統port到將來的新系統去。

不過一切需時,開發一整套穩定的系統用上百萬個man-hour並不足為奇,由九七年Jobs回巢到零一年Mac OS X(即全新版系統)歷時四年,以當時蘋果電腦的財政狀況難以應付當中的開支,於是蘋果分別於九七年推出OS8和九九年推出OS9以維持收入。

為免產生Osborne Effect(過早宣布正開發的新產品而使現有產品滯銷的市場災難),Jobs禁止其員工公開批評市場上的Mac OS。同時,新系統的介面更是秘密中的秘密,蘋果電腦裏只有極少數人參與新系統的介面設計。Jobs指這為了防止微軟剽竊。

開發一個好的系統不能太急,強行推出半熟的東西只會摧毁本是上佳的想法。新系統醞釀了整整四年,在零一年三月正式推出,同時,Jobs正式成為蘋果電腦的CEO。

 

但其實,我又唔係想講呢個故事囉。

 

從前有個年少氣盛的研究生遇上一位好很醒既教授。第一件學識既事情,係,研究跟發論文應該是兩回事:世界上的論文太多,應該花時間寫有影嚮力的別人會看的。

一年裏呢位年青人有某問題上有重大的進展,於是很努力地工作,把不同方法都拼拼湊湊切切實實地考慮過,有一些理論裏的美麗算法和實際上的有效證明。也發了一份自認為幾美麗的論文。

未幾,有人發現,另外有些本來唔太關事既人忽然寫左篇關於這問題既文,部份是曾經半公開地傾過但因為未夠成熟而未有發表。在別人的文章看見自己正苦苦經營的東西,心裏唔好受,同時也氣忿原來這個世界真是咩人都有。

平心而論,那不是一份好的論文,不過是把數字同符號同方程式推推砌砌,並且現實上不可能同慢到揪筋。但是,在強調原創性的學術世界,最先發論文(不論好壞)最早定義東西的人總有好處,人們總得refer最先的。如果那是一份美麗而創新的論文,也沒有這樣不忿,那只好怪自己不比別人聰明。這次因為要慢慢醞釀仔細開發而給別人捷足先登,只好怪自己年少天真無知。

唯有向好處想,這是好野,才惹別人注意;也好讓自己發現別人的真面目。

然後,有幾個晚上,那研究生都睡不著。

平郵勿用

2008/08/16

IMG_0331

這次作了長期抗戰的準備,寄了三箱書和雜物去羅德島。貪平,寄了平郵,要等六至八個星期事少,失節事大。

為了用盡每箱20kg的quota,在家裏對住個磅來裝箱,偏偏第一箱就奶野,到郵局後發現起重零點幾kg,要開箱把拿走幾本書。問題是原本我用牛皮膠紙封箱,在郵局開箱後我回能借來壞鬼透明膠紙重新封箱,心想應該冇事掛。

星期二,收到兩箱,溶溶爛爛的,箱裏的dvd盒竟然給撞爛了,究竟運送過程有幾恐怖?三箱都在同一日寄出,未到的一箱就是以透明膠紙封的那箱,如果搬運過程太過暴力,恐怕凶多吉少。那箱裏,有很多書,還有,一個蘋果keyboard和羽毛球鞋。

以後都唔敢用平郵。

祝自己好運。

Being a nerd

2008/08/14

My office-mate sent me this.

I used to code a lot since the age of 14, when the dot-com bubble was booming. There were many software design competitions for high school students. Some of them were poorly publicized which means it is easy to get good result after spending reasonable amount of time in development. That was good, spending 2-4 weeks and got one more line on my resume, together with some prices cash/hardwares/free internet service(p-net excluded)/free trips to other countries. The larger the potential reward, the more effort I put.

One of the most rewarding competition was the olympiad for informatics, a programming contest that contestants are expected to solve a number of problems (usually feasibility or optimizing problems) within a few hours. In this particular competitions, everyone tried to make their programs run as fast as possible (correctly, of course!). Since then, I would consider all possible ways to make my code run fast when I code. Eventually, I became a fairly good coder (yes yes yes, I know I know, efficient code is not sufficiently a good code)

In university, after getting an A from the automata class and the only A from the algorithm design class, which the prof covered tons of theoretical stuff like NP and Co-NP, fixed-parameter tractability, W12345-complete problems, it seemed to me that a theoretician is way more cooler than a coder. A theoretician can work in the cafeteria, or outdoor in a beautiful sunny day, and say, “nah… this is np-hard, don’t waste your time to get an efficient algorithm…." or “aahah! I find a way to decrease the runtime from O(logn) to O(loglogn) by using a randomized……." (without coding anything). I decided to be a theoretician.

However, sometimes later, I realized that being a theoretician, there was no way to explain what I am working on to my mum/dad/friends/colleagues/girls I adored, I decided to move away.

And after a series of unanticipated decisions, now I am working in an optimization lab, which my boss is the lab’s director. It is kind of cool. The comic above explains the whole thing. In reality there are tons of NP-hard problems, like playing the tetris and risk game. We still need to solve it even the theoretician tells you that it is NP-hard. The good thing for doing optimization is because it lies somewhere between theory and application. When we see a real-life problem, the first thing we usually do is to prove its hardness. If it is hard, then we can try to apply all the existing techniques and see if there is a good result.

Take the comic as an example. 1. given a whatever menu and a fixed amount of money, trying to order so that the sum is exactly the amount is a Hard problem, in a nerdy world people call this a Knapsack problem. 2. Finding a shortest path that visit all six other table exactly once is another Hard problem, nerdy people call this Traveling Salesman Problem. Yes! Every waiters/waitresses are tackling a class of hard problem every moment in computer science without realizing it!

So here you will see what the heck I am now working on, and what I will be working on in the coming four years.

%d 位部落客按了讚: