Google 的軟體工程之道 (23) — 領導團隊

https://innovecs.com/blog/building-software-development-teams/

此系列為 【 Google 的軟體工程之道 】一書的書摘與點評,期待用最精要的文字,帶來豐富的內容分享。預計 2~3 周左右會有一篇更新,歡迎追蹤支持!

【 Google 的軟體工程之道 】全系列: https://medium.com/@johnliutw/list/da301cc31b15

領導的方式

  1. Engineering Manager,具有軟體背景,負責處理人的問題,包括績效、生產力和在團隊的幸福感,並確保團隊產出符合公司需求
  2. Tech Lead,負責技術選型、架構、優先順序和專案管理,確保團隊具體負責工程任務的成員
  3. Tech Lead Manager,混合兩者角色,需要有效平衡個人工作、授權和績效管理

成為 Manager 的過程

  1. 會從能夠看著程式碼、文件等產出的工程師角色,變成較為抽象,很難看到具體成果的管理角色,因為管理工作的指標定義較為困難。
  2. 可能受到彼得原理的影響,其實並不適應管理的角色,但卻是受到制度所推動上升所至
  3. 不小心陷入 Micromanagement 狀態,對於每個動作事必躬親,反而會造成團隊運作問題。可以考慮服務型領導的方式。

Manager 這個角色

  1. Manager 最早的工作方式,是從工業時代傳承至今,早已不適合現代,更別說是考驗創造力的軟體團隊,因此要放棄胡蘿波和大棒的管理方式 ( 除非你的組織的軟體工作並不需要創造力 )
  2. 優秀的 Manager 會去思考要做好哪些事情,並能展現對團隊能把事情做好的信任
  3. 能夠建立一個允許失敗的環境,因為試圖實現一個不可能的目標,失敗的風險高,但過程其實對於團隊的成長可能是超出預期的。但要避免犯相同的錯,
  4. 能夠公開讚揚成功,並且私下對於失敗提供有建設性的建議

反模式的 Manager

  1. 因為對於自己的角色沒有安全感,而刻意 hire 不如自己聰明,或沒有野心的角色,會造成自己成為團隊的 bottleneck,無法休假,團隊也很難獨立運作
  2. 忽視低績效的成員,甚至只是希望這種低績效的狀況會自己消失。如果不積極處理,甚至會影響高績效人員的離開,而且越晚處理,此狀況的惡化會日漸明顯
  3. 忽視人性,可能只因為個人的習慣偏好,在團隊績效不變,且成員都同意的情況下,要求團隊成員按照 Manager 的方式工作,例如在遠端工作政策上
  4. 和每個人當朋友,無法拿捏團隊和友誼之間的界線,尤其是管理曾經是朋友的團隊成員上
  5. 妥協的 hire 不到門檻的人選,不合格人選的成本會造成團隊生產效率下滑、其他成員的工作壓力、需要額外管理該員工的時間,以及走到解僱階段時的程序成本
  6. 對待團隊像對待孩子一樣,除了展現不信任,也是不尊重成員的專業能力

正確模式的 Manager

  1. 避免自負的心態。不是說要讓別人踩在自己身上,而是要保持謙虛與信心。在沒有 micromanagement 的狀態下,理論上團隊成員對於細節應該是最清楚的,並且能夠負責決定相關的工作。最後則是承認錯誤,道歉不會代表自己是脆弱的,反而會贏得團隊的尊重
  2. 能夠正確的管理自己。包括避免說些喪氣話,無法保持冷靜與做出正確的反應,這會讓團隊無法依賴自己。正確的管理自己,包括保持冷靜,並且能夠在危機時期幫助團隊成員保持冷靜,且正確的詢問問題
  3. 催化團隊意識,幫助團隊建立共識,並讓決策透過共識被產生與執行
  4. 協助團隊消除阻礙,尤其是非技術上的,或是找到知道正確答案的人員,並協助團隊建立溝通橋樑
  5. 能夠指導他人,能權衡成員的學習時間和實際做出貢獻的時間,能夠清楚指引團隊流程、系統經驗,並且能夠有效率的解釋這些資訊。此外,也能清楚的指正團隊成員的行為,避免有任何誤會,或濫用讚美三明治這件事
  6. 設定目標,讓成員都很清楚並同意這個方向,這可以節省管理所需的精力
  7. 保持真誠,就算是不能告知的事情,也要分享現在有件事,是沒辦法告訴成員的。如果不知道一個問題的答案,也可以真誠的分享自己不知道
  8. 懂得衡量團隊的幸福感。這部分有些心理學的技術存在,確保成員的工作獲得外部認可,並對於自己的成果表示滿意,也知道怎麼解決工作的倦怠感來提升士氣

擔任好 Manager 的小技巧

  1. 指派任務,但是也要持續弄髒你的手,不要讓團隊質疑你的能力,但又能感受到你的不自負,來獲得尊重
  2. 尋找能取代自己的人,來讓自己得職涯才有繼續成長的空間,並且避免來讓一名不想當管理者的工程師當管理者。
  3. 面對困難的問題,設定時間來做出改變,例如低績效的員工處理機制
  4. 避免團隊受到外部的混亂影響,避免一些團隊不需要注意到的資訊,來分散專注力
  5. 確保團隊成員知道自己做了正確的事

如果喜歡這個系列的話,歡迎將此連結加入你的最愛:

【 Google 的軟體工程之道 】全系列 https://medium.com/@johnliutw/list/da301cc31b15

--

--

Johnliutw
JohnLiu 的軟體工程思維

熱愛軟體全端技術開發,較為擅長 Web 領域,並有多年線上與線下授課經驗,專精軟體新手教學。 相關合作: johnliutw@hotmail.com