剛入職新團隊要如何快速進入狀況

2022年12月4日

💎 加入 E+ 成長計畫 與超過 300+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

在換工作或是換組後,很可能會遇到與原本做的事毫不相關的全新業務,會碰到陌生的程式碼,需要了解沒碰過的商業邏輯,同時也要跟新同事們建立關係。筆者過去曾經待過兩個截然不同的軟體開發團隊,也體認到快速融入團隊、快速開始能有產出的重要性。所以在今年換工作前,特別花了點時間研究這個主題。這篇文章將會總結一些我讀到後覺得很有幫助的要點,分享給一樣要加入新團隊的人。

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,在工作上有任何煩惱都可以聊,也可以聊長期的職涯發展。

記錄下你的學習

在加入新的團隊後,不論是你做過的項目,或是過程中的學習,務必要記錄下來。記錄下來除了可以深化自己的學習,也會對於日後要跟主管談升遷會有幫助。甚至如果未來要跳槽,在履歷或者行為面試上,這些紀錄會幫上大忙。

參考資料

這邊附上我在研究這主題時讀到很有幫助的文章

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們