軟體工程師如何排定優先順序?
2024年8月30日
本篇的 E+ 完整版有公開免費閱讀,有興趣的讀者可以前往此連結
先前在 《成為高效工程師之前,先追求做好》 一文當中,我們談了不要只是做事情,還要把事情做好。在這一篇,我們將會進一步來討論,要把事情做好的一個重要先決條件,就是「排定優先順序」。
而這篇我們不只講排優先順序,而是進一步講「毫不留情地排定優先順序」或是大家英文很常聽到的 relentless prioritisation。
為什麼要特別加上「毫不留情」呢?
因為在現實的軟體開發世界中,有太多事可以做,所以經常會遇到的狀況是,覺得每件事都很重要,所以都不能放掉,所以最終沒能排定優先順序,而是被事情淹沒。
為了避免這種狀況,「毫不留情」變成必須的。毫不留情意味著,有些事情可能很重要,但沒有到最重要,這時即使你覺得棄之可惜,但仍必須要果斷且不留情地捨棄。因為唯有這麼做,才能真正專注在最優先的事情。
沒有排定優先順序的後果
這時你可能會問,為什麼要排定優先順序? 這樣有什麼好處?
這邊讓我們用一個切身之痛,來說明為什麼這件事重要。 筆者剛加入先前待的公司第一年時,試著積極地去爭取事情做,這讓加入公司的第一年,累積了很多事,在績效考核拿到不錯的成果,這看似不錯,但事實上掉入了一個有問題的坑。
是什麼問題呢? 是在第一年結束跟主管聊到升遷的話題時卡關了。當時收到的回饋是做的事情沒有到「下一階段的標準」。沒錯,在原本的職級做很多事,可以讓自己在該職級獲得好的績效,但這不代表做的事情有足夠大到讓自己能升遷。換句話說,做再多影響力不夠大的事,怎麼樣都可能沒辦法獲得升遷。
這個慘痛的教訓,背後意味著,比起累積很多沒那麼重要的事,不如把時間與精力,專注在一個有足夠大影響力的事情上面。在意識到這點時,你的腦中可能會出現一個問題,那就是「該如何排定什麼該優先作?」
要排優先順序,要先知道什麼最重要
關於排定優先順序,前 Google 工程師 Edmond Lau 曾說過一個很精闢的觀點,他說如果你花幾分鐘找到便宜幾千塊錢的機票,那麼是否省下買杯星巴克的錢,就變得沒那麼重要;如果你花幾個小時,好好談薪水讓年新增加幾萬美元,那麼是否要省下買便宜機票的幾百美元,就變得沒那麼重要。
做某些事情,能夠帶來的效益,會遠遠高過於其他沒那麼重要的事。而想要成為高效工程師,就需要先辨別出那些最重要的事。
如何判斷什麼是重要的事呢? 一個簡單的原則是從投資報酬率 ROI (Return on Investment) 的角度來看。對於工程師來說,投資不是財務上的投資,而是時間上的投資,因為對工程師來說最重要、最有限的就是時間。
具體來說,從 Edmon 的觀點來看,工程師的優先順序可以用 影響力 / 所花的時間
來判斷。當今天除下來的結果越大,就越應該做。
看待 影響力 / 所花的時間
時要避免的誤區
從 影響力 / 所花的時間
的觀點切入,要能夠有效提高,很顯然地可以作兩件事
- 減少所花的時間
- 提高做的事情的影響力
在往下講之前,有個誤區強烈推薦一定要避免,那就是影響力這件事,要有一定的門檻;如果低於某個門檻,即使所花的時間降到很低,最終得到的結果不足夠。以 Li 的例子來說,即使用很快的時間,解掉某個無關痛癢的 bug,因為解掉該 bug 帶來的效益本身不大,這樣不管再快解掉,最終累積的影響力,還是被判定為不足以獲得升遷。
因此在下個段落,我們會先試著談如何做更高影響力的事。
做影響力更高的事情
首先要有清楚的指標,知道要衡量什麼。接著去辨別出做什麼對該指標有幫助。假如沒有一個清晰的指標,就沒辦法有效去比較哪件事比較重要。
以軟體工程來說,假如是做產品開發的,可以衡量對用戶的影響,例如增進用戶的使用率,或者提高轉換率,或者降低流失率。之所以說一般的前後端工程師要培養產品思維,因為這能讓你有效跟產品端對齊,讓你能把時間花在高影響力的事情上。
舉例來說,同樣是解一個 bug,假如解一個能夠大幅降低用戶流失率的 bug,而流失率又正好是產品端現階段看重的,那麼解這個 bug 就很有價值。反之,假如產品的使用者轉換率本來就很好,解某個 bug 能增進一些轉換率,但偏偏這時轉換率不是最關鍵的,那解這種 bug 就沒有太高的影響力。
請務必毫不留情
希望大家在讀完這篇後,對於「豪不留情地排定優先順序」,有更清楚的了解。總結來說,要優先做的事情,就是要符合 影響力 / 所花的時間
最大化的事。
在我們自己實踐這個要點的經驗中,其實最困難的還是在「毫不留情」。現在很多生產力相關的書籍,教你如何用更短的時間完成事情。同時多數時候,其實要判斷什麼事情重要與不重要,也不是太困難的事。
但沒辦法做到「毫不留情地放下那些不是最重要的」,往往是最終讓自己沒辦法有效排定優先順序的主因。股神 Warren Buffett 曾提過 「列出對你重要的 25 件事,選出最重要的 5 項,然後剩下的 20 項要仔細看好,提醒自己千萬千萬不要再去分心碰觸」。當你看到那 20 項「雖然重要,但不是最重要」的事,請務必毫不留情地拒絕碰觸。
閱讀更多
關於排定好優先順序,我們在 E+ 成長計畫中,有更完整的內容,包含會談到如何透過工具自動化,讓自己能專注在最重要的事、如何有效拒絕不是那麼重要的事、如何做好授權 (delegation)。有興趣的讀者,歡迎加入 E+ 成長計畫。
本篇的 E+ 完整版有公開免費閱讀,有興趣的讀者可以前往此連結