為什么程序員都是夜貓子?
本文是從 Why programmers work at night 這篇文章翻譯而來。
一種很流行的說法是,程序員是把咖啡因轉(zhuǎn)化成程序代碼的機(jī)器。
說的是實(shí)情,隨便問一個(gè)程序員,問他什么時(shí)候工作最有狀態(tài),估計(jì)他很有可能說是深夜。有人稍微早一點(diǎn),有人更晚。有一種流行的趨勢(shì)是凌晨4點(diǎn)起床,在破曉之前這段時(shí)間里做一些事情。而另一些人喜歡凌晨4點(diǎn)才睡覺。
所有這些的主要目的是躲避打攪。但是你把自己反鎖在屋里不就行了?為什么對(duì)夜晚情有獨(dú)鐘?
我想,這事歸納下來有3點(diǎn):工人的時(shí)間表,疲倦的大腦和明亮的電腦屏幕。
工人的時(shí)間表
Paul Graham 在2009年寫了一篇關(guān)于 工人的時(shí)間表的文章——主要是說這個(gè)世界(主要)存在兩種時(shí)間表。傳統(tǒng)的管理者的時(shí)間表——一天的時(shí)間別分成了很多小時(shí),一次十分鐘的分心至多會(huì)浪費(fèi)你1個(gè)小時(shí)的時(shí)間。
時(shí)間的使用而另一種情況是程序員們所說的工人的時(shí)間表——生產(chǎn)東西的人的時(shí)間表。研究一個(gè)大型的抽象的系統(tǒng),需要把整件事情裝進(jìn)大腦——這樣的一些人類似于用珍貴的水晶玻璃搭建一間房子,一旦有人打攪你,整個(gè)結(jié)構(gòu)都會(huì)滑落,摔成無數(shù)的碎片。
這就是為什么被打擾的程序員會(huì)如此的生氣。
因?yàn)檫@是一種巨大的精力上的投資,在沒有幾個(gè)小時(shí)不被打攪的環(huán)境中的醞釀,你不可能開始工作。如果你好不容易在大腦中構(gòu)建了整個(gè)要思考的事情的模型,而在半個(gè)小時(shí)后被人摧毀,這是很大的浪費(fèi)。
事實(shí)上,在跟很多的企業(yè)創(chuàng)辦人交談后,你會(huì)發(fā)現(xiàn),他們都感覺在白天根本無法做任何事情。持續(xù)不斷的打擾、重要的事情需要注意、大量的郵件需要處理,環(huán)境不允許他們坐下來做事。于是他們大部分人都在夜晚,人們都入睡的時(shí)候去完成他們要做的事做完。
疲倦的大腦
但是程序員仍然在晚上會(huì)困倦。程序員不是超人。程序員甚至在白天都會(huì)感到疲勞。

Ballmer’s peak為什么我們要把智力上最復(fù)雜的事情放到我們的大腦想去睡覺的時(shí)間段里去完成,而在我們的大腦最敏銳最清醒的時(shí)候去做相對(duì)簡(jiǎn)單的事?
因?yàn)槠>胱屛覀兙帉懗鲎詈玫拇a。
跟ballmer峰值相似,疲倦能使我們的精力更容易集中,因?yàn)槟愕拇竽X疲倦了,不得不集中精力!沒有多余的腦能量來提供你去三心二意。
對(duì)我來說,如果喝了太多的茶或在錯(cuò)誤的時(shí)間喝了提神飲料,我反而干不了什么事。我會(huì)過度興奮,一會(huì)查看微博,一會(huì)看看新聞,不知道自己該做什么。
你會(huì)認(rèn)為我應(yīng)該更有效率的工作——精力充沛,大腦超頻。但正好相反,我東一榔頭西一耙子,根本無法在一件事情上定神2分鐘。
而反過來,當(dāng)我稍微有點(diǎn)疲倦時(shí),我卻能把屁股安穩(wěn)的放到椅子上開始編程。在大腦稍微有點(diǎn)疲倦的情況下,我能連續(xù)編程數(shù)小時(shí),毫不考慮微博或Facebook。好像這互聯(lián)網(wǎng)根本不存在。
我感覺大部分程序員都是跟我的感覺是一樣的。對(duì)于日常工作中80%的任務(wù),我們的腦能力都是過剩的——除非你需要寫的是在當(dāng)前程序運(yùn)行的環(huán)境中讓它增速10的算法。即使你開發(fā)的是最高級(jí)的機(jī)器學(xué)習(xí)想象功能,其中大部分的工作也只是簡(jiǎn)單的整理數(shù)據(jù)和以一種合適的方式表現(xiàn)輸出結(jié)果。
當(dāng)你的大腦不是滿負(fù)荷運(yùn)轉(zhuǎn)時(shí),它總是想找點(diǎn)事情做。疲乏會(huì)讓你遲鈍,手頭的工作就已經(jīng)夠你消化了。
明亮的電腦屏幕
這一點(diǎn)非常的簡(jiǎn)單。在晚上老是盯著明亮的光源,你的睡眠周期會(huì)推遲。你忘了該是睡覺的時(shí)候了,直到凌晨3點(diǎn)。然后你早上11點(diǎn)才能起來,當(dāng)晚上再次到來時(shí)你不再感到困倦,因?yàn)槟?1點(diǎn)才起床!
Image via Wikipedia
反復(fù)這樣的作息規(guī)律,你的身體會(huì)進(jìn)入另外一個(gè)時(shí)區(qū)。更有趣的是,這種周期不會(huì)一直推遲下去,一旦你進(jìn)入了這種3點(diǎn)或4點(diǎn)才去睡覺的生理平衡狀態(tài),你會(huì)一直留在這種狀態(tài)里。
也許這是一種警訊在起作用,社會(huì)在告訴我們,如果我們?cè)谙挛?點(diǎn)吃早餐,會(huì)被認(rèn)為是很邋遢的人。
最后
總結(jié)一下,程序員喜歡在晚上工作,是因?yàn)檫@時(shí)沒有何時(shí)應(yīng)該停止工作的限制,這讓人感到更放松,你的大腦不再思考讓你分心的事情,明亮的屏幕使人清醒。
原文:http://www.aqee.net/why-programmers-work-at-night/
【編輯推薦】