使用者工具

網站工具


society:interview

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
society:interview [2008/10/28 16:21]
wenpei
society:interview [2011/11/14 15:34] (目前版本)
wenpei 面試技術夥伴的心得 – 問、聽、追
行 1: 行 1:
 +====== 面試技術夥伴的心得 – 問、聽、追 ======
 +http://​pesty.yichi.org/​blog/​2011/​10/​08/​interview_technical_partners/​
 +
 +Posted by pest
 +
 +從一年多前開始幫公司面試新人之後,累積下來也算是蠻有趣的經驗,從這些面試者身上其實也可以看到自己的投射,對自己的職涯成長其實也有些幫助。雖然我還沒辦法面試技術管理職,不過對於第一線的面試倒是有些心得可以整理下來給大家參考。
 +
 +避免可能引起歧視爭議的問題和用詞。
 +
 +這在美國幾乎是面試官必修的課程,人沒招到先害公司被告就太慘了。台灣雖然在這方面規定鬆很多,但我認為還是應該以高標準看待這件事,原因無它:來面試的技術人員都是潛在的業界合作對象,就算今天面試不錄取,不代表將來碰不到;再加上現在網路分享面試過程太普遍,因為羞辱或歧視面試者而打壞公司形象根本不值得。
 +
 +至今我還沒遇到有技術夥伴是需要靠問歲數、年齡、婚姻、家庭狀態才能決定錄取與否的,以這行來說這些問題幾乎是完全沒有意義。
 +
 +**作準備**
 +
 +很妙的是,很多面試官並不一定會先看履歷表。當然,忙起來的時候,面試真的是一件吃力不討好的事。不過,有準備和沒準備對於面試執行的效果還是有很大差異的;面試的這一小時是公司讓你來執行把關的工作,如果沒有辦法多發掘一些面試者的特質,對公司來說就是浪費錢。
 +
 +準備有幾個面向: 1) 讀履歷,找出有趣的資訊,這包括履歷表上不連貫的年份、過去主要做的領域; 2) 跟其他面試官協調,看自己這關的主要目的是什麼;​ 3) 準備適當的問題庫。
 +
 +在美國準備工作可能還包括找出面試者的名字該怎麼唸 XD
 +
 +**面試前**
 +
 +儘量讓自己在面試前不要有會議,以免會議拖延時趕去面試時比較匆忙,進而影響判斷力或影響到面試者表現。提早幾分鐘到外面等待以免上個面試官已經無話可聊;趁面試者去倒水時和前個面試官重新確認面試的重點,或是是否需要調整方向或加強有疑問的領域。
 +
 +**面試開始**
 +
 +穩住面試者的情緒,不管他上一關表現如何,這一關的表現最好是不要因為前面表現不好而受影響。給他一些時間喘息,常用的方法包括:
 +
 +  * 對面試者自我介紹:​ 說明你的職務、資歷和日常工作。
 +  * 請他簡單自我介紹:​ 問問他現在在做的專案、最有趣的專案,以及在業界的經驗 (不要扯到家庭去…)
 +  * 問些完全無關的問題:​ 天氣、旅館、飛機 (如果從外地來的話),甚至是他的閒暇興趣
 +
 +為什麼要儘可能保持氣氛輕鬆?一個殘酷的事實是,如果他的能力不錯,往往也有別家公司要他,不要讓他覺得跟你合不來而選擇不來本組了。面試的問題可以很難,但沒必須裝作高高在上刁難人。
 +
 +**進入主題**
 +
 +有些面試者的自我介紹很長,適時的打斷他以便進入真正的面試主題;真正的主題通常是一個技術問題。進入主題後,我的心得是要 “問、聽、追”。
 +
 +  * 問:​問一個有目的的問題
 +  * 聽:​仔細聽面試者的回答
 +  * 追:​針對答案的漏洞,追問細節
 +
 +什麼是有目的的問題?好的問題應該可以幫助你瞭解這個面試者。以軟體業來說,簡單的矩陣置換或是加總就可以快速刪掉一些技術能力完全不達標準的面試者,通常我都會用一些簡單的問題來快篩面試者的程度,再依據程度選擇下一個問題是什麼。這是目的之一。而進階的問題,往往是有漏洞或是陷阱的,我的目的就變成要看他們怎麼找出出題的漏洞、並解決這個漏洞。
 +
 +聆聽的重要性當然也不言可喻;除了聽之外,也要表現出參與感,讓他們可以像是和同事討論一般的狀況下答題,畢竟我們要找的又不是在壓力下按核彈發射鈕的人。同時,也要試著去找出可以追的問題。
 +
 +追,是去追問他回答中的漏洞、或是他推理的過程為何。有時候他們會只給答案、或在白板上寫出程式,要追問他們怎麼找出答案、設計的假設是什麼。
 +
 +**收尾**
 +
 +作為面試的主持人,要記得控制時間,以便有一個收尾的時間。收尾的時間通常是提供給面試者問問題的,往往他們會問的不外是工作性質、應徵流程、團隊文化等等。
 +
 +有一些面試者面試到我這關時,前面的面試官都已經給了很正面的評價,這種狀況下收尾就有另一個用途,就是要開始對面試者推銷了。所謂的推銷就是要讓他對這裡的工作有興趣,如同前面說的,好的人才大家都要,假如薪水大家都出得起,決勝的關鍵當然還是人,要讓他喜歡這個團隊勝過別家公司冷冰冰的面試官,讓他覺得之後來這邊應該蠻有意思的。相信我,有些人會因為可以找到人一起打電動加入一家公司的….
 +
 +收尾當然也包括把面試者交給下一個人,記得介紹他給下一位面試官,詢問他是否需要休息,以及和下一個面試官簡單交喚一下面試狀況。如果你是最後一個面試者,記得送面試者離開,或護送他去找人事。記得自己代表公司,別讓自己的跩樣被人家分享到網路上面試心得…
 +
 +**作決定**
 +
 +最終當然還是要作一個獨立的決定,美國這邊通常還要寫一份書面的簡單報告存檔,以避免到時候人家回頭來告歧視時完全不記得問了什麼。我通常會分成三個面向來看:技術能力是否達標、是否可以和組員合作、對工作是否有熱情。
 +
 +前兩個還蠻常見的,不過第三個倒是不少技術求職者的問題。有些人可能現在工作或生活不愉快,在面試時就顯得非常消極,對事情似乎沒有熱情,我自己對於這點倒是蠻在乎的,因為這種氣氛還蠻容易影響到團隊士氣的。要測試這個特質說起來也很容易,只要問他們自己最自豪的專案,如果他們連在講的時候都沒有一點熱情,那我就會在這方面扣分了。
 +
 +一些心得,提供其他有興趣的人參考囉。
 +
 +====== 怎麼帶新人進入軟體團隊? ======
 +http://​pesty.yichi.org/​blog/​2011/​10/​26/​how_to_coach_new_partners/​
 +
 +Posted by pest
 +
 +美國許多大公司的招聘流程都很複雜,這裡面除了官僚體系的影響之外,更重要的其實是因為 “招錯人進團隊比不招人還糟糕“,團隊的氣氛和軟體的品質都很容易被一個不適任的新人給搞砸。不過,從公司決定要聘雇,到員工正式報到,公司就花上一萬美金也是很常見的,這包括了新人的搬家費(假如新人原本住在外州)、面試的機票、旅館,以及面試官的時間。既然公司都花了這麼多錢,假如這個新人來了之後水土不服做沒多久就離職,公司的錢就真的是丟到水裡去了。於是,怎麼帶新人進入這個團隊,就是維持團隊戰力的重要課題了。
 +
 +**新人誰來帶?**
 +
 +帶新人並不是一件輕鬆的工作,第一個,它真的花時間;第二個,成就感不高。公司要補人,就代表工作確實夠多,不然也不需要多找人進來,而在這個時候卻要再塞一個帶新人的工作,對任何人來說都是佔去原本有生產力的時間。而教給新人的事又往往是自己已經知道的事,要是遇到依賴性高的新人就真的像是幫他做事一樣,所以當然大家都能閃就閃。
 +
 +但我認為帶新人是一個重要的流程,除非專案真的是完全沒有空隙,不然應該由非管理職的員工來做。
 +
 +**為什麼基層員工該帶新人?**
 +
 +為什麼不是由管理職的主管來做?首先,這是一個練習如何指導(coach)其他人的機會。在美國軟體業常會把晉升的途徑分為兩條:​ 獨立貢獻者 (Independent Contributor,​ 或 IC) 或 管理職 (Manager),兩者之間並沒有誰高誰低的問題。管理者需要管理別人、幫他們做年度評量、調薪、職涯規劃等事,而獨立貢獻者 (IC) 則是以技術方面的產出為主要貢獻。IC 也同樣可以升職到像是 architect 或是 principle engineer 這樣等同於 director 的職位,帶領整個團隊進行開發。不管是 Manager 還是 IC,兩者都需要指導或帶領人,只是技術比重的差異而已。對一個主管來說,如何培養既有團隊員工的指導能力,是從這個過程發掘哪些人比較適合帶人、哪些人適合帶技術,是建立團隊的一定要經歷的。
 +
 +簡而言之,帶新人除了是給基層員工練習以外,也是 IC / Manager 的分類帽。同時,由於帶人的和新人之間不一定有從屬關係,進公司的時間又不會差太多,新人比較不會怕問題。
 +
 +**為什麼 “我” 要帶新人**
 +
 +就算對於團隊是有利的,放到小我的角度來看,這件事對 “我” 有什麼好處?
 +
 +就我來看,至少有以下幾個好處:
 +
 +  * 練習 coach 的能力,瞭解新人進來後會遇到什麼問題。
 +  * 鍛鍊自己的表達能力,包括如何對外人陳述細節;新人就像是你會合作的 PM/​Tester,他們對細節不瞭解需要靠你陳述,表達能力對你的未來一定有幫助。
 +  * 重溫自己當初沒有注意到的技術細節,新人問的許多問題也許會剛好落在你先前不夠深入的地方,或是知其然不知其所以然的原件,透過這個過程來讓自己的技術光譜更完整。
 +  * 練習如何建立自己的 “聲望”,進團隊的 “梯數” 並不一定能夠為你贏得 “聲望”,但如果你能夠幫助新人解決問題,要建立聲望並不困難。
 +
 +**帶新人之前的準備**
 +
 +在新人來之前,先做好下列的準備:
 +
 +  * 跟他的主管要一份履歷表,瞭解一下他的背景;順便詢問一下他之後可能會做什麼專案,這些事有助於你們找話題聊天
 +  * 跟自己的主管確認帶人在專案行程上必須保留的 overhead/​buffer,不要讓自己帶了人卻沒得到功勞
 +  * 如果公司有新人報到大會,確認接人的時間地點
 +
 +作好兩個心理建設:
 +
 +  - 你是留住他、讓他對團隊有向心力的重要角色,要讓他可以有成就感和覺得受歡迎,細節容後再述。
 +  - 你不是他的主管,也不是梯數高就了不起,再大的事都是跟他主管反映,請主管處理。
 +
 +**第一天該做什麼事?**
 +
 +  * 協助他找到會用到的資源,大至電腦小至筆記本放哪裡
 +  * 如果公司有新人要做的事,叮嚀他照表操課
 +  * 中午要找新人出去吃飯,你不用請客,但不要讓他沒人理,這樣很不溫暖 (我是認真的)
 +  * 如果公司的慣例是由主管介紹他給同仁認識,那就不用麻煩你;不然的話,趁下午大家反正沒精神工作的時候帶他去拜一下各路碼頭
 +  * 下班時間到了如果他還在裝忙可以趕他回去,要忙不差這一天
 +
 +**第一週該做什麼事?**
 +
 +  * 用最快的速度跟他一起把開發環境設定好
 +  * 如果公司有設定新環境的文件可以遵循,但在照表執行過程中發現有漏誤的地方,請他幫忙修正 (如果是 wiki-like 的文件就更好了)
 +  * 找一個簡單的 bug,讓他在第一週就可以幫忙解一個 bug,讓他有參與感
 +  * 介紹他給即將參與的專案 PM / test 認識,並解釋這裡的軟體開發流程
 +  * 如果有 team event、或是重要的例會,不要忘了抓他去
 +
 +**第一個月該做什麼事?**
 +
 +  * 讓自己儘可能對他的問題保持耐心,但如果你需要專心,也要明確的告訴他你不希望被打擾的時間和原因
 +  * 記錄自己花的時間,並忠實的反映在你的時間表上,帶新人是團隊的投資,而你應該得到應有的 credit
 +  * 如果你很無聊或想睡的時候就可以去找他聊天,要記得你可能有很多朋友但他可能一個都還沒有
 +  * 慢慢的讓他自己摸索
 +  * 保持和他主管的良好溝通管道,忠實的表達你所觀察到的優缺點
 +
 +每一個技術人才進到一個新團隊都不可能馬上發揮長才,必須要先有歸屬感、願意融入、並且通過學習門檻後才真的會有產能。所以不管是不是照上面的作法,但幾個重點要抓住:
 +
 +  - 減少挫折感
 +  - 建立歸屬感
 +  - 增加成就感
 +
 +這樣才能夠減少新人離職的比例,也省得一天到晚要面試新人,更浪費時間!
 +
 +====== 程式人員的面試心得及基本原則 ======
 +http://​piratechu.pixnet.net/​blog/​post/​1891437
 +
 +
 <​code>​ <​code>​
 作者: solanohane (,...) 看板: Tech_Job 作者: solanohane (,...) 看板: Tech_Job
society/interview.1225182065.txt.gz · 上一次變更: 2008/10/28 16:21 由 wenpei