微軟老兵看軟體開發#8:微軟如何精準招募人才/葉光釗
之前在談解題能力的時候,曾經提到微軟招募工程人才的方法;這一篇就來深入一點談人才招募的話題。
在美國或是中國等微軟工程團隊的重點投資地區,人才招募其實是管理階層日常工作的一部分;不含實習生,資深一點的微軟經理人,每周大概都要面試三到五個人。這樣大的工作量,逼得大家必須要用系統化的方式應對,不然會很沒有生產力。
本質上來說,人才招募跟找男女朋友,甚至或更直接一點說,和相親的過程是很類似的;都是要在短時間之內,測驗出對象是否符合預定的側寫(profile)以及期望。只不過人才招募的風險更高,因為中間能相互了解的時間是極有限的。
基於這樣的挑戰,像微軟這樣資源比較多的大型公司,就會在前置準備工作上面下功夫,盡可能提高人才招募的成功率。
大公司的人才招募前置作業
那麼,微軟會做哪些前置作業呢?以筆者的觀察,第一步是盡量具體化對每個職位角色(profession role)的期望。在微軟內部,有一套稱為CSP(Career Stage Profile)的系統,就是用以定義每一種職位以及等相對的職等該做的事情。CSP對管理階層有很多用途,其中一個就是用來做人才招募的基本參考。
特別要說明的是:CSP 裡面的內容,是以職能(competence)為軸心,而不是技能(skill set)。兩者間的差別,舉例來說大致如下:解題能力或是設計能力是屬於職能,而C++或Java程式設計是屬於技能。
由職能出發來設計面試的問題及流程,就是所謂的「以職能為基礎的招募」(competency-based recruiting)。筆者並非HR專業,所以並不確定這背後是不是有專門學理;不過這套方法在微軟內部用了至少十年以上。
當然,沒有人敢說這套方法完美無缺,就像相親認識的男女不見得日後一定婚姻美滿一樣;不過對發展中的企業組織,這種方法還是有一些參考的價值。
微軟如何實際進行人才招募
微軟如何使用CSP來進行後續的流程,包含大家最有興趣的面試?
跟很多公司一樣,微軟每一次招募都會有負責人,通稱hiring managers。在進行面試之前,hiring manager要跟面試官(通常都是自己或是熟悉的團隊的資深成員)間開一次會,決定每個人在面試過程中負責提問的職能範疇,以及面試的問題以及形式。
一般來說,微軟的面試問題形式,大概有下面幾種:
標準型:有標準答案,看看能不能回答得出來,通常就是筆試。
探索型:開放性的問題,例如「如何測試一台自動販賣機」,或是「如何設計小吃店的點菜及結帳流程」,看的是設計能力。
智力型:近似於奧林匹亞的難題,例如 「n, n+1, n+2 n>10 如果n, n+2皆為質數,則n+1可被6整除」,看的是純IQ。
動手型:透過請面試者實際參與實際團隊活動,觀察行為與反應。
壓力型:藉著挑戰面試者的答案,逐步提高互動的緊張度。
當然實際情況多半是以上的綜合,由面試官自由發揮;這就是必須要由資深人員進行面試的原因。由於測試的面向是以職能為主,所以面試官問的通常都是開放式問題,而技能的部分通常會用筆試進行。
另外每次進入下一道關卡之前,負責本次面試的面試官,要跟前一關的面試官開個快速會議,了解上次面試的結論,以決定要不要修改面試方向。
微軟面試流程最大的特點,是有一個「As Appropriate」的角色。AA通常是高階主管擔任,不過重點並不只是以長官身分進來看看面試者長的是圓的還是扁的;AA的責任是來確保整個面試流程沒有盲點。如果面試官有一面倒(不論是決定聘用或不聘用),AA有責任查核並且提出平衡意見;必要時還能動用否決權。
以上雖然只是概括描述筆者所知的微軟招募過程,不能代表所有個案,不過筆者希望還能給有興趣加入微軟,或是計畫建立系統化面試流程的公司一點參考。