有人說,程式設計師是一種神奇的動物:喝的是咖啡,擠出來的是程式碼。
此言不虛,隨便找個有上進心的程式設計師問問,就會發現他們多半都會在深夜活動。有的早起,有的晚睡;有的凌晨4點起床,有的凌晨4點入睡。
這麼做的關鍵還是為了集中精力。但實際上,你完全可以閉門靜思,那樣跟半夜工作又有什麼區別呢?
我認為這取決於三個因素:創作者的日程、沉睡的大腦和明亮的電腦螢幕。
創作者的日程
保羅·格雷厄姆(PaulGraham)2009年撰文描述過創作者的日程——從根本上講,世界上主要有兩種日程。傳統的管理者日程以小時為單位來劃分,10分鐘的干擾最多隻會浪費你1小時的時間。
但與此同時,格雷厄姆還總結了一種“創作者的日程”——也就是我們這些搞創作的人所遵循的日程。從事一個龐大的抽象系統,需要把全部精力都投入其中——曾經有人將此比作用昂貴的水晶玻璃來搭建房屋,一旦有人分散你的精力,整個工程都會土崩瓦解成無數的碎片。
正因如此,程式設計師對干擾他們工作的事情才格外厭惡。
由於這是一筆重大的腦力投資,所以,除非能連續工作好幾個小時而不被打擾,否則我們根本無法開始工作。費盡心思在腦海中搭建出了整個模型,但卻在半小時後土崩瓦解,絕對是件得不償失的事情。
事實上,如果你有幸與很多企業創始人進行溝通,就會發現,他們很難在白天完成任何工作。因為在白天,他們要面臨各種干擾,需要處理各種重要事情,還要回復各方郵件。所以,多數人都選擇在夜深人靜,其他人都入睡時,再來幹正事。
沉睡的大腦
但就算是程式設計師,到了晚上也該睡覺——程式設計師也是人,他們到了白天也會感覺更加清醒。
既然如此,我們為什麼還要在大腦想要入睡時完成最耗腦力的工作,反而在大腦最亢奮、最清醒的時候完成相對簡單的任務呢?
因為越是疲勞,就越能寫出好程式碼。
與鮑爾默峰值類似(ballmerpeak),疲勞反而能讓我們更好地集中精力,原因很簡單:因為大腦很疲勞,所以不得不集中精力!沒有多餘的腦力讓你分神。
當喝茶過多或者在不恰當的時候攝入能量飲料時,我的工作效率往往最低。這會導致我異常活躍,一會兒刷Twitter,一會兒看新聞,思維總是東奔西跑,無法聚精會神。
我本以為這樣可以更好地工作——精力充沛,腦力富足。但恰恰相反,我始終在牽絆自己的程式,無法集中精力超過兩秒。
相反,當我略感疲憊時,我會集中精力程式設計。由於大腦略感疲憊,所以我能連續好幾個小時程式設計,而不會分散精力去刷Twitter或Facebook,感覺就像網際網路消失了一樣。
我認為這適用於多數程式設計師。我們的腦力對於80%的工作而言都是過剩的——面對現實吧,要寫出一段生動的程式碼,需要編寫10倍的平庸程式碼來為它營造良好的執行環境。即使你從事的是最先進的機器學習(或其他技術),很多工作也只是清理資料,以及用令人愉悅的方式呈現結果。
當你的大腦沒有全負荷運轉時,它就會尋找其他可做的事情。疲勞會讓你變得遲鈍,集中精力處理手頭的工作,無暇顧及其他。
明亮的電腦螢幕
這一點很容易理解。在夜間盯著明亮的光源,你的睡眠週期就會推後。你會不知疲倦地工作到凌晨3點。然後,你會一覺睡到上午11點。而夜幕降臨時,你也不會感覺疲勞,因為你11點才剛剛起床。
經過足夠的反覆後,你相當於進入了不同的時區。更有趣的在於,這種狀態似乎不會反彈:一旦你進入了凌晨三四點入睡的均衡狀態,就會始終保持這種節奏。
或者,當週圍的人都告訴我們,下午2點吃早餐實在是太懶惰了,那麼我們或許就會讓鬧鐘來改變自己的作息時間。
綜上所述,程式設計師之所以在夜間工作,是因為在這樣的環境下,工作時間不會被施加任何限制,這就給了你更大的靈活性。而且,你的大腦也不會反覆地分心,而明亮的螢幕也會讓你保持清醒。
來自:PHP100
相關閱讀
評論(2)