工程師犯的最大錯誤?

banq發表於2022-02-04

Zach Lloyd曾是谷歌的首席工程師,負責谷歌表單團隊。之後,他在《時代週刊》擔任臨時CTO,現在是一家建立基於Rust的終端的創業公司的CEO。
他還在出版一本手冊,記錄他作為CTO/工程經理的管理風格。
這是他關於他看到的工程師所犯的最大錯誤的一個帖子的摘要。

概括
Zach 看到工程師犯的最大錯誤是在迴圈其他人之前自己做太多工作。
一個典型的場景是這樣的
  1. 一位工程師承擔了一個大專案。專案越大,情況就越有可能遵循這種模式。
  2. 工程師自己動手,開始嘗試弄清楚如何構建這個東西。這通常被稱為“探索性工作”,並沒有具體的可交付成果。
  3. 幾周後,工程師分享了一個更新,併發生了以下一件(或多件)壞事:

  • 他們一直在解決錯誤的問題,因為這個功能沒有被很好地規劃限定(規定)。

  • 他們一直在試圖找出問題的一個非常具體的部分的解決方案,但這個問題根本不重要,而且產品需求可以很容易地被削減以避免它。
  • 他們設計了一個非常複雜的解決方案,如果他們能早點得到反饋,這個方案就可以大大簡化。

  • 工程師開始構建這個東西,並準備為它發出一個非常大的初始 PR。這很糟糕,因為您應該儘可能傳送最小的 PR,而對於大功能,您應該從設計/原型開始,而不是 PR。

這顯然會浪費大量時間,也可能導致團隊做錯事。
沉沒成本謬誤使放棄已經完成的工作很痛苦(即使工作走錯了路),團隊最終可能會運送錯誤的東西,因為他們不想吞下沉沒成本。

相反,工程師的工作應該與產品團隊一起迭代開發。
工程經理應

  • 始終鼓勵工程師儘可能快地展示他們的工作。一個專案中的工程師不應該超過一個星期不展示東西和獲得反饋。
  • 工程師應該儘可能快地在內部推出一些端到端的東西。這將使每個人都能從使用者的角度更好地瞭解該功能,同時也是瞭解程式碼碎片如何組合的最簡單方法。
  • 鼓勵團隊中的每個人給出建設性的反饋。要注意任何過於消極的反饋,因為這不利於開發人員演示他們的工作和迭代工作。

相關文章