為什么程序員喜歡在夜間工作?
在程序員中一個廣為流傳的說法就是程序員就是把咖啡因轉換為代碼的機器,如果隨機問一個程序員,他們什么時候效率最高,很有可能他們會說是在深夜。有一個流行的趨勢是早上4點起床,就開始完成瘋狂一天的某些工作,小部分人則喜歡4點上床睡覺。
當然這一切的前提都是為了避免分心,那時候你除了可以看看房門,你還能干什么呢? 而且當時所有的事情都集中在3件事上,你的日程表、昏昏欲睡的大腦、明亮的電腦屏幕。
程序員的日程表
Paul Graham曾在2009年寫過一篇文章叫做the maker’s schedule,里面提到基本上在世界上有兩種日程表,一個傳統經理的日程安排是一天被劃分成幾個小時,然后各小時中間是10分鐘的休息時間。另外一個就是生產者的日程表———那些專門生產東西的員工的日程表。
他們為某個大型虛擬系統工作,會把整個事件裝進腦袋,確保代碼運行在一個處理器之前就必須運行在他的思想里。就像不管有多少困難,他都要用水晶構建一個他自己的房子。
這就是程序員一被打擾就會很生氣的原因。因為巨大的智力投資,他們根本不可能開始幾個小時后又停下來,不然他花了那么多事件在大腦里構建模型,又過一個小時就打斷一下,那感覺會讓他抓狂。
事實上,你跟許多創始人交流的時候,你就會發現他們老是不確定一天內他們能完成什么事情:接二連三地被打斷、突然重要的事情要處理、某封需要回復的郵件,所以他們大部分時間在深夜的時候才有時間完成工作,這時別人都睡著了。
昏昏欲睡的大腦
每一個程序員在晚上都得睡覺,因為我們不是超人,每一個程序員當然在白天更清醒。為什么我們要在大腦昏昏欲睡的時候實行最復雜的工作,而白天在那做些稍微簡單的工作呢?
因為累的時候能寫出更好的代碼?那個時候會讓你簡單集中在一件事上,因為大腦很累的時候你跟根本沒有所謂集中點,沒有過剩的腦力讓你去分心。一般我們在喝了濃茶或者不合時宜的飲料后反而做了最多的事,這樣一下子你就極度活躍,上一秒在檢查Twitter動態,下一秒就在看黑客新聞。
有時候你會想,我有如此多的能源、無限的超頻腦力,我應該工作地更好,但是相反你因為精力充沛反而集中精力的時間不能超過2秒。如果在夜間,你累了你就挪挪屁股,一個輕度疲倦的大腦甚至讓你沒時間去刷新Twitter和Facebook,就像互聯網不存在似的。
這對于很多程序員是真實的,因為80%的工作他們還是有足夠腦力應對的,一般先是寫出算法,然后用10倍的代碼生成一個環境,并確保它可以運行。即使你做的是最先進的機器學習,大部分的工作是簡單的清理數據以及用活潑的方式呈現數據。疲勞也許使你變蠢,但足夠應付手頭的工作。
明亮的電腦屏幕
這個很簡單,在晚上坐在一個明亮的燈光下工作,會延遲你睡覺的時間,甚至直到3點你都沒有睡意,然后在第二天11點醒來。而且奇怪地是,時間久了,不到那個點你還睡不著。
最后
總的來說,程序員喜歡在深夜工作,因為你無法預料一件事情完成的時間點,只能以連續性來促進項目進度,在這樣一個寬松的心理環境下,你的大腦不會分心、對著明亮的屏幕、手指卻在那啪啪地敲著鍵盤。
Via?BI
- 目前還沒評論,等你發揮!