為什麼程式設計師總是在熬夜

2014-10-25    分類:程式設計師人生、首頁精華8人評論發表於2014-10-25

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

有句笑話,程式設計師就是喝咖啡產程式碼的機器。

果不其然,隨便抓一個程式設計師,問問他們什麼時候效率最高,十之八九會說是在深更半夜。為了有更高的效率,早起的人起得更早,晚睡的人睡得更晚。現在一個日趨流行的趨勢是,凌晨4點起床寫程式碼,或者是凌晨4點才上床睡覺。

夜貓子之所以效率高是因為不容易分心。但是貌似和白天相比,也就鎖了門而已,這有什麼特別的嗎?

我分析了一下,把原因歸結為三個方面:生產型的時間表、昏昏欲睡的大腦以及明亮的電腦螢幕。

生產型的時間表

Paul Graham在2009年寫了一篇關於時間表的文章——世界上所有的時間表基本上可以分為兩個型別:管理型時間表和生產型時間表。傳統的管理型時間表把一天的時間切割成一個一個小時來安排,這樣即便是走神了10分鐘也不過最多是浪費了1小時而已。

但是,如果是生產型時間表,就不一樣了。這一型別的時間表有助於我們全身心投入到一個大型的抽象系統中去,統籌帷幄。有人曾經把這一時間表比作用昂貴又脆弱的水晶製造的房子,一旦有人攪亂了你的注意力,這間華麗麗的房子就會立馬分崩離析、碎成萬萬片。

這也是為什麼我們程式設計師特別討厭別人打攪的原因。

因為程式設計需要巨大的精神投入,使得我們往往要花上幾個小時的時間,才能把散亂的思緒連貫起來,繼續工作。好像我們在大腦中構建了整個模型,碎掉只要一秒鐘,但是要再組建起來就非常麻煩,為了一秒鐘的打攪而付出長時間的代價,真心不值得。

其實,在訪問過很多創始人之後,你會發現他們也常常覺得自己根本沒法在白天進行任何工作。不得不應付的中斷、重要人物的到訪、需要回復的電子郵件紛至沓來。所以他們只能在別人都睡覺的時候,才有時間來搞定他們的大部分工作。

昏昏欲睡的大腦

不過,程式設計師可不是真正的機器,也是需要睡覺的。並且老實說,白天的時候程式設計師更為精力充沛。

那你或許要問了,為什麼我們要在大腦昏昏欲睡的時候才開工做複雜的工作,而在白天腦細胞最活躍的時候做點簡單的任務?

因為疲倦的時候程式設計效果更好。

當大腦感到疲倦的時候,它就會不得不集中注意力,因為這個時候,大腦已經沒有剩餘精力去關注其他事情。

舉個例子,當我喝了很多茶水或者飲用了功能飲料之後,對著電腦完全靜不下心來,好吧,我是活躍過度了,我一會兒刷twitter,一會兒瀏覽《黑客新聞》,等等,看上去忙忙碌碌,其實啥也沒做。

如果你認為當我轉向工作的時候,工作效率會更高——那你就大錯特錯了。精力越是充沛,注意力就越不能好好集中,老實說,我甚至不能在同一個事物上專注超過兩秒鐘。

相反,當我感覺有點累了,就能靜下心來好好寫程式碼,甚至一寫就是幾小時,中間還不帶停頓的,那個什麼Twitter還有Facebook統統拋之腦後,完全想不起來還有網路這個玩意兒。

大多數程式設計師也是深有同感。要應付80%甚至以上的工作——分析問題、寫一個漂亮的演算法、創造一個可執行程式碼的環境等等,對於我們精力充沛的腦力而言都是綽綽有餘的。即使你在做的是無法想象的最最先進的機器學習工作,還是有大量的工作就是簡單的清理資料,並以一個可愛又迷人的方式呈現結果。

當你的大腦不能照顧到方方面面的時候,它會自動選擇一樣關注下去。也就是說,疲倦會讓你的大腦傻乎乎的認為只要搞定眼前這一個工作就可以了。

明亮的電腦螢幕

這個原理就簡單多了。晚上長時間地盯著一個明亮的光源會延遲睡眠系統起作用的時間。於是乎,我們忘記了睏倦,可以直到凌晨3點搞定之後才上床睡覺,然後上午11點醒來。好玩的是,接下來到晚上的時候,你就完全不困了,哈哈,夥計,你難道忘記你是11點才起來的嗎!

如果保持這種迴圈,那麼你的作息方式就會慢慢改變。而更為有意思的是,調查結果顯示,一旦你的就寢時間進入凌晨3點和凌晨4點之間,時間點不會再向後推延,會一直保持著這種平衡。

當然原因之一也有可能是因為,到一定時間我們的鬧鐘會叫醒我們。並且話說大家都知道,如果我們肆無忌憚的睡覺,然後到下午2點才吃早飯的話,那真的就是徹徹底底的懶漢了。

小結

總而言之,程式設計師之所以是“夜貓子”是因為晚上工作沒有時間限制,可以選擇一個更為輕鬆自在的方式寫程式碼,同時我們的大腦也不會常常分神,而明亮的螢幕還能保持我們的清醒。

譯文連結:http://www.codeceo.com/article/why-programmer-work-night.html
英文原文:Why programmers work at night
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章