為什麼工程師的估時永遠要 ×2







重點整理
資深工程師一天真正在寫程式的時間只有 2 到 4 小時。那些消失的小時,才是這份工作真正難的地方。
一天上班八小時,真正手在鍵盤上寫程式的時間。
・資深工程師 — 2 – 4 小時(越資深越少)
・初級工程師 — 3 – 6 小時(反而多一點)
01|接到需求,從來不是坐下就能寫
一個看起來很簡單的功能,背後是十幾個沒人想過的細節。
・這個按鈕點下去要幹嘛?
・這個情況你有想過嗎?
・這個資料沒有的時候,畫面要顯示什麼?
對完需求,還要跟設計對圖:圖還沒給、場景漏了、給的圖跟實際資料對不上。
02|被打斷,然後重新暖機
・前後端對 API — 一邊等一邊改
・線上緊急 bug — 所有人放下手邊的事去救火
・救完回來 — 剛剛寫到哪已經忘了一半
・會議與 review — 一場接一場,還要 merge 別人的程式碼
等這些忙完,真正能安靜寫自己功能的時間,大概只剩兩三小時。
03|資深的還要再切三塊出去
・幫初級收攤子 — 接口接錯、上線前炸掉(最後還是資深的一行行擦乾淨)
自學. 框架三年一換(下班和假日自己補)
・職場政治 — 哪句能講、哪句要吞(最沒人講的一塊)
他自己的進度?往後排。
這不是他變懶了。是責任越大,人被切得越碎。
一個資深工程師真正屬於自己、能好好寫 code 的時間,有時候比初級還少。
04|他報的五天,裡面裝了什麼
你看到的是「寫一個功能」。他看到的是:對需求、追圖、接 API、被 bug 打斷、重新暖機、幫初級收尾、追新框架、應付人情世故——最後才輪到寫功能本身。
軟體的複雜度總是被低估。
行動清單
- [ ] 需求的 edge case 釐清了嗎(最花時間)
- [ ] 設計圖到齊了嗎(常見卡點)
- [ ] 這段期間有沒有 on-call(救火會吃掉整天)
- [ ] 有沒有人要帶新人(進度要另算)
- [ ] 預留的緩衝是多少(不是灌水)
你砍掉的不是他的偷懶,是他預留給「意外」和「品質」的那塊。