Tech Lead:技術負責人 #
對作者而言,「Tech Lead」並非一個特定職級,而是當工程師資深到一定程度後,都可能需要承擔的一系列職責。
擔任此角色後,人際互動技能的重要性將逐漸超越純粹的技術能力。這對於晉升是必要過程,因為職位越高階,組織就越看重你的領導力與承擔責任的能力。
Tech Lead 需負責:
- 固定的一對一會議:與被管理人員保持溝通
- 定期給予回饋:涵蓋職涯發展、推進目標以及需改進的領域
- 訂定學習領域:協助成員規劃成長路徑
Tech Lead 入門 #
優秀的 Tech Lead 必須是場平衡高手。你必須有效管理時間,為自己安排適當長度的任務區塊(Time blocking), 同時保護團隊專注於開發工作,並協助其他利害關係人尊重團隊的重心,避免過多干擾增加個人貢獻者的負擔。
你的首要任務是運用「大局觀」看待工作,確保專案進度如期推展。在此過程中,你將頻繁切換以下三種角色:
- 系統架構師與商業分析師: 找出需改動的關鍵系統與必須打造的關鍵功能,為未來的擴充做準備。
- 專案規劃師: 將工作拆分為數個可交付項目(Deliverables),讓團隊能在同一個時段內完成最多項目。
- 軟體開發者與團隊負責人: 除了編寫程式,更多時候需進行溝通協調與分派工作,並聚焦於那些「不可被妥協」的核心功能上。
管理專案 #
雖然敏捷式開發(Agile)教導我們將任務拆解成更小的部分以漸進式交付價值,但面對充滿未知與難以掌握的「死線(Deadline)」時,我們仍須具備專案管理的硬知識。
我們必須自發性地主動琢磨專案,對能合理預測和計畫的地方進行深謀遠慮。這個過程可能會讓人感到不習慣甚至挫折,但唯有明白「拆解專案」的真義,未來才有能力建立更大的系統,並帶領規模更大的團隊。
所謂的專案管理,是將複雜的終極目標拆分成更小部分,依據有效的順序排列,並嘗試理出那些會讓專案進度放慢、甚至完全失敗的未知因素。
專案管理的五大方針 #
為了有效推進專案,請遵循以下原則:
- 分解工作:將大目標拆解成小任務,並將注意力從「龐大的目標」轉移到具體的「工作順序」上
- 推進細節和未知要素:專案管理的訣竅在於堅持。即使遇到瓶頸或感到厭倦,也別停下腳步,必須努力克服那些未知的變數
- 運行時同步調整計畫:規劃的價值在於了解當前進度。一旦進度不如預期,必須讓所有相關人員都知道,以便及時應變
- 利用規劃所得的洞察來管理需求變更:利用持續更新的已知資訊來判斷變更的成本,這能幫助你做出正確的權衡(Trade-off)
- 臨近專案終點時,重新審視細節:理出「夠好(Good Enough)」的界線,讓團隊聚焦於收尾時更重要的細節,而非無止盡的優化
決策時刻-技術職或管理職 #
[資訊不足,建議補充] 此段落原始筆記未提供內容,建議補充關於工程師面臨「個別貢獻者(IC)」與「管理職(Manager)」分岔路口時的考量點。
好主管、壞主管:流程大頭目 #
[資訊不足,建議補充] 此段落原始筆記未提供內容。
如何成為優秀的 Tech Lead #
[資訊不足,建議補充] 此段落原始筆記未提供內容。
評估你的個人經驗 #
[資訊不足,建議補充] 此段落原始筆記未提供內容。
自我評估 #
[資訊不足,建議補充] 此段落原始筆記未提供內容。建議列出數個反思問題,如:你是否享受幫助他人成功?你是否能接受寫程式的時間變少?