剛入職新團隊要如何快速進入狀況
2022年12月4日
在換工作或是換組後,很可能會遇到與原本做的事毫不相關的全新業務,會碰到陌生的程式碼,需要了解沒碰過的商業邏輯,同時也要跟新同事們建立關係。筆者過去曾經待過兩個截然不同的軟體開發團隊,也體認到快速融入團隊、快速開始能有產出的重要性。所以在今年換工作前,特別花了點時間研究這個主題。這篇文章將會總結一些我讀到後覺得很有幫助的要點,分享給一樣要加入新團隊的人。
Career Cold Start Algorithm
Career Cold Start Algorithm 是 Meta 的 CTO — Andrew Bosworth 幾年前在網上分享的方法。他在加入任何新團隊時都會使用。這個方法很簡單,只有三步驟:
- 找團隊裡的人,花 25 分鐘向他請教任何你需要知道的事。過程中有任何不懂的事情或名詞,一定要釐清到弄懂為止
- 接著再花 3 分鐘了解目前團隊遇到最大的挑戰
- 最後花 2 分鐘問他推薦哪些人是你應該去聊聊的,寫下所有他推薦的人
拿到第三步驟的名單後,對名單上的人重複這三步驟,直到沒有任何新的名字被推薦為止。
這三個步驟有其各自的目的。步驟一可以讓你了解團隊目前的概況,因為會跟團隊中不同人聊,透過這步驟可以讓你逐步拼出一個完整的圖像,對團隊狀況有更全面的了解。
步驟二則是讓你知道團隊現在有哪些挑戰,這些挑戰將是你的機會,如果你能夠協助解決這些挑戰,你將能在團隊中建立好的聲譽,以及受團隊其他成員信賴。雖然有些挑戰不是能立馬解決,但有些事情是常被忽略但可以被立刻處理的,例如「我們浪費了很多時間在會議上」,Andrew Bosworth 會優先著手這類可以被解決且能產生正向影響力的問題。
步驟三除了讓你能獲得不同角度切入,讓你可以更全面的了解組織外,也可以讓你更了解組織動態。在過程中,你可以觀察誰的名字最常被其他人提到,了解誰的影響力比較大。
這三個步驟除了讓你能更了解要加入的新團隊。更關鍵的是你問問題的過程,是對團隊展現你尊重團隊。比起很多人加入新團隊就直接提一些空降的方案,先去了解團隊的脈絡,更能讓既有團隊成員感到被尊重。這是個常被忽略但重要的要素。
如何在短時間內上手新工作
除了上面提到的方法外,有另一個我讀到覺得值得紀錄的方法,是由 Amazon 的工程總監 Dave Anderson 提出的方法。他把上手分為三個面向 — 產品、夥伴、系統。
產品
- 產品主要的客戶是誰? 不同客戶的營收分佈為何?
- 產品有哪些功能? 其中又屬哪幾個功能最重要? 最常被用到?
- 目前團隊最看重哪幾項產品指標? 為什麼最看重這幾項?
夥伴
- 在團隊中有哪些夥伴? 他們的資歷分別為何? 你最常需要跟誰合作?
- 在公司內部還有哪些合作夥伴? 因為什麼業務需要跟他們合作? 這些不同合作夥伴的重要優先順序分別為何?
- 有外部合作夥伴嗎? 他們是誰? 分別在做什麼的?
系統
- 公司與團隊的系統間彼此如何連接?
- 公司與團隊的系統中,使用哪些核心技術?
- 這些系統有哪些不同狀態?
很多人會隨著自己的業務而逐漸上手新工作,以工程師為例,很多工程師在修復 bug 的過程中去逐漸了解系統。不過 Dave Anderson 的觀點是這樣會拖太久才能完整上手。要主動去釐清上面的問題,藉此來加速上手速度。
如何贏得團隊的尊重與信任
主動問自己能幫什麼忙
在我讀到的很多篇文章中,都有提到,主動問主管或同事,有哪些棘手、重要但還沒被做的任務,然後自願提說自己要做。這些事可能是某個技術問題,也可能是團隊協作的問題。記得,當你做完後務必要同步給團隊。同步你的進度對建立自己在別人眼中的形象很重要,假如你做完但沒有跟別人同步,其他人可能因為忙,所以不知道你有這個貢獻。所以除了主動問、主動幫忙,也千萬記得主動同步你的產出。
任勞任怨做出高品質
在這篇某位 AWS 工程師的回顧中,他提到任勞任怨地把髒活做出高品質,可以贏得組上其他人的信任。因為你剛加入,對業務還不熟,團隊肯定不敢把重要任務貿然交給你。雖然剛開始拿到的項目可能不是最有趣的,但好好地做出高品質,才可以一步步贏得團隊中其他人的信任。這篇前 Meta 主任工程師的回覆也提到,一開始在任務中展現你的技術深度,展現你做事的品質,盡可能讓自己的 PR 品質都做到極致,這可以讓別人更快信任你。
如何在新團隊快速學習
多問問題但要先做功課
加入新的團隊,肯定會有很多東西是不熟悉的。因此在這個階段要盡可能多問問題,特別是前一個月,大家會認為你剛加入多問點問題沒關係,但當你加入團隊越久,大家對你的期望會轉變成你應該已經熟悉團隊的業務。
雖然一開始要多問問題,但問之前也務必要先做功課。在問問題前,先確認以下幾點是有想清楚的。這邊提供大家一個模板:
- 我要達到什麼目標? 在達到目標的過程遇到什麼困難?
- 在解決困難的途中我試過什麼方法? 查過什麼資料?
- 因為試了這些方法與讀了這些資料仍無法解決,想問你有沒有什麼建議?
記得,在問完問題後,務必要做筆記。不要未來問重複的問題。如果問重複的問題,會讓人覺得你不夠細心,之前問過的問題怎麼馬上就忘。重複的問題問多了,別人可能覺得你又來浪費他的時間,這會有損你在團隊中的聲譽。
不要只是做項目,要了解背後細節
在做被分配到的任務時,不要只是做,要好好地了解使用的工具以及相關的商業邏輯,這對加速上手會有幫助。前 Twitch 工程師 Theo 推薦多去看過去別人發的 PR,特別是 PR 中的討論,這可以讓你知道「為什麼」過去某個是這樣寫,這能讓你更清楚不同功能的開發歷程。
找導師 (mentor)
除了自己的直屬主管,在公司中找到一個非直屬關係的導師也會很有幫助。這位 Amazon 工程師的貼文就說到,找導師可以是在公司內網滑其他人的資料,約對方每兩週一次 1:1,在工作上有任何煩惱都可以聊,也可以聊長期的職涯發展。
記錄下你的學習
在加入新的團隊後,不論是你做過的項目,或是過程中的學習,務必要記錄下來。記錄下來除了可以深化自己的學習,也會對於日後要跟主管談升遷會有幫助。甚至如果未來要跳槽,在履歷或者行為面試上,這些紀錄會幫上大忙。
參考資料
這邊附上我在研究這主題時讀到很有幫助的文章