標籤:

為什麼有些程序員喜歡在晚上工作?


不知道能不能轉載,之前看過的外刊IT評論的文章
http://www.aqee.net/why-programmers-work-at-night/


為什麼程序員都是夜貓子
一種很流行的說法是,程序員是把咖啡因轉化成程序代碼的機器。
說的是實情,隨便問一個程序員,問他什麼時候工作最有狀態,估計他很有可能說是深夜。有人稍微早一點,有人更晚。有一種流行的趨勢是凌晨4點起床,在破曉之前這段時間裡做一些事情。而另一些人喜歡凌晨4點才睡覺。
所有這些的主要目的是躲避打攪。但是你把自己反鎖在屋裡不就行了?為什麼對夜晚情有獨鍾?
我想,這事歸納下來有3點:工人的時間表,疲倦的大腦和明亮的電腦屏幕。
工人的時間表
Paul Graham 在2009年寫了一篇關於 工人的時間表的文章——主要是說這個世界(主要)存在兩種時間表。傳統的管理者的時間表——一天的時間別分成了很多小時,一次十分鐘的分心至多會浪費你1個小時的時間。
而另一種情況是程序員們所說的工人的時間表——生產東西的人的時間表。研究一個大型的抽象的系統,需要把整件事情裝進大腦——這樣的一些人類似於用珍貴的水晶玻璃搭建一間房子,一旦有人打攪你,整個結構都會滑落,摔成無數的碎片。
這就是為什麼被打擾的程序員會如此的生氣。
因為這是一種巨大的精力上的投資,在沒有幾個小時不被打攪的環境中的醞釀,你不可能開始工作。如果你好不容易在大腦中構建了整個要思考的事情的模型,而在半個小時後被人摧毀,這是很大的浪費。
事實上,在跟很多的企業創辦人交談後,你會發現,他們都感覺在白天根本無法做任何事情。持續不斷的打擾、重要的事情需要注意、大量的郵件需要處理,環境不允許他們坐下來做事。於是他們大部分人都在夜晚,人們都入睡的時候去完成他們要做的事做完。
疲倦的大腦
但是程序員仍然在晚上會睏倦。程序員不是超人。程序員甚至在白天都會感到疲勞。
為什麼我們要把智力上最複雜的事情放到我們的大腦想去睡覺的時間段里去完成,而在我們的大腦最敏銳最清醒的時候去做相對簡單的事?
因為疲倦讓我們編寫出最好的代碼。
跟ballmer峰值相似,疲倦能使我們的精力更容易集中,因為你的大腦疲倦了,不得不集中精力!沒有多餘的腦能量來提供你去三心二意。
對我來說,如果喝了太多的茶或在錯誤的時間喝了提神飲料,我反而幹不了什麼事。我會過度興奮,一會查看微博,一會看看新聞,不知道自己該做什麼。
你會認為我應該更有效率的工作——精力充沛,大腦超頻。但正好相反,我東一榔頭西一耙子,根本無法在一件事情上定神2分鐘。
而反過來,當我稍微有點疲倦時,我卻能把屁股安穩的放到椅子上開始編程。在大腦稍微有點疲倦的情況下,我能連續編程數小時,毫不考慮微博或Facebook。好像這互聯網根本不存在。
我感覺大部分程序員都是跟我的感覺是一樣的。對於日常工作中80%的任務,我們的腦能力都是過剩的——除非你需要寫的是在當前程序運行的環境中讓它增速10的演算法。即使你開發的是最高級的機器學習想像功能,其中大部分的工作也只是簡單的整理數據和以一種合適的方式表現輸出結果。
當你的大腦不是滿負荷運轉時,它總是想找點事情做。疲乏會讓你遲鈍,手頭的工作就已經夠你消化了。
明亮的電腦屏幕
這一點非常的簡單。在晚上老是盯著明亮的光源,你的睡眠周期會推遲。你忘了該是睡覺的時候了,直到凌晨3點。然後你早上11點才能起來,當晚上再次到來時你不再感到睏倦,因為你11點才起床!
反覆這樣的作息規律,你的身體會進入另外一個時區。更有趣的是,這種周期不會一直推遲下去,一旦你進入了這種3點或4點才去睡覺的生理平衡狀態,你會一直留在這種狀態里。
也許這是一種警訊在起作用,社會在告訴我們,如果我們在下午2點吃早餐,會被認為是很邋遢的人。
最後
總結一下,程序員喜歡在晚上工作,是因為這時沒有何時應該停止工作的限制,這讓人感到更放鬆,你的大腦不再思考讓你分心的事情,明亮的屏幕使人清醒。


程序員創造力最高的時候其實是在獨處的時候:
http://techcrunch.com/2012/03/03/pair-programming-considered-harmful/


白天他媽的太吵了


沒妞,只好和計算機較勁


作為一個程序員我想說:
我所有的新技術全部在深夜2點後突然領悟並成功編寫出來的。很多技術在國內算是比較頂尖的。
另外必須說一點:有時候晚上12點後準備開始寫程序,但可能會打開下新聞網站,一看可能就是幾個小時,但,經常在看新聞的時候突然來靈感,幾周,幾個月,2年沒搞定的東西,可能在這一刻恍然大悟,一下子解決了。
白天,別想了,對我個人而言,白天什麼都不會做,看網站,看視頻,看電影,或者乾脆出去外面玩。

以上回答全部屬實,不是抄襲,不是參考別人,而是作為程序員我親身的示例!


很多企業,程序員白天都忙著開會


晚上足夠安靜,更容易讓大腦告訴轉起來。
現在在城市裡無時無刻都充斥著噪音,半夜是最安靜的時候。


我喜歡白天工作,聽著耳機里的雨聲,不關心旁邊是老闆還是美女,集中精力做儘可能好的設計和實現。晚上留給自己和家人,偶爾寫點小東西。


全是靠著白天沒有幹活積攢的愧疚感


沒人打擾效率高。


夜貓子型的人夜間特別精神,沒有電話、QQ上也沒多少人在線,無人打攪的安靜環境下有利於持續思維。


不知道為什麼那麼多人會有那麼多話要講。真的很無聊,很無奈。


如果你是一名白班程序員,看到夜貓子程序員你會認為他們的生活沒有意義。當他們為開發框架做出一些很酷、很炫的技術而感到興奮時,你甚至會嘲笑他們。 相反的,如果你是一名夜貓子程序員,你可能很難理解為什麼白班程序員會進入到這個行業。可以看下這裡的對比。http://sd.csdn.net/a/20120305/312731.html


因為心靜才能寫好東西!


身體要緊,不要經常晚上熬夜,休息好了,白天帶上耳麥,一樣精力充沛些


可能需要個女朋友...時間就能掰回來了


夜裡安靜,比較容易集中精力做一件事。


白天被各種事情打斷打斷打斷


白天太多的打斷,電話會議,拜訪。根本無法安靜下來。只能晚上了。我一般晚上9點到1點效率最高


無論什麼理由,如果白天能做完,就不會晚上做。又不是雞鴨魚肉。


十一點到凌晨三點是我效率最高的時候
過了三點就算活沒幹完我也要去睡覺了
個人習慣而已。。


推薦閱讀:

為什麼大多數程序員都黑360呢?
作為一個程序猿,王陽明的心即理,知行合一怎麼和寫代碼結合起來?
你如何理解敏捷開發?
有沒有讓你眼前一亮的代碼?
程序員如何轉行做健身教練?

TAG:程序員 | 熬夜 |