每一個人都熟悉這種做息規律:早上9點去上班,坐在電腦前面,編一天的程序,下午5點下班回家。現在,很是感謝蒂莫西·費里斯 (Timothy Ferriss)的《每週工做4小時》,我開始從新思考應該如何工做,如何讓本身變成更有效率的程序員。html
最近,我把個人從週一到週五的做息規律作了一次較大的調整。很長時間以來,我一直像全部其餘程序員那樣工做、休息。但就在2011年的下半年,我開始了一項試驗,想看看究竟什麼樣的做息時間能讓我更有效率。這項實驗目前仍在進行中,我並非像軍人那樣嚴格遵照實驗規定——例如,我也想會早20分鐘、或晚20分鐘起牀——但當前制定的做息規律是這樣的:程序員
早上4:30起牀其實並非你想象的那麼難。每一個人的我的狀況都多少有些不一樣,但人的身體基本上須要天天7到9小時的睡眠時間。保證你睡眠充足的一個方法是不用鬧鐘天然醒。你只須要早點睡覺,你就能夠在早上4:30醒來。面試
起牀以後,我會立刻喝上16盎司的水——不是咖啡!我很長時間都不喝咖啡了,並且也不太想喝。事實上,不喝咖啡我感受會更好。而後我會衝個澡;這樣會讓我感受一個清爽的一天的開始。算法
天天早上我都會冥想30分鐘。冥想的最佳時間是在日出以前或日出的過程當中,也就是西方世界的早6點以前。我不打算解釋爲何冥想會對你有好處;網上對此已經有了大量的研究。若是你想找一個關於冥想的書,我推薦《Meditation for Dummies》。儘管書名很怪,但它是我讀過的最好的一本書。編程
冥想以後,我會花30-45分鐘的時間寫博客。我通常會寫500到800字。我發現,冥想以後當即動筆,一般會一鼓作氣,寫的很順利。另外,大腦通過了一晚上的休整,狀態很是好,在注意力轉移到其它事務以前,把大腦裏堆積的東西都倒出來清理一下是頗有好處的。關於寫做的一個技巧:把這段時間用做對大腦的初步清理。不要去作研究、編輯等。這些事情放在之後再作。框架
而後是To Do List(待辦清單)時間。我會查看郵件,微博,LinkedIn,等等,以及安排下一步要作是任務。說到任務,我遵循GTD作事方法,我用Omnifocus軟件來管理個人生活。我在iPad,iPhone和MacBook Air(我是蘋果的粉絲)都裝了它。不錯,做爲一個待辦事宜管理軟件,Omnifocus是有點貴了,但由於個人整個生活都和它有關,這個價格也值了。我通覽一下待辦清單,想一想每一個事情上的預期目標——全部的事情,從今天要作的小事情,到長期的目標。清單中的每一個條目都設定有一個目標,若是沒有目標,我會刪除它。工具
接着是早餐時間。關於應該何時吃早餐、應該吃什麼的問題上,已經有大量你能夠借鑑的養生指導。我嘗試過各類不一樣的東西。我發現那些富含纖維素,低碳,高蛋白質的東西最適合我。你試過燕麥片加花生醬嗎?好極了!我還喜歡吃一些水果、喝一點茶。還有,我儘可能和家人一塊兒吃早餐。有時事情能按照這種願望執行,但有時不行。個人目標是今年一年都要按照這個執行下去。學習
這是我用來編程的時間。一天4小時也許你會以爲少的可憐,但是我卻發現,在這4小時我作的事情能比大多數人一週乾的事情都要多。研究顯示,具備固定工做時間表的人比那些隨機工做的人更有效率。對於我來講,這個固定時間是早7點到11點,天天。這段時間我要作的事情就是編程,不作其它的。有幾個基本的原則:網站
首先,關掉全部的通訊設施——電話,郵件,聊天工具等。沒有讓你分心的事。你能夠給少數幾我的保留一個聯繫到你的方法,以防有緊急事情發生。那些真有緊急事情須要找你的人自有辦法聯繫到你,我尚未碰到過這樣的事。我甚至還教育個人妻子,她一般習慣對全部的請求都當即給予迴應,我告訴她要尊重我這4個小時的時間。在這段時間裏你應該只幹一件事。千萬不要同時幹五、6件事情。spa
第二,中間不要留下休息時間來查看郵件或上網,或幹其它相似的事情。緣由是:在一個小時裏,我能夠開發出x個功能。若是我要是連續工做4小時,我發現個人產量不是4倍,而是8倍或16倍。當你全神貫注的幹某項事情時,相信你也經歷過這樣的體驗。這就是咱們所說的大腦的Flow(流)狀態。在之後的博客裏我打算多寫一些關於Flow的文章。
那爲何不把這樣的制度應用到整個8小時的工做時間裏呢?這是由於人的有效率的狀態是有限度的。人的大腦跟肌肉同樣。你能夠在跑步機上持續運動8小時嗎?就像咱們的肌肉,大腦須要時不時的休息。這種限度依據我的的不一樣而各異。經過嘗試和根據犯下的錯誤,我發現個人極限時間是4小時。
還有一點須要提的是,我並無在11點設了鬧鐘提示。當我感受大腦有些疲倦,工做效率開始降低時,我就中止工做。有些天我只工做3小時,有時我會工做5小時;4小時是平均值。
我在家工做是爲了避開打攪。若是你須要在辦公室裏工做,看看管理部門是否容許你把最有效率的這段時間放在家裏工做。你上班途中的折騰會把早上作瑜伽和冥想得到的好處給抵消了。在通過了早高峯的喧鬧,還有辦公室裏的嘈雜,你的神經會變的緊張,冥思帶來的效果徹底消失。在家工做一定會更有效率的多。
我天天都要健身。John J. Ratey的書《Spark: The Revolutionary New Science of Exercise and the Brain 》對天天鍛鍊的好處作了很好的論證,若是你想知道鍛鍊對大腦功能改進的科學機理,你能夠讀一下這本書。天天不作相同的運動,甚至不去相同的健身房。我每週在一個瑜伽館裏作3次瑜伽,在一個spinning館裏上兩天的spinning課,在健身房裏作兩天的舉重,在健身房裏我有個教練。教練幫助了我不少,有人這樣督促你會使你具備更大的動力。
我喜歡在健身房運動,由於那裏有額外的服務。你能夠一下用掉5條毛巾而不擔憂老婆的抱怨。能夠花30分鐘沖澡而不用擔憂門外有人叫喊」你還沒完嗎?「…在家裏你常常會遇到這樣的事。
我還養成了一個習慣就是天天購物,一般是在Whole Foods,一個離我家只有步行距離的超市。爲何天天購物?在不少國家,特別是亞洲,人們天天都去購物,而不是一次買足2個星期的東西儲存在家裏的冰箱或冷櫃裏。這種方式,你只買了你須要的東西,避免了浪費。不少時候你會發現冰箱裏有些不知是何物的東西,懷疑放在那裏有半年之久了。我午餐在外面吃,Whole Foods超市裏有不錯的沙拉自助。由於我喜歡日本食品,有時我會來一點日本壽司或盒飯。
我儘可能會把一些討論、約會時間湊到一塊兒,這樣沒必要天天都去公司。一般,這些事情包括會議,面試,作報告,指導開發,代碼審查等等。這段時間我不作任何的開發,除非有緊急的bug或特殊狀況須要處理。
我還用很大比例的一部分時間去學習。我花了不少時間去閱讀別人的東西,從書本到博格,大多與編程相關的東西。我天天都要學到新的知識。保持這樣的學習勁頭的最好的方法是對學到的東西作一些筆記,把相關的知識作寫標記。像EverNote這樣的軟件很適合作這種事情。
同時我會看看市場上有沒有其它的產品,最有效率的軟件開發者是不用寫一行代碼就能把問題解決。我不想把別人已經作好的東西再作一遍。因此,在CodePlex, GitHub 和 Component Source這些網站上花時間是有好處的。
我從妻子的醫院實習的經歷中獲得了一點啓示。新入職的大夫天天早上看病,到了下午,他們會聚到一塊兒討論遇到的各類病症,討論他們是如何應診的。對於我,我會過後檢討一下本身作過的事,我會從新思考一下早上編程遇到的問題,在什麼地方遇到了什麼bug,或檢討作報告時的表現,或如何主持的會議,等等。我努力從過失中學到教訓,避免它們再次出現。
我妻子是個醫生,工做很忙,但咱們儘可能一塊兒度過這段時間。咱們會一塊兒作飯。而後我會和孩子一塊兒作家庭做業。(一個二年級的學生竟會有這樣多的做業,這是另一個話題,我之後再談。)
我晚上不作冥思,而是換成坐下來檢討一天的生活。若是你花上15分鐘作在一個安靜的地方檢討你的一天,你會吃驚的發現這一天你學到了這樣多的東西,得到了這樣大的提升。
接下來,我給大腦安排工做。衆所周知,當咱們睡眠時大腦是在不停工做的。因此,你最好給它安排點工做。對於我,下面這些事情頗有效:我把次日早上要寫的東西作了個大綱。就像寫便條同樣。我發現把它寫到紙上比寫在電腦裏更有效。
或者,我會看一些編程/算法問題。一樣,會紙上描述下來或寫出框架。讓人驚奇的是,不少時候早上起來你會發現已經有了解決方案!像這樣的事情我是在一個整潔的、沒有格線的、信封大小的筆記本上寫畫的。在空白的白紙上寫畫會讓我更有靈感。我在晚8:30到9點間上牀睡覺。越早越好。
這就是我一天的做息時間。固然,當我外出旅行時會有些變化;在途中我會花大量的時間來工做。我尚未告訴大家在週末我都幹些什麼,我會在之後的文章裏講到這些。
我很想聽到其餘人關於他們的做息時間的故事,以及他們是如何提升工做效率的。