教我寫程式的凱文, 繼前一陣子在電視上被訪問後,
現在又上報了...
X X X
想進Google?不只聰明,還要具備執行力
文/王宏仁 (記者) 2007-08-31
Google人現身說法,Google需要的工程師特質,不只聰明,還要執行力,而且能清楚自己的目標,才足以駕馭充沛的開發資源。
第一批進入臺灣Google工程研究所的軟體工程師劉宗原認為聰明才能作對事情,有執行力才會完成任務。
Google在臺成立工程研究所之後,即成為臺灣軟體工程師最嚮往的工作場所之一。但成立至今一年半,也僅招募了二十餘人,所長簡立峰曾表示不少人因為太緊張臨場無法發揮,他表示Google沒有名額上限,仍需要更多人才能完成Google的目標。Google需要什麼樣的人?進去後又將面臨什麼樣的工作環境?日前 iThome特別採訪第一批臺灣Google工程師劉宗原,請Google人親自現身說法。
劉宗原是第4位Google臺灣工程研究所正式工程師,自2006年11月進入Google至今,開發出iGoogle臺灣版與香港版。他也是工程師招募時的面試官之一,負責面試通過電話口試的應徵者,平均每周一位,至今他已經面試了近30人。
用全球標準篩選劉宗原首先強調:「Google是非常實際的公司。」因此招募工作也很務實。他說明每次面試的形式,會請應徵者當場完成一個合理的程式,再詢問相關的程式設計概念、資料結構、演算法等問題。因為Google希望了解這個人是否會寫程式,劉宗原澄清不會用刁鑽或腦筋急轉彎的考題來刁難應徵者。他建議應徵者先熟悉演算法或資料結構會有幫助。
面試的程式考題,面試官都已事先知道有哪些不同版本的寫法,包括多數人常見解法、最差的寫法到最佳最有效率的演算法,針對不同的程式品質,會有不同的評分。劉宗原表示面試官都相當慎重:「每次面試,事前準備要1小時,面試45分鐘,之後還要花時間列出每題解法的優缺點,再給總積分。」
應徵過程中,Google人事部門先做過濾,特別會確認大學成績單,同時也打電話給每一位應徵者所列的推薦人,詳細了解應徵者的特質和品德。通過資料審查者,需先通過1∼2次電話面試,才能進到Google臺灣工程研究所,由所長或資深工程師3∼4人進行面試。通過臺灣工程研究所認可者,如同全球其他地區,應徵者的綜合成績都彙整到美國總公司由Google高層組成的委員會中進行排名。只有應徵成績在Google全球排名中,能夠進入每梯次錄取名額的人,才能獲得錄取。未達標準者也不保留,下一梯次全部重新計分,重新排名。
Google招募不分地區,將全球的軟體工程師放在一起比較,坊間謠傳每次面試要耗費半年,但劉宗原笑著說:「我8月遞履歷,9月就收到錄取通知,實際上比預期快很多。」
聰穎和執行力缺一不可什麼樣的人可以通過這樣嚴格的全球標準?劉宗原強調:「重點是看(這個人)進Google會不會成功,會不會開心。」是不是一定要天才才能成功,他認為未必。他解釋:「只要夠Smart就可以,不一定是要天才,更重要的是,還必須能Get things done。」
這個Smart好比說以排序一百萬個數字為例,寫得好的程式,電腦只要一秒鐘就能處理結束。寫得差的程式,可能電腦要花一個小時才處理得完,這樣是差的結果。劉宗原說:「如果這個人只能寫得出差的結果,這個人我們就不要他。」
而Get things done呢?他進一步解釋:「有這個特質時,不管有些不懂,或者難以完成,還是會努力把任務完成,就是執行力。也蠻重要的。」
劉宗原說:「天才雖然能創造很多想法,但若沒辦法完成,還是一點貢獻都沒有。」Google相當重視實際貢獻。所謂實際貢獻,可以從工程師的年度考績方式看出一些端倪。工程師在年度考評時,需自行列出一年來對公司的貢獻,再提供給同儕考評,例如完成多少產品,面試多少人,提高多少流量或使用者等實質貢獻,而不是想出多少點子。劉宗原認為這是Google和學術圈很大的不同之處,天才可以是很好的研究者,但不一定是很好的工程師。Google希望能解決實際的使用者問題,而不是嘗試各種可能的計畫,所以能夠把事情完成的執行力很重要。面試時他會透過一些假設題目來了解應徵者面對問題的心態,了解對方是否具備執行力。
但若只有執行力也是不行。劉宗原還是以寫程式為例,很會寫一堆程式,但是Bug一堆,還要其他同事幫忙收尾,這樣也不行,他說:「會作很多事情,但都作錯事情,更遭,Google希望能確保工程師作正確的事情。」
清楚自己的目標才能駕馭Google的自由與其他軟體公司很大不同,Google對內資訊相當公開。除了核心計畫(如搜尋品質)或機密計畫以外,劉宗原表示任何Google軟體工程師,都可以接觸到各種產品計畫的所有資訊,甚至連每一個人什麼時候進辦公室都可以從網路看到,可以隨時和對方聯繫。他表示:「我們可以看到每一個Project 的文件跟程式碼,而且幾乎都可以去改它。等於是你喜歡作什麼Project,你就可以去作。」他接著補充:「只要覺得有需要,就能直接修改程式碼。覺得文件不夠詳細,就能用Wiki直接編輯。」,透過內部程式碼版本控制系統,只要修改內容通過計畫負責人認可,就能更新到產品中�A等於參與該計畫。
此外,Google人很容易能向數千個開發人員請教,劉宗原指出很多想作的事可能別人已經做好了,直接請教對方就夠,在Google中多數人都樂於回應。但也不需要花很多時間溝通,他說:「我們的文件都很齊全,大部分時間去看文件就可以。」詳細文件說明,完整的程式碼,剩下的都是工程師自己的功課。但這樣的環境卻讓劉宗原實力大增:「在Google幾個月,比起過去好幾年學的還要多更多。」
Google工程師可以有很高的自主權,也不會受到組織框架的制約。因為Google組織的結構只有四層(CEO、VP、Director與工程師),所長簡立峰就是數十位Director其中之一,最下層是1萬多名員工,其中約4∼5千人是工程師。高層通常只提供開發方向的指引,例如目前方向以整合產品或改善產品為主,或者是列出有哪些專案需要人手,有興趣的人可以參與,但不會規範工程師要怎麼作,不會有人來教導工程師,也沒有太多組織框架來管理。
要能駕馭這樣豐沛的資源和充分的自由,劉宗原表示,只有自己知道自己真正想做什麼,才能夠去實現,這也正是成為Google人的必要特質。文☉王宏仁
原始新聞出處