Olve Maudal
長時間工作不等於高產出#
作為程式設計師,你會發現拼命工作往往不會帶來回報。你可能會騙自己和同事,覺得在辦公室花長時間就是對專案做出很大貢獻。但事實是:少工作一些,你可能反而能完成更多——有時候多很多。
如果你每週嘗試「專注且高效」地工作超過 30 小時,你很可能已經工作過度了。你應該考慮減少工作量來提高效率。
程式設計是持續學習的過程#
這個說法看似反直覺甚至有爭議,但它是程式設計和軟體開發本質的直接結果——這是一個持續學習的過程:
- 隨著專案推進,你會更了解問題領域,找到更有效的方式達成目標
- 為了避免浪費工作,你必須留時間來觀察、反思你所做事情的效果,並據此改變行為
專業程式設計是馬拉松,不是短跑#
專業程式設計通常不像跑幾公里路——目標就在路的盡頭。大多數軟體專案更像是黑暗中的長途定向越野賽,手上只有一張粗略的地圖。如果你只是朝一個方向盡全力衝刺,你可能會令人印象深刻,但不太可能成功。你需要:
- 保持可持續的節奏(sustainable pace)
- 隨著了解更多而調整方向
持續學習與自我提升#
此外,你始終需要學習更多關於軟體開發的知識——無論是整體層面還是具體的程式設計技巧:
- 讀書、參加研討會、與其他專業人士交流
- 實驗新的實作技術、學習能簡化工作的強大工具
- 作為專業程式設計師,你必須持續更新自己的專業知識——就像外科醫師和飛行員必須跟上自己領域的最新知識一樣
你不能把晚上、週末和假期都花在加班上——因為那正是你應該用來學習和提升自己的時間。你真的期望外科醫師每週做手術 60 小時,或飛行員每週飛 60 小時嗎?
像專業人士一樣工作#
專注於專案,盡你所能地找到聰明的解決方案、提升技能、反思你的行為並調適。不要像籠子裡的倉鼠一樣空轉。作為專業程式設計師,你應該知道:試圖每週「專注且高效」地工作 60 小時並不是明智之舉。像專業人士一樣行動:準備、執行、觀察、反思、改變。