當前位置: 華文問答 > 數位

普通的程式設計師和大神級的程式設計師有什麽區別?

2017-05-03數位

或許從大神們的工作狀態中,能找到一些蛛絲馬跡。

有位名叫Ivan Bessarabov (簡稱「伊凡」) 的好事者,剛剛統計了各路大佬的程式碼送出 (git commit) 時間分布。

包括Linux之父,Python之父,Go語言的作者……

伊凡考慮了時區,並把多人合作送出的程式碼踢出去沒算。

結果很有意思,發現了幾個不同的物種:正常人類,夜行獸,還有……永動機。

這引起了網友的熱烈討論,Hacker News熱度已經超過600點:

正常人類

正常人類通常在白天工作。

然而在程式設計師大佬中,這個物種並不常見。

Go語言的作者 Rob Pike看上去算是個非常正常的人類:

(第一列是時間,第二列是程式碼行數。)

Go計畫的repo顯示,Rob的工作時間集中在上午9點到下午5點之間,朝九晚五,非常健康。

雖然一天可能就睡5個小時,業余時間似乎也都在coding吧,但總之,組織鑒定他是個正常人類!

下面這位「正常人類」,畫風就開始有點不一樣了:

這來自 Linux之父Linus Torvalds:

白天工作,沒問題。但是這位大神的程式碼從早上7點就開始有噴發之勢,這個勁頭幾乎能持續到晚上八九點鐘。

睡眠時間比上面那一位看上去更短了一些,不算上發呆時間的話。

這簡直是正常人類裏的戰鬥機。

而根據網友爆料,Linus可能是 被迫 成為正常人類的,在他有孩子之前,他也是晝伏夜出的夜行生物。

還有的人的畫風是這樣的:

這是 FFmpeg的作者Fabrice Bellard 在這個計畫上的工作時間,真是越夜越開心啊。

令人好奇的是,這位大佬是會睡著睡著覺靈感突發蹦起來送出程式碼的嗎……

夜行獸

說不上什麽科學道理,但程式設計師大佬的身體構造可能發生了什麽詭秘變異。

他們中間夜行生物的比例似乎要高於正常人類。

比如像這樣:

這是 LiveJournal的作者Brad Fitzpatrick 在memcached計畫上的送出。

大佬瘋狂熬了一宿,靈感噴湧而出,太陽當空照的時候,他就滿意地去睡覺了。

Brad對Go語言也有程式碼貢獻,在這個計畫上他的畫風更加狂野了:

LLVM編譯器的作者Chris Lattner 也是當之無愧的夜行獸,他曾在蘋果和特斯拉工作,現在則加入了谷歌。

他的程式碼送出時間長這樣:

別人都是朝九晚五,這位大概是晚九朝五吧……

研究了那麽多大佬,伊凡小哥自然不會放過那位 仁慈的獨裁者 Python之父Guido van Rossum 同樣被戳上了夜行獸認證。

這樣的程式碼送出時間似乎在說:美好的一天從下午開始,夜晚才是真正的coding time

至於夜行獸們為什麽24小時都在送出程式碼,大概他們像貓一樣白天也想醒就醒吧……

永動機

除了日行和夜行,還有一個物種叫白夜行,他們不止24小時送出程式碼,且產能沒有重大波動。

「世界上最好的語言」PHP的創始人 Rasmus Lerdorf ,便是一個優秀的代表。

由於GitHub上找不到初版PHP,伊凡便統計了這位創始人在 php-src 計畫上的送出時間:

看得出,越到晚上越是興奮,但白天體能也並沒有太多損耗。

不過這個物種裏,還有產能更加強盛的個體。

下圖是兩個Web框架,和它們的作者,名叫 Sebastian Riedel

都是基於Perl語言的框架

這是他在Mojolicious框架計畫裏的送出時間表,數位快要爆炸了:

高產的時段,依然集中在夜晚。

但即便是產能最低的早上8點和9點區間,也都超過了100行。

伊凡統計到這裏,都不由地驚嘆:

這時間表是瘋了。好嫉妒他的生產力。

這樣看來,每個物種都有各自的戰鬥機。

強大的戰鬥力難分高下。

誰喜歡周末寫程式碼?

伊凡的觀察結果,被著名夜行者之一、LLVM編譯器的作者Lattner翻了牌。

他提了個建議,說如果把工作日和周末分成兩個數據集來分析的話,可能會很有趣。

於是,伊凡就真的 續了一篇

因為有五個工作日,兩個休息日。如果每日產能平均分配,應該是周中71.4%,周末28.6%。

那麽,周末送出的比例超過 28.6% 的話,就表示更喜歡在周末寫程式碼。反之,就是更傾向在工作日寫程式碼。

結果,日行族的Linux之父Linus ( 19.3% ) 和Go語言之父Pike ( 9.7% ) ,都是 工作日 產能的更加豐厚。

可以理解,畢竟日出而作,日落而息,周中忙碌,周末休息,都是普通人眼裏的自然規律。

夜行族便不同了,既有喜歡工作日的Python之父van Rossum ( 10.2% ) ,也有喜歡周末送出程式碼的LLVM編譯器作者Lattner ( 27.3% ) 。

永動機又如何呢?

PHP創始人Lerdorf,是所有被測的著名程式設計師裏,周末送出比例最高的,達到了 30.3%

而永動機中的戰鬥機、兩個Web框架的作者Riedel,周末送出比例是 26.2% 。只是略低於26.8%。

總體來看,永動機可能是 最喜歡周末上班 的一個物種。

質疑之聲

那麽問題來了。Hacker News討論版上,不到一天便湧來了187條評論,提出問題的也不少。

比如,頂樓是名叫Dahart的網友,他說 不能輕易把送出時間等同與工作時間

我都讓團隊盡量避免在夜裏、周末、或者快到的時候送出程式碼,因為後面還有其他工作人員,需要這些程式碼。至少有15年都是這樣過來的。

除此之外,推特網友@JDevlieghere還說, 送出時間和git的機制有關系

我自己跑了一下LLVM,然後發現程式碼送出時間,延遲了幾個小時。

LLVM作者Lattner也附議了這個問題。

不過依然不可否認, 程式碼送出時間 是個非常好的觀察角度。

One More Thing

獨樂樂不如眾樂樂,伊凡小哥開源了程式碼,熱情邀請大家一起探秘大佬都是什麽物種。

所以現在你可以親自解密一下國內大佬coding time了。

比如,聽說廣州程式設計師張小龍就喜歡深夜抽煙寫程式碼,伴著音樂享受夜的溫柔,不知道現在是否還這樣……

程式碼傳送門:

伊凡部落格 (觀察結果) :


量子位 · QbitAI
վ'ᴗ' ի 追蹤AI技術和產品新動態

歡迎大家關註我們,以及訂閱我們的知乎專欄