2008年3月1日 星期六

[轉錄-ptt2] Google台灣首位軟體工程師 廖碩鵬

作者 NEOdesu (NEOdesu) 看板 AAAAAAAA
標題 [分享] Google台灣首位軟體工程師 廖碩鵬
時間 Fri Feb 15 22:08:26 2008
───────────────────────────────────────

引用網址:http://forum.30.com.tw/Board/show.aspx?go=647


讓寵物陪你上班、百英呎內絕對有食物免費供應、工作累了還可以躺在懶人沙發上休息,
這樣的工作環境哪裡找?Google有。不過,什麼樣的人才能被Google相中,贏得這個全球
工作者夢寐以求的好職缺?進入Google工作後,是不是真的像一般描述的這麼好,Google
台灣工程研究所聘請的第一位軟體工程師廖碩鵬,以親身經歷告訴你。

闖關赴試 深耕功力升級專業腦袋

進入Google,原先不在廖碩鵬的生涯規畫中,從學生時期就參加各種資訊競賽並獲獎連連
的他,退伍後,拿到幾家美國大學博士班入學許可,因此前往頗負盛名的美國卡內基美隆
大學(Carnegie Mellon University)的語言實驗室參觀。回程,一位已經在美國Google
總部上班的學弟,熱情邀請他參觀這個全球工作者的夢幻工作環境:沒有牆的會議室、戶
外游泳池、知名行政主廚烹調的午餐。

當時廖碩鵬大為震撼,「我一看到四棟建築圍成了一個大草坪,就像是一座校園,而建築
物裡頭到處都是open space(開放空間),幾個人找個地方就可以開起會來,我馬上就被
這種不大像是想像中的辦公室給吸引了。」

他的人生從此轉了個美麗的彎。回到台灣,廖碩鵬決定報考台灣Google。
但是,這個全球知名的網路公司,會考些什麼?廖碩鵬心中一點概念也沒有。雖然網路上
流傳著Google interview秘笈,但Google針對每一位應試者都簽有保密協定,這種秘笈真
的有用嗎?廖碩鵬不敢信任,既然抓不著明確方向,就從基本功下手,決定深耕寫程式的
功力。

廖碩鵬還在台大資工所唸書時,就曾經組團參加第二屆趨勢網路軟體百萬程式競賽,還以
當時最熱門的P2P(點對點)分散式分享系統拿下了軟體程式的冠軍。但為了應付Google
的考試,廖碩鵬特別去找了坊間的程式小問題來做複習,這些問題通常在考驗程式設計者
,如何在資源有限、時間有限的情況下,做出最佳選擇。

得獎,不見得是進入Google的必要條件,但有這樣的經驗,卻讓主考官對廖碩鵬印象加分
,尤其是廖碩鵬在考前重溫寫程式的訣竅,更讓他在臨場面對情境考題時,揮灑自如。

走馬上任 自我鞭策逼出最佳效能

從遞出履歷、接受美國總部打來的電話面試,到最後的在地面試(on-site interview)
,回答主考官提出各式各樣的情境問題,廖碩鵬一共闖過三關,歷時長達一個多月,終於
成為台灣工程研究所第一位錄取的工程師。

從踏進Google開始,廖碩鵬就體會到這家公司聞名全球的人性化管理。雖然Google台灣工
程研究所是從去年4月才成立,福利設施還不比上美國總部,但完全人性化的工作精神,
則是完全移植美國總部,才能讓Google人在這麼大的工作壓力下,還能從工作與生活中取
得平衡。

基本上,工程師一天的行程從抵達辦公室、收收信後,一天寫程式的作息就開始了,「有
時大家寫累了,也會起來串串門子,聊一下現在碰到的困境,但迫使大家休息一下的原因
,則是因為Google的電腦。」廖碩鵬說。原來,程式設計師都是一卯起來,就會忘記時間
,經常幾個小時,甚至一整天盯著電腦不動,Google為了工程師的健康著想,便在電腦中
植入一個小程式,每當計時的時間到了,螢幕或鍵盤就會自動關閉或鎖住,強迫你起來走
動。

不光如此,Google還為每位工作者申請人體工學服務。人體工學調整師會針對個人身體狀
況以及工作型態,幫他們測量身高、軀幹長度,然後量身打造一套完全符合每位工作者人
體工學的桌椅。

廖碩鵬現在的主要工作是改進台灣網站的頁面功能,譬如Google的More page,便是由廖
碩鵬從使用者觀點來進行改版動作;另一方面,台灣的Google工程師也要負責找出英文版
或其他版本已經具備、但台灣版尚未擁有的功能,例如先前發布的Google Map以及
iGoogle,正是Google台灣工程師正在做的事。

加入Google一年多的工作訓練,也開始在耳濡目染間,出現Google工程師的DNA-把事情
做到最好。

創造新局 自由風氣養出嚴謹實力

「在這裡工作最大的感受就是,大家都有一種想把每件事情做到最好的衝動,」廖碩鵬說
,「程式就是要考量到空間與時間,並在這其中取得平衡,所以在Google的工程師都會努
力去找到一個最佳化的演算方法,如果有人提出了一個新的演算法,他會去問大家的意見
,看看是不是有更好的解決方式。」也因此,一種最不浪費記憶體、但卻又能達到最佳效
果的程式,往往就在這種工程師的自我鞭策之下出爐。

每個環節的負責人,都主動想把事情做到最好,因此,儘管Google的工作風氣非常自由,
但產品或服務產出的過程卻非常嚴謹,這種嚴謹不是仰賴制度的鞭策,而是每位工程師都
不願意丟自己的臉。

譬如程式開發過程中,再優秀的工程師,也無法了解所有程式,「Google在軟體發展上已
經有很好的基礎,也有很好的程式,但卻沒有幾個工程師可以認識所有已存在的程式,這
時候就要到處去問資深的工程師。」廖碩鵬說,即便程式完成,撰寫程式的工程師要先寫
一個小程式來測驗,但因為程式常會有錯誤(bug)出現,因此同儕檢查(peer review)
也是一個重要關鍵,等到檢查通過之後,還需要經過一個極為嚴格的QA流程。最後,真正
能夠通過這些考驗的程式,才能夠放上網站運作。

Google人以創造網路新世紀為榮,這是他們血液裡流著的一股驕傲。究竟怎樣的人,才能
進Google?廖碩鵬根據他在工作第一線的觀察,「Google用的人,是能真正解決問題的人
。」而對廖碩鵬來說,「能進入Google,就是證明自己的一種方式。」


--

沒有留言: