累到想刪庫,程式設計師職業倦怠的真實現狀

發表於2017-07-12

Kenneth Reitz 是一個知名的程式設計師,特別是在 Python 圈,他編寫了 Requests / Records / Maya 等著名 Python 庫,出過書《The Hitchhiker’s Guide to Python》。他在從 2001 年起就職於 Heroku,同時還是 Python 軟體基金會董事會成員。對了,他以前還是個大胖子,2016 年後來減肥成功。他喜歡街拍,並且還是一個電子音樂製作人。

累到想刪庫,程式設計師職業倦怠的真實現狀

很不幸,倦怠在軟體開發中是一個非常真實的現象,尤其是創立並維護一個具有大量使用者的開源專案。就這個話題,我深有體會。所以我來分析我的個人經驗。

即使軟體程式設計是你在這世上最喜歡的活動之一,每個整天寫程式碼的人都會經歷這樣的事情,突然感覺“我想做別的事情,而不是坐在這寫程式碼”。

你突然意識到,你已把冰激凌當成三餐,持續吃了好幾年。你已厭倦了冰淇淋,不想再看到它。但偶爾吃冰淇淋的人不明白這一點,他們會想:你怎麼會不想要冰淇淋了呢?—— Gary Bernhardt

我對軟體開發的倦怠情況有一些個人經驗,還有幾個如何正視、防範和簡單應對的小竅門。

目標的必然衰敗

在 2011 年,我為自己設定了一些開源社群的目標後,我很努力地為此工作,有著好運相伴,我取得了成功(特別是 Requests 專案)。隨著專案的人氣不斷攀升,我對繼續建立新專案的動力下降了。同時,為了滿足成功專案帶來的大量使用者群所提出的要求,我的負擔越來越重,而維護專案的壓力也在不斷增加。

這是我想要的,是嗎?

倦怠十分狡猾,它悄然而至。它慢慢地折磨你,直到你認為這種感覺已經成為了新常態,這時你再也無法輕易跳出自己挖的坑了。—— Zach Holman

410 GONE 網路失蹤

我記得曾經有一次,我躺在沙發上,也就是我現在坐的地方,一邊解決新出現的慢性偏頭痛 (NDPH),一邊回顧我的生活。就像看推文一樣,我不斷地重新整理並思考過當時軟體世界中的一些政治問題,我發現自己對這些事情非常緊張,這本身就是一個問題。不僅如此,而且我過於在意我在推特上關注的人提出的公開觀點,

一旦我認識到這一點,我立刻意識到這是一個很嚴重的問題,必須立即停止它。我的第一個想法是提出所謂的“410 錯誤”情況。當然,我沒有這樣做,但是我很重視這個問題。

410 GONE 是 Mark Pilgrim 的一個沸沸揚揚的舉動,他作為 Python 的開發者以及一個普通人,因為一些未知的原因,選擇將自己從開發者社群隔離。我認為這可能是因為他感受到了來自開源“領導者”地位的壓力,想要保持自己的身份認同。他突然從網際網路上刪除了所有的公共程式碼,這樣所有的使用者只能重新定向,訪問其他非官方映象。

伯樂線上補註:Mark Pilgrim 是《Dive into Python | 深入 Python》的作者。他不僅刪程式碼,並且他的社交賬號 GitHub、Google+、Reddit、Twitter,也全部清空了。

在我看來,這是倦怠週期的縮影以及最壞的情況。我差一點就從 GitHub 上刪除所有的專案,從 SpeakerDeck 上刪除所有演講的幻燈片,搞掉我自己的網站,然後在平靜的生活中繼續前進。

但最後我沒有這樣做,為什麼?因為這些是世界上對我最重要的事情。為什麼我要破壞那些我努力創造、引以為傲的東西?

“只發布”模式

所以,我決定找到問題的根源,並解決它們。我意識到,我的世界已經擠入太多人,沒有委派足夠的人手,並且需要他人的幫助來維持我的專案。我不想失去我在社群中珍視的位置,它能夠影響這個我極其重視的世界。

所以,我選擇取消關注推特上的所有人。我停止關注科技趨勢,也不再閱讀 Hacker News。我進入了“只發布”模式。

這是一個重大的舉措,就和我見過的很多其他開發者一樣(一般比較隱晦,並不明確),這是一個從開源軟體開發中,緩解壓力的好方法。遠離喧囂,善待自己。

今天,我在社交媒體上關注了一些人,人數不多,但足以讓我處於一個相對較忙的狀態,而過去很長一段時間我都過於忙碌了。這一切很容易就能實現。

委派

當成千上萬的活躍使用者使用你的軟體,或即使只有你的同事時,你很容易感到懈怠,因為你是專案的唯一聯絡人。所以,我已經學會以新的方式委託並加強合作。

針對 Requests 專案,我有兩個合作維護者,他們幫忙處理收到的問題(issues),並解決諸如安全更新的事情。這大大降低了專案施加在我身上的壓力,也幫助他們成為了 Python 社群的活躍分子。

我今天的平衡生活

所有的這些都是許多年前的事了,如今我的生活已經取得了一個良好的平衡。我在個人的興趣愛好,如音樂製作、攝影上花費了大量的空閒時間(我甚至今年要出一張專輯)。我今年出版了一本書,另一個人花了大量的時間與精力參與其中,這本書的出版離不開他/她的鼎力相助。

有著寫程式碼以外的愛好,實在是太重要了。

我沒有和往常那樣,將程式設計作為一項娛樂消遣的工作,但我將再一次重新出發。我不覺得現在缺少了什麼,但我的夜生活已經不同往昔,不再 100% 被程式碼完全佔據了。

開源的本質就是合作/協作。如果你發現自己倦怠了,累了,也許你需要找到一種與他人協作的新方式,來幫助你做最好的事情。你會發現,其他人可以通過做他們擅長的事,來幫助你做自己擅長的事。

相關文章