不平凡軟件,始于2014

首頁 | 加入收藏 | 設為首頁

15565077981

您當前的位置:首頁 >  軟件開發(fā)觀點>詳細

咖啡產(chǎn)代碼?為什么程序員總是在熬夜

發(fā)布者: 鄭州軟件開發(fā) 10-30

有句笑話,程序員就是喝咖啡產(chǎn)代碼的機器。

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

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

我分析了一下,把原因歸結為三個方面:生產(chǎn)型的時間表、昏昏欲睡的大腦以及明亮的電腦顯示屏。

生產(chǎn)型的時間表

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

但是,如果是生產(chǎn)型時間表,就不一樣了。這一類型的時間表有助于我們?nèi)硇耐度氲揭粋€大型的抽象系統(tǒng)中去,統(tǒng)籌帷幄。有人曾經(jīng)把這一時間表比作用昂貴又脆弱的水晶制造的房子,一旦有人攪亂了你的注意力,這間華麗麗的房子就會立馬分崩離析、碎成萬萬片。

這也是為什么我們程序員特別討厭別人打攪的原因。

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

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

昏昏欲睡的大腦

不過,程序員可不是真正的機器,也是需要睡覺的。并且老實說,白天的時候程序員更為精力充沛。

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

因為疲倦的時候編程效果更好。

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

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

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

相反,當我感覺有點累了,就能靜下心來好好寫代碼,甚至一寫就是幾小時,中間還不帶停頓的,那個什么twitter還有facebook統(tǒng)統(tǒng)拋之腦后,完全想不起來還有網(wǎng)絡這個玩意兒。

大多數(shù)程序員也是深有同感。要應付80%甚至以上的工作——分析問題、寫一個漂亮的算法、創(chuàng)造一個可運行代碼的環(huán)境等等,對于我們精力充沛的腦力而言都是綽綽有余的。即使你在做的是無法想象的最最先進的機器學習工作,還是有大量的工作就是簡單的清理數(shù)據(jù),并以一個可愛又迷人的方式呈現(xiàn)結果。

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

明亮的電腦顯示屏

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

如果保持這種循環(huán),那么你的作息方式就會慢慢改變。而更為有意思的是,調(diào)查結果顯示,一旦你的就寢時間進入凌晨3點和凌晨4點之間,時間點不會再向后推延,會一直保持著這種平衡。

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

小結

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

返回列表

上一篇

鄭州軟件開發(fā)認為做好app開發(fā)推廣工作是一門學問

下一篇

淺談基于過程控制的軟件質(zhì)量管理

相關新聞

相關案例