為什么程序員都是夜貓子

jopen 12年前發布 | 10K 次閱讀 程序員

本文是從 Why programmers work at night 這篇文章翻譯而來。


為什么程序員都是夜貓子

倫敦科技館里一個大猩猩的大腦

一種很流行的說法是,程序員是把咖啡因轉化成程序代碼的機器。

說的是實情,隨便問一個程序員,問他什么時候工作最有狀態,估計他很有可能說是深夜。有人稍微早一點,有人更晚。有一種流行的趨勢是凌晨4點起床,在破曉之前這段時間里做一些事情。而另一些人喜歡凌晨4點才睡覺。

所有這些的主要目的是躲避打攪。但是你把自己反鎖在屋里不就行了?為什么對夜晚情有獨鐘?

我想,這事歸納下來有3點:工人的時間表,疲倦的大腦和明亮的電腦屏幕。

工人的時間表

Paul Graham 在2009年寫了一篇關于 工人的時間表的文章——主要是說這個世界(主要)存在兩種時間表。傳統的管理者的時間表——一天的時間別分成了很多小時,一次十分鐘的分心至多會浪費你1個小時的時間。

為什么程序員都是夜貓子

時間的使用

而另一種情況是程序員們所說的工人的時間表——生產東西的人的時間表。研究一個大型的抽象的系統,需要把整件事情裝進大腦——這樣的一些人類似于用珍貴的水晶玻璃搭建一間房子,一旦有人打攪你,整個結構都會滑落,摔成無數的碎片。

這就是為什么被打擾的程序員會如此的生氣。

因為這是一種巨大的精力上的投資,在沒有幾個小時不被打攪的環境中的醞釀,你不可能開始工作。如果你好不容易在大腦中構建了整個要思考的事情的模型,而在半個小時后被人摧毀,這是很大的浪費。

事實上,在跟很多的企業創辦人交談后,你會發現,他們都感覺在白天根本無法做任何事情。持續不斷的打擾、重要的事情需要注意、大量的郵件需要處理,環境不允許他們坐下來做事。于是他們大部分人都在夜晚,人們都入睡的時候去完成他們要做的事做完。

疲倦的大腦

但是程序員仍然在晚上會困倦。程序員不是超人。程序員甚至在白天都會感到疲勞。

為什么程序員都是夜貓子

Ballmer’s peak

為什么我們要把智力上最復雜的事情放到我們的大腦想去睡覺的時間段里去完成,而在我們的大腦最敏銳最清醒的時候去做相對簡單的事?

因為疲倦讓我們編寫出最好的代碼。

跟ballmer峰值相似,疲倦能使我們的精力更容易集中,因為你的大腦疲倦了,不得不集中精力!沒有多余的腦能量來提供你去三心二意。

對我來說,如果喝了太多的茶或在錯誤的時間喝了提神飲料,我反而干不了什么事。我會過度興奮,一會查看微博,一會看看新聞,不知道自己該做什么。

你會認為我應該更有效率的工作——精力充沛,大腦超頻。但正好相反,我東一榔頭西一耙子,根本無法在一件事情上定神2分鐘。

而反過來,當我稍微有點疲倦時,我卻能把屁股安穩的放到椅子上開始編程。在大腦稍微有點疲倦的情況下,我能連續編程數小時,毫不考慮微博或非死book。好像這互聯網根本不存在。

我感覺大部分程序員都是跟我的感覺是一樣的。對于日常工作中80%的任務,我們的腦能力都是過剩的——除非你需要寫的是在當前程序運行的環境中讓它 增速10的算法。即使你開發的是最高級的機器學習想象功能,其中大部分的工作也只是簡單的整理數據和以一種合適的方式表現輸出結果。

當你的大腦不是滿負荷運轉時,它總是想找點事情做。疲乏會讓你遲鈍,手頭的工作就已經夠你消化了。

明亮的電腦屏幕

這一點非常的簡單。在晚上老是盯著明亮的光源,你的睡眠周期會推遲。你忘了該是睡覺的時候了,直到凌晨3點。然后你早上11點才能起來,當晚上再次到來時你不再感到困倦,因為你11點才起床!

為什么程序員都是夜貓子

Image via Wikipedia

反復這樣的作息規律,你的身體會進入另外一個時區。更有趣的是,這種周期不會一直推遲下去,一旦你進入了這種3點或4點才去睡覺的生理平衡狀態,你會一直留在這種狀態里。

也許這是一種警訊在起作用,社會在告訴我們,如果我們在下午2點吃早餐,會被認為是很邋遢的人。

最后

總結一下,程序員喜歡在晚上工作,是因為這時沒有何時應該停止工作的限制,這讓人感到更放松,你的大腦不再思考讓你分心的事情,明亮的屏幕使人清醒。



本文轉載自: 外刊IT評論 http://www.aqee.net/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!