為什麼工程師總是喜歡在三更半夜寫程式?

你知道創作者的「時間單位」和普通人不同嗎?你知道疲倦的大腦反而可以提高工作效率嗎?《Why programmers work at night》是工程師 Swizec Teller 幾年前在部落格發表的文章,內容解釋為什麼工程師總是過著「吸血鬼的生活作息」。沒想到文章一炮而紅,部落格暴增 50 倍的流量!還因此出了一本書專門探討工程師的規律流程。
評論
評論

Swizec Teller 是一名自由工程師兼連續創業家,有超過 17 年以上的程式開發經驗,自稱「戴帽子的宅男」(A Geek with a Hat)。幾年前因為在部落格上發了一篇文章《Why programmers work at night》,解釋為什麼大部分工程師,包括他本人,總是遵循著「吸血鬼的生活作息」來寫程式。

結果這篇文章大受歡迎,Swizec Teller 的 部落格 因此暴增了 50 倍網站流量。文章發出後的第四天,他一共得到了 627 個 Google + 讚數、288 個 Twitter 追蹤者、475 個 Reddit 最新回應、7000 個 Facebook 讚數,以及超過 89000 名部落格當日訪客(以往他的部落格一個月累積起來頂多達到 30000 名訪客)。

《Why programmers work at night》最後還寫成了一本書,可以在 Swizec Teller 的網站上 購買電子書或實體書籍 。書的內容主要是其文章的延伸,加上他擔任工程師以來的個人經驗、採訪其他工程師的心得、以及針對工程師的心理學研究。

在這裡將 Swizec Teller 的文章《Why programmers work at night》分享給大家,本文並非逐字翻譯,筆者加了一些細節幫助大家理解內容,有興趣的話可以閱讀 文章原文 ,或 線上閱讀 這本書。


Why programmers work at night?

很多人笑說:「工程師是可以將咖啡因轉換成程式碼的機器。」

畢竟很多工程師會告訴你,他們工作最有效率的時段是在夜深人靜的時候。有些人比較早,有些人比較晚,最常見到的作息時間大概是這兩種:凌晨四點起床做事的,跟凌晨四點做完事去睡覺的。

這種作息時間的用意就是為了減少分心的機會。不過你可能會問,鎖上房門不是可以達到一樣的效果?何必熬夜傷身寫程式?

深夜工作的關鍵就在於三件事:創作者的時間表、睏倦的大腦、明亮的電腦螢幕。

創作者的時間表 The Maker's Schedule

Paul Graham 在 2009 年寫了一篇文章 《Maker's Schedule, Manager's Schedule》,他認為基本上世界上主要分成兩種時間表,一種是「管理者的時間表」(Manager's Schedule),適用於總經理、總監、產品經理等「管理者」;另一種則是「創作者的時間表」(Maker's Schedule),適用於軟體工程師、設計師、開發者、作家等「創意工作者」。

首先先簡單介紹「管理者的時間表」,這種時間表是以「一小時」為基本劃分單位,每小時都有不同的事情需要處理,大部份的人都是在這樣的時間表下工作。Paul Graham 認為這是一個適合「下命令」的時間表(Schedule of command),因為時間可以彈性安排、拆開再重組,所以這個小時去開會、下個小時要整理會議記錄、再下個小時去拜訪廠商,即使不小心分心了,十分鐘的分心頂多耗掉一個小時的時間,每件事情都可以立即處理。

另一種則是「創作者的時間表」,也就是我們這些工程師所遵循的時間表。Paul Graham 認為對創作者而言,每個時間單位至少要有半天這麼長,因為工程師不可能在一個小時內寫完一個程式,一個小時可能還不夠他們「準備開始」寫程式,畢竟「創作」是需要時間醞釀的。

這樣的時間表就像在一個龐大的抽象系統中投入大量的精力工作,有人比喻成用昂貴的水晶玻璃來蓋房子,一旦有人分散你的注意力,整項工程就會瞬間崩塌,碎成千萬片。這就是為什麼工程師非常討厭工作時被別人打斷或分心。

也因為工程師非常需要集中精神來工作,所以除非能連續好幾個小時不被打擾,不然我們根本不想開始工作。好不容易在腦子裡勾勒出設計流程、進入狀況,一旦被打斷,一切都得捲土重來。

事實上,如果你和創業家們討論這個問題,就會發現他們在白天裡根本沒辦法完成任何開發工作。最普遍的障礙就是受到一連串的干擾,像是臨時出現許多急事需要處理、重要的電子郵件需要回覆等等。因此創業家大部份都選在深夜裡、其他人在休息的時候,再進行這些開發工作。

睏倦的大腦 The Sleepy Brain

不過工程師們晚上也還是得睡覺,畢竟我們又不是什麼不用休息的新新人類,而且白天的精神一定還是比晚上好上許多。那為什麼我們要把這些複雜的開發工作留在大腦睏倦的時候做,然而頭腦最敏銳清晰時,卻做些相對簡單的事情呢?

因為「累」是讓工程師 Code 更好的訣竅。

聽過 Ballmer Peak 嗎?一點點的微醺可以讓工程師發揮超人般的 Coding 技巧,然而一點點疲倦也可以達到一樣的效果。當你的大腦開始累了、睏了的時候,根本沒有多餘的精力可以「分心」,你不得不集中精神完成工作。

以我個人的經驗來說,在喝了太多茶或能量飲料、精神最充沛的時候,我工作反而最沒效率。照理說,有這麼多的精力跟腦力,應該能用來寫程式、找 bug,但事實上因為大腦跟身體「太嗨」,我根本靜不下心來好好做事,一下子上 Twitter、一下子看 Hacker News,沒辦法專注在同一件事情上兩秒鐘。

相反的,當有點累時,我才會把屁股好好的黏在椅子上開始寫程式。在大腦稍微有點疲倦的情況下,我可以寫程式連續寫上好幾個小時,根本不會想到 Twitter 或 Facebook,完全忘記網路的存在。

而且我發現大多數的工程師、開發者們都有和我一樣的情況。日常生活中百分之八十的事情,都不需要大腦全力運作就能解決,因此在腦力過剩的情況下,你就會去找其他事情做。疲倦會讓你「笨得剛剛好」,沒有多餘的腦容量塞其他東西,腦力只夠把手邊的工作做完,根本沒辦法分心。

明亮的電腦螢幕 Bright Computer Screens

這點倒是很好理解,晚上長時間地盯著電腦螢幕工作,會延遲你的睡眠週期,讓你忘記疲倦,直到凌晨三、四點才去睡覺,然後睡到隔天中午才起床。然而當夜晚再次來臨時,你會感覺精神很好,這是當然的!畢竟你睡到中午才起床啊。

重複這樣的作息一陣子後,你的身體會適應這樣的規律,活在一個不同的「時區」。更有趣的是,我發現這樣的睡眠週期不會一直向後延,而是在凌晨三、四點左右達到一個平衡,然後停留在這個時區裡。

這可能是因為,如果一直向後延,睡到下午、甚至傍晚才起床的話,其他人會認為你是個無可救藥的大懶蟲,這種「社會壓力」逼得我們不得不停留在四點入睡、中午起床的時區裡,畢竟再更晚睡的話,中午肯定是起不來啦!

結語

總而言之,工程師之所以偏愛在三更半夜寫程式,就是因為在深夜裡工作時間沒有限制,可以更靈活地運用時間(最慘就是今晚不睡覺而已),而且大腦疲倦得不容易分心,最後,狂盯著電腦螢幕剛好可以保持清醒。


相關文章

《延伸閱讀》

美得不像工程師? LinkedIn 撤廣告遭抨擊性別歧視

寫給產品經理與工程師:如何與設計師一起工作

工程師大學時期必經的 35 件事

軟體工程師的時間都花在哪裡?

工程師,您也患有「冒牌者症候群」嗎?

身為網頁工程師我學會的 8 件事

關於工程師 59 條搞笑但卻真實無比的語錄

工程師,你應該寫作

歡迎加入「Inside」Line 官方帳號,關注最新創業、科技、網路、工作訊息


有了智慧型手機,誰還需要汽車鑰匙?手機車鑰匙帶來的全新體驗

汽車鑰匙演變讓手機也擁有車鑰匙功能,為車主帶來更多便利性,能解決忘記鎖車、鑰匙不見、被反鎖、借車還要面交鑰匙等問題。拜智慧型手機之賜,無需換購新車就能為家中現有車款升級,感受手機車鑰匙的嶄新體驗。
評論
Photo Credit:iStock
評論

現在的消費者選購汽車時,除了要看硬體夠不夠勁,也愈來愈重視軟體配備,追求盡善盡美的駕車體驗。隨著車主需求改變,許多一線車廠在近幾年也逐漸與手機業者結盟,讓汽車科技朝向更智慧、更科技便利的方向研發。

回不去了!智慧型手機帶來的便利體驗

拜智慧型手機之賜,在智慧汽車發展完備、正式上路以前,即可以利用汽車多媒體系統的藍牙功能連接智慧型手機,享有影音娛樂、衛星導航、傳訊息、通話等功能。因此,即便車子並非「原生種」的新型智慧車,車主還是能利用 CarPlay、Android Auto 等軟體享有智慧體驗;這也讓車廠致力於以智慧型手機為藍本,開發出與手機同步的汽車附加功能。

Photo Credit:Dimitri Karastelev on Unsplash/智慧型手機串連汽車系統,帶來多元汽車體驗,也讓更多車廠以智慧型手機應用為出發,發展汽車附加功能。

而在眾多汽車配備中,汽車鑰匙不只象徵車主與愛車之間的羈絆,更反映出汽車工業發展朝向智慧科技化的趨勢。隨著智慧型手機的出現與普及化讓不少產品走入歷史,如今手機也能變身為汽車鑰匙,並逐漸成為車廠趨勢。

汽車鑰匙演變史

Photo Credit:笠眾實業/汽車鑰匙演變,從純五金鑰匙,到有遙控功能,再到無鑰匙造型的遙控鑰匙,以及具備螢幕介面的遙控器等,近年更推出智慧型手機結合汽車鑰匙的功能。

汽車鑰匙的演變,最早從一般五金鑰匙、單純遙控器開始,接著出現鑰匙與遙控器合併,再一路發展到 Keyless 免鑰匙系統、高階螢幕顯示遙控器等,汽車鑰匙的演進,讓車主愈來愈方便使用,但無論如何,車主終究還是必須帶著遙控器才能解鎖車門與開車。

不過智慧型手機的多功能應用,讓人們有機會少一樣配件,像是去年 WWDC 蘋果發表會上推出了 CarKey 數位汽車鑰匙,讓率先加入的 BMW 部分車款使用者可以透過手機解鎖用車;今年甫結束的 WWDC 也發佈蘋果手機的 Wallet 強化新功能,即是將生活各種情境的票卡/門卡、數位身份等儲存在 Wallet 之中,讓使用者充分利用隨身手機的便利。可以預想的是,「手機車鑰匙」的概念,在手機不離身、卻常常忘記帶鑰匙的現代人生活中,確實有機會扮演舉足輕重的角色。

手機就是車鑰匙,讓您的車也可以變身智慧車

不過,像 CarKey 手機車鑰匙這樣的智慧鑰匙,對一般使用者門檻恐怕有點高,畢竟只限特定品牌的新型車款才能體驗到它的聰明便利。幸運的是,由台灣獨立研發的車輛管理系統「車管+」(CarKeeper),利用智慧型手機的功能將汽車鑰匙引領到另一個境界,賦予家中現有汽車也能擁有全新的使用體驗,可以說是造福了台灣車主。

Photo Credit:笠眾實業

「車管+」就像是智慧電視盒,讓家中的傳統電視增添了智慧電視的功能。

透過「車管+」結合手機 App 的服務,不論新舊車款皆能擁有專屬手機車鑰匙,功能齊備且不限於 iOS 手機用戶,Android 系統也可使用。

「車管+」主要有三個特色:

  1. 手機免操作:採用手機藍牙配對,藍牙連線感應偵測,車主免拿出手機操作就能自動上鎖/解鎖,在無訊號的地下室也能使用。
  2. 虛擬鑰匙、共享用車:可遠端傳送虛擬鑰匙,借車給親朋好友不必跑一趟,對方便能用自己的手機進行車輛解鎖。此外,被共享者在行駛中 App 也會上傳資料(透過手機網路上傳雲端無需費用),車主可遠端透過 App 查詢汽車借出去後的位置與行駛狀況。
  3. 車輛管理機制:一支手機可同時管理多輛車的資訊(例如:公務車、租賃業),並留存車輛使用紀錄,包含行駛里程與路徑。此外,還能擴充遠端 GSM 通訊模組與安裝可連網 SIM 卡,便於資料即時上傳與掌握汽車動向。

在全球一線車廠追求智慧化,企及新世代車主駕車需求的同時,開發「車管+」的幕後團隊——笠眾實業(IVTES),以創新服務打破汽車智慧體驗的高門檻,致力於研發新概念型態的汽車電子產品,利用汽車科技日新月異與智慧型手機的普及,建立一個更舒適、便捷的用車環境。無需換購新車也能為家中現有車款翻新駕車體驗,就從升級手機車鑰匙開始。