Posted on 2010-01-09 11:09
dennis 閱讀(3136)
評論(7) 編輯 收藏 所屬分類:
涂鴉 、
工作隨筆
你不得不承認,寫代碼的效率跟周期性的情緒相關。以我為例,總存在著周期性的情緒波動,那段時間內基本不想寫代碼,上班就是收收郵件,看看網頁,遺憾的是每個月都有那么幾天。事實上,我認為在一天8小時的工作中,能有2、3個小時能達到忘我狀態的工作,那已經是非常不錯的事情。如果你是程序員,你肯定知道我說的忘我狀態是什么。我在這里說的局限了,其實任何工作都可能進入這種忘我狀態,這種狀態下你的思維非常活躍,全神貫注,哪怕有人跟你說話你也會聽而不聞,這種狀態在你讀一本非常有趣的小說的時候也會出現。這種狀態下的你效率會非常高,例如我前段時間內就在一周內寫了13000多行代碼,600多個測試用例,為我們的系統重新實現了一個通信層。
看過很多討論程序員工作效率的文章,據稱研究表明要進入這種狀態是至少要15分鐘的時間,因此頻繁地打斷工作會阻礙你的工作效率,畢竟醞釀情緒也是需要時間的嘛。我有思考過怎么去盡量多地保持這種狀態,排除那種對工作厭煩的情緒,畢竟拿著工資不干活心里還是會不安,況且看到周圍那么多高效率的人,壓力是難免的,讓人擔心的不是每天只有兩個小時的高效工作,而是那段什么都不想干的時間。最后讓我發現一個方法,說起來很簡單,就是在出現這種低效狀態的時候,強迫自己打開eclipse,而不是 firefox,強迫自己去寫幾行代碼,如果這段時間內沒有被其他事情打斷,那么你還是容易進入一種不那么高效和愉悅的工作狀態,至少能做到專心致志。當然,跟自己的情緒對抗可能不是世界上最困難的事情,也是其中之一,不過請你相信,只要你打開eclipse開始寫代碼并進入思考狀態,那么你至少是可以暫時遺忘那些負面情緒的,甚至你的情緒可能因為解決了某個難題而高昂起來。
這個方法肯定不是什么新發現,我估計很多人會有同樣的經驗,今早在看《joel說軟件》其中一篇文章《開火與運動》也談到了同樣的問題,joel也提到相同的經驗:開了頭就好。你不知道要費多少勁才能將一輛帶齒輪的山地車運轉起來,不過一旦它轉起來之后,一切都跟騎一輛沒有齒輪的自行車沒什么兩樣。Joel還延伸了更多,開火的策略不僅僅是工作效率的問題,也是競爭策略,當你向敵人開火的時候,同時向敵人靠過去,活力會迫使敵人低下頭而不能向你開火。競爭也是如此,壓迫性的不斷推出新東西讓你的競爭對手疲于奔命,反而遺忘產品的根本性的目的,這些新東西可能只是為了替換過去不易用的東西,為什么不易用的東西在過去也會被推出來?那只是了為每天進步不斷開火,讓敵人忘記開火。