怎麼帶新人進入軟體團隊?

美國許多大公司的招聘流程都很複雜,這裡面除了官僚體系的影響之外,更重要的其實是因為 “招錯人進團隊比不招人還糟糕“,團隊的氣氛和軟體的品質都很容易被一個不適任的新人給搞砸。不過,從公司決定要聘雇,到員工正式報到,公司就花上一萬美金也是很常見的,這包括了新人的搬家費(假如新人原本住在外州)、面試的機票、旅館,以及面試官的時間。既然公司都花了這麼多錢,假如這個新人來了之後水土不服做沒多久就離職,公司的錢就真的是丟到水裡去了。於是,怎麼帶新人進入這個團隊,就是維持團隊戰力的重要課題了。

新人誰來帶?

帶新人並不是一件輕鬆的工作,第一個,它真的花時間;第二個,成就感不高。公司要補人,就代表工作確實夠多,不然也不需要多找人進來,而在這個時候卻要再塞一個帶新人的工作,對任何人來說都是佔去原本有生產力的時間。而教給新人的事又往往是自己已經知道的事,要是遇到依賴性高的新人就真的像是幫他做事一樣,所以當然大家都能閃就閃。

但我認為帶新人是一個重要的流程,除非專案真的是完全沒有空隙,不然應該由非管理職的員工來做。

為什麼基層員工該帶新人?

為什麼不是由管理職的主管來做?首先,這是一個練習如何指導(coach)其他人的機會。在美國軟體業常會把晉升的途徑分為兩條: 獨立貢獻者 (Independent Contributor, 或 IC) 或 管理職 (Manager),兩者之間並沒有誰高誰低的問題。管理者需要管理別人、幫他們做年度評量、調薪、職涯規劃等事,而獨立貢獻者 (IC) 則是以技術方面的產出為主要貢獻。IC 也同樣可以升職到像是 architect 或是 principle engineer 這樣等同於 director 的職位,帶領整個團隊進行開發。不管是 Manager 還是 IC,兩者都需要指導或帶領人,只是技術比重的差異而已。對一個主管來說,如何培養既有團隊員工的指導能力,是從這個過程發掘哪些人比較適合帶人、哪些人適合帶技術,是建立團隊的一定要經歷的。

簡而言之,帶新人除了是給基層員工練習以外,也是 IC / Manager 的分類帽。同時,由於帶人的和新人之間不一定有從屬關係,進公司的時間又不會差太多,新人比較不會怕問題。

為什麼 “我” 要帶新人

就算對於團隊是有利的,放到小我的角度來看,這件事對 “我” 有什麼好處?

就我來看,至少有以下幾個好處:

  • 練習 coach 的能力,瞭解新人進來後會遇到什麼問題。
  • 鍛鍊自己的表達能力,包括如何對外人陳述細節;新人就像是你會合作的 PM/Tester,他們對細節不瞭解需要靠你陳述,表達能力對你的未來一定有幫助。
  • 重溫自己當初沒有注意到的技術細節,新人問的許多問題也許會剛好落在你先前不夠深入的地方,或是知其然不知其所以然的原件,透過這個過程來讓自己的技術光譜更完整。
  • 練習如何建立自己的 “聲望”,進團隊的 “梯數” 並不一定能夠為你贏得 “聲望”,但如果你能夠幫助新人解決問題,要建立聲望並不困難。

帶新人之前的準備

在新人來之前,先做好下列的準備:

  • 跟他的主管要一份履歷表,瞭解一下他的背景;順便詢問一下他之後可能會做什麼專案,這些事有助於你們找話題聊天
  • 跟自己的主管確認帶人在專案行程上必須保留的 overhead/buffer,不要讓自己帶了人卻沒得到功勞
  • 如果公司有新人報到大會,確認接人的時間地點

作好兩個心理建設:

  1. 你是留住他、讓他對團隊有向心力的重要角色,要讓他可以有成就感和覺得受歡迎,細節容後再述。
  2. 你不是他的主管,也不是梯數高就了不起,再大的事都是跟他主管反映,請主管處理。

第一天該做什麼事?

  • 協助他找到會用到的資源,大至電腦小至筆記本放哪裡
  • 如果公司有新人要做的事,叮嚀他照表操課
  • 中午要找新人出去吃飯,你不用請客,但不要讓他沒人理,這樣很不溫暖 (我是認真的)
  • 如果公司的慣例是由主管介紹他給同仁認識,那就不用麻煩你;不然的話,趁下午大家反正沒精神工作的時候帶他去拜一下各路碼頭
  • 下班時間到了如果他還在裝忙可以趕他回去,要忙不差這一天

第一週該做什麼事?

  • 用最快的速度跟他一起把開發環境設定好
  • 如果公司有設定新環境的文件可以遵循,但在照表執行過程中發現有漏誤的地方,請他幫忙修正 (如果是 wiki-like 的文件就更好了)
  • 找一個簡單的 bug,讓他在第一週就可以幫忙解一個 bug,讓他有參與感
  • 介紹他給即將參與的專案 PM / test 認識,並解釋這裡的軟體開發流程
  • 如果有 team event、或是重要的例會,不要忘了抓他去

第一個月該做什麼事?

  • 讓自己儘可能對他的問題保持耐心,但如果你需要專心,也要明確的告訴他你不希望被打擾的時間和原因
  • 記錄自己花的時間,並忠實的反映在你的時間表上,帶新人是團隊的投資,而你應該得到應有的 credit
  • 如果你很無聊或想睡的時候就可以去找他聊天,要記得你可能有很多朋友但他可能一個都還沒有
  • 慢慢的讓他自己摸索
  • 保持和他主管的良好溝通管道,忠實的表達你所觀察到的優缺點

每一個技術人才進到一個新團隊都不可能馬上發揮長才,必須要先有歸屬感、願意融入、並且通過學習門檻後才真的會有產能。所以不管是不是照上面的作法,但幾個重點要抓住:

  1. 減少挫折感
  2. 建立歸屬感
  3. 增加成就感

這樣才能夠減少新人離職的比例,也省得一天到晚要面試新人,更浪費時間!

相關閱讀:
面試技術夥伴的心得 – 問、聽、追

Advertisements

2 thoughts on “怎麼帶新人進入軟體團隊?

  1. Pingback: 不要便宜賣掉自己的青春 – 談新鮮人的起薪 : Pesty’s Articles

Comments are closed.