羅維漢 港產電腦尖子 獲聘為facebook軟件工程師

年輕人玩facebook(面書)的動機,不外乎是發掘朋友間的話題,或者打發時間。可是,facebook對應屆計 算機科學及計算機工程學系畢業生羅維漢來說,卻別有一番意義。他藉參加世界各大電腦程式設計比賽習得一身「真工夫」,未畢業已獲得加入facebook當 軟件工程師的黃金機會。


羅維漢自小數學成績優秀,校內外比賽均獲獎無數,曾多次參加數學奧林匹克賽事。中五那年,他開始迷上電腦程式設計,首次參加香港電腦奧林匹克競賽已一鳴驚 人,獲選為香港代表隊成員,參加國際電腦奧林匹克賽事。中六、中七兩年,他參與了兩項國際程式設計大賽,發覺自己與外國頂尖學生亦有力一拼,令他下定決心 選讀與電腦程式設計有關的課程。

中學時期已加入香港電腦程式設計隊的羅維漢,在隊中認識不少來自中大計算機科學及計算機工程學系的師兄,看到他們合作無間的團隊精神,以及對編寫程式的「熱血」情誼,而深受感動,故選讀中大。

ACM總決賽 勇奪銀獎

大學時期,羅維漢花了一半時間進行訓練和參加比賽。征戰無數的他,最難忘一役是今年6月舉辦的第36屆「ACM國際程式設計比賽」(下稱ACM比 賽)總決賽,這也是他第三度參加該項賽事。ACM比賽是全球歷史最悠久、規模最大及最具代表性的電腦程式比賽之一,賽事分為本地、全國、地區以至全球總決 賽幾個階段,每年都吸引世界各地最頂尖的大學生參加。今年共有逾25,000名來自85個國家2,200多間大學的大學生參加初賽,最後只有112隊進入 在波蘭華沙舉行的總決賽。

今屆羅維漢與兩名中大師弟組隊,在總決賽勇奪銀獎,擊敗多間傳統強隊如麻省理工學院、史丹福大學、卡內基梅隆大學、北京大學、普林斯頓大學、莫斯科大學、聖彼得堡大學、清華大學、東京大學等,創下20年來香港大專院校出戰該賽事的最佳成績。

錄得最短時間解題

每支參加ACM的隊伍均由3名隊員組成。「我的兩名隊友比我小一屆,包括主修計算機科學的韓文軒和主修計量金融學的袁澤暉。我們中五參加電腦奧林匹 克比賽時已認識,後來一同進入香港隊訓練,大家都很了解彼此的實力和專長。我們先到吉隆坡和福州參加地區賽,取得足夠分數後獲得總決賽的參賽資格。」羅維 漢憶述,總決賽當日需要在5小時內,解決12條複雜的編程問題,且只有一部電腦,故他和隊友須爭分奪秒及充分合作,與其他參賽隊伍比拼邏輯、策略及心理質 素,盡量完成最多題目。

羅維漢熱愛編寫程式,多次在程式設計比賽獲獎。圖中他手持的是在今年ACM比賽贏得的銀獎獎牌。羅維漢與兩名中大師弟組隊,參加今年ACM比賽,在總決賽勇奪銀獎,擊敗多間傳統強隊

ACM題目全部取材自現實環境,所涉及的知識除了電腦程式設計,還包括數學幾何、圖形演算法、博弈論等。是次冠軍隊完成9題,羅維漢的隊伍則完成7 題,其中一題更錄得最短時間破解,獲大會頒發額外獎項,這一題就是由羅維漢破解的。「該題目有關收購,有兩間互相競爭的公司A和B,它們旗下擁有多間價值 不一的子公司。A和B像下棋般各走一步,每步可選擇合併自己旗下兩間子公司,或收購對方旗下規模比自己小的子公司,答題要求是要編寫一個電腦程式,準確計 算出哪間公司最後能夠吞併對手成為贏家。」數學根基紥實的羅維漢,一看到這條題目已有信心能夠答對,在比賽開始不久,只提交了兩次程式便成功答對。當現場 顯示牌打出中大隊首先答對這條題目,令他與隊友士氣大振,一路過關斬將,獲得前8名佳績。

羅維漢與兩名中大師弟組隊,參加今年ACM比賽,在總決賽勇奪銀獎,擊敗多間傳統強隊

嶄露頭角即遇伯樂

不少IT行業巨頭,都會藉着國際電腦程式比賽「揀蟀」,從中發掘具潛質的人才,在眾多國際比賽已嶄露頭角的羅維漢,自然也受到青睞。他在今年1月底 便收到facebook的招聘電郵。最初,他原先計劃畢業後修讀碩士,甚至已經遞交課程報名表,但加入facebook的機會可一不可再,他決定要好好把 握。

facebook首兩關面試均是電話面試。「我獲安排與一名軟件工程師經Skype對話,過程主要是解決技術困難,由對方提出問題,我即時編寫程式回答,過程約45分鐘。」首兩關通過後,羅維漢飛抵美國facebook總部參加最後面試。

甫踏足facebook總部,羅維漢發現同場有來自世界各地的應徵者,大家都是角逐同一個職位。在最後面試時,facebook安排了多名資深軟件工程師與羅維漢會面,內容同樣圍繞如何解決技術問題,但難度提升不少,更須即場在白板上編寫代碼並講解。

平常心應對面試難題

由於保密協議,羅維漢未能透露面試問題內容,但他表示問題不一定與社交網絡有關,反而跟ACM比賽題目有點相似。那麼ACM比賽和facebook 面試何者較困難?「整體來說ACM題目較難應付,亦因為有多年參加比賽的經驗,當我面對面試期間各種編程難題,都能夠用平常心應付,不會因緊張而無法冷靜 思考。」

羅維漢成功衝出香港,在世界各地的競爭者中脫穎而出,獲得facebook軟件工程師一
職,據估年薪達10萬美元!facebook網站有多種應用程式,未來或許有些會出自羅維漢之手。

這次面試亦有一段小插曲。回港途中,羅維漢度過22歲的生日,他獨自在飛機上回想自己的人生──由中學開始接觸電腦編程的種種回憶,如走馬燈般在腦 海閃過,甚至在facebook面試的一幕,仍然不太真實。「這半年好事紛至,感覺像做夢般!我到美國面試,雖然未知結果,但自己盡了力不會後悔。骰子已 擲了出去,結果就聽天由命吧!」

身經百戰的羅維漢,程式難題當然難不倒他。回港一周後,他收到獲聘通知,8月先到位於愛爾蘭都柏林的facebook歐洲總部報到,待工作證辦妥後,10月再到美國矽谷的facebook總部履新,正式成為朱克伯格(Mark Zuckerberg)麾下一員。

盼藉工作提升實力

初踏職場,羅維漢希望在facebook提升實力,目標是成為出色的軟件工程師。「從事電腦程式設計的滿足感來自兩方面:首先是能夠解決艱難的技術問題;其次是編寫一個受歡迎的電腦程式,會有『我能影響全世界』的感覺!」

或者有人認為羅維漢「好彩」。但單憑運氣,不足以使一個人成功。不愛出風頭的他,一直默默地進修電腦知識以裝備自己,爭取每個比賽的機會展示才華。正因如此,他才能引起facebook的注意,獲得別人夢寐以求的工作機會。

個人檔案

羅維漢,2012年中大計算機科學及計算機工程學系畢業生,在學期間3度代表中大參加ACM比賽。在最新一屆全球總決賽,他帶領隊伍勇奪銀獎。熱愛程式設計的他,畢業後加入facebook擔任軟件工程師,展開人生新的一頁。