程式設計師大佬都啥時間幹活?同為程式設計師,自然有辦法弄清楚了。俄羅斯程式設計師 Ivan Bessarabov 根據大佬們在 git 上的工作時間推算出他們的作息時間。我們檢視了他們的工作時間以及照片,只能羨慕地說:同樣是熬夜,為什麼他髮量那麼多?
如何成為大佬?這恐怕是所有領域工作者都有的疑問。那麼大佬都是怎麼安排工作的呢?這與 TA 們的成就有何關係呢?
俄羅斯程式設計師 Ivan Bessarabov 想要一探究竟,他此前就職於俄羅斯網際網路企業 Yandex。
這位程式設計師小哥透過「程式碼」查詢了幾位程式設計師大佬在工作日及週末的工作時間,其中包括 Linus 之父 Linus Torvalds、Go 語言之父 Rob Pike、PHP 之父 Rasmus Lerdorf、Python 之父 Guido van Rossum、Swift 之父 Chris Lattner 等。
程式設計師的重要產出——程式碼,通常儲存在版本控制系統(VCS)中,將程式碼上傳到 VCS 系統的時間點均被記錄下來。其中最流行的版本控制系統是 git。每次上傳程式碼就是一次「commit」。
$ git cat-file commit 82be015
tree 496d6428b9cf92981dc9495211e6e1120fb6f2ba
author Ivan Bessarabov <ivan@bessarabov.ru> 1563188141 +0300
committer Ivan Bessarabov <ivan@bessarabov.ru> 1563188141 +0300
Initial commit
Ivan 正是透過這種方式瞭解程式設計師大佬的工作時間。如上圖所示,透過 commit 資訊獲取上傳專案的作者、聯絡郵箱、上傳的專案、以及上傳專案的時間(以時間戳的形式)。透過編寫一個簡單的程式,就可以獲取這些資訊了。
Linus Torvalds
Linus Torvalds 是 Linux 系統和 git 專案的作者。該專案對他在 Linux 和 git 專案上的工作時間分別進行了統計。
工作日以及週末時,Linus Torvalds 在 Linux 專案中的活動時間。
工作日及週末時,Linus Torvalds 在 git 專案中的活動時間。
根據統計,Linus Torvalds 在上午 10 點提交的 commit 最多,而深夜的工作則相對少得多。看來,這位大神的工作時間非常規律。不僅如此,從髮量來看,Linus 也算是程式設計師中的養生典範(禿頭少女表示羨慕……
不過他的活躍度可不低。如圖:
Rob Pike
Rob Pike 是 Go 語言之父。該專案選擇了他在 Go 語言專案上的活動記錄。
從工作規律上來看,似乎和 Linus 類似,但是髮量就少多了。相對而言,Rob 的 commit 時間更加集中。
同樣,Rob 的 contribution 時間也非常集中。
Rasmus Lerdorf
PHP 語言之父 Rasmus Lerdorf 的活動記錄如下:
這恐怖的工作時間!哪怕是凌晨三四點也有相當規模的 commit,連週末也一樣在工作,也難怪髮量稀疏了。
相比於 Linus 老爺子,Rasmus Lerdorf 的 contribution 更加佛系。
Guido van Rossum
「仁慈的獨裁者」Python 之父 Guido van Rossum 的在 CPython 專案的活動記錄如下:
可怕的 commit 量,即使凌晨也保持在一定的數量,簡直是程式設計師中的戰鬥機。但是 Guido 似乎偏愛在週末好好休息,休息日的貢獻非常低。
所以髮量不是爆肝指標,而是戰鬥力指數嗎?
Chris Lattner
Chirs Lattner 是 LLVM 編譯器和 Swift 語言的作者。他曾在蘋果公司工作,並短暫就職於特斯拉,現任職於谷歌。
以下是根據他在 Swift 語言專案上的活動時間統計出的結果:
Chris 的「心型」髮際線可以說是很別緻了。這一發際線的成因似乎也能從 commit 分佈中找出蛛絲馬跡。這位大神似乎非常喜歡通宵,那麼你以為他早上和中午是在補覺嗎?不不不,Chris 在 twitter 上表示:經常深夜擼程式碼是為了白天可以有更多時間進行團隊交流和合作。
從 contribution 資料上,這位大神近來工作減少了很多,是想好好休息養髮護髮嗎?
閱讀過這些資料,好奇心終於得到了一些些滿足。不過,雖然有的大神即使熬夜,也能精力充沛、髮量豐富,但是大家還是要勞逸結合,好好休息呀。