三個原則,提高軟體工程師的生產力
我們講原則,不講任何提升專注力、時間管理或是每天早起之類的技巧
先給生產力這個詞一個簡單的定義:
生產力 = 價值 ÷ 時間
人的時間有限,所以在花費相同的時間成本之中,得到最多價值,就代表了這個人的生產力高低。
軟體工程師應該以提升自己的生產力為目標。軟體行業易變的特性,使得工程師必須不斷學習、提升自己的技能。而在學習同時,還要撥出時間來工作賺錢,並且保持相同的產出。
因此,徹底理解自己的生產力來源並提升生產力之後,工程師才能有額外的時間學習新知,不被淘汰。
回到這個公式。依照小學時學過的除法,你可以很快得到提升生產力的兩個原則:
1. 提升你所生產的東西的價值
2. 減少產出相同東西所花費的時間
對軟體工程師而言,提高價值可以從提高軟體的各種品質(可靠性、可維護性等)著手。減少耗費時間可能與善用工具、改善流程等有關,或是單純提高自己的技術能力,也可以減少開發所需時間。隨著經驗累積,你一定能從這兩個方面逐漸提高自己的生產力。
接著,請容我加上第三個原則:
3. 如果你正在做的東西價值太低,去找出另一個更有價值的工作
這並不是要你立刻離職去找下一份工作的意思。我們都遇過那種開始懷疑「我現在到底在做什麼?」的時刻,也就是做到最後已經忘記原本的目的、偏離一開始的目標。此時請務必停下來好好檢視整個狀況,到底這樣繼續下去,還能不能實現一開始的目標價值?
軟體開發時程會不斷延長,很多軟體與功能也會慢慢失去它的市場價值。此時繼續花費心力在這上面就顯得很不值得。換句話說,在軟體開發同時就要不斷考慮:目前所進行的開發工作是否符合當下市場與顧客的要求?它對完成整個產品或專案來說,重要程度是不是最高的?現在這樣做,還能不能勝過競爭對手?
一旦對現狀有所疑慮,應該要立刻與團隊成員、上級主管或是產品經理討論,重新規劃、評估工作內容與分配。
即使不是管理職,軟體工程師也要具備這樣的心態。