Linux中國

屢屢失敗犯錯的我為什麼沒有被開除

我的職稱是高級軟體工程師,但我最親近的同事並不這麼稱呼我。由於我摧毀一切,他們管我叫「櫻桃炸彈」(正巧我姓「櫻桃」)。我定期會遇到的失敗已經可以影響到我們的季度性收益和停機時間。簡單的來說,我就是你所聽說過的生產災難:「別動,啥都別做,無論何時何地。」

我的職業生涯始於支持服務台,在那裡我寫了一些循環,破壞了高端客戶的伺服器。我曾在沒有警告的情況下將生產應用程序關閉了長達八個小時,並且在試圖使得情況好轉的過程中摧毀了無數個集群,有幾次只是因為我打錯了字。

我是我們在 Kubernetes 中設有災難恢復(DR)集群的原因。我是個混亂的工程師,我們有一個應用程序,它的故障恢復計劃還從未測試過,而我在沒有警告的情況下,就教人們如何快速行動和排除故障。我作為可能失敗的最好例子而存在,這實際上是有史以來最酷的事情。

我和消失的 K8s 集群

我的正式職責之一涉及到我們的應用架構。對於任何形式的架構改動,我都要進行代碼的編寫與測試,看看有什麼可能性。近來,據說這成了我老闆史詩級的痛苦,這只是輕描淡寫。

我們在 Kubernetes 上運行我們的大多數基礎架構,Kubernetes 以其彈性著稱。儘管有這樣的聲譽,我還是使得兩個集群,好吧,消失了。你可能會好奇我是怎麼做到的,很容易,terraform destroy。我們通過 Terraform 以代碼的方式管理我們的基礎架構,並且不需要任何軟體知識就知道 destroy 可做壞事。在你驚慌失措之前,好吧,是開發集群,所以我還活著。

鑒於此,你們肯定會問我為什麼還沒丟掉飯碗,以及為什麼我要寫下這些事情。這很好回答:我仍然有工作,是因為我更新的基礎架構代碼比起起初的代碼工作得更好更快了。我寫下這些是因為每個人都會經常性地遭遇失敗,這是非常非常正常的。如果你沒有時不時遭遇失敗,我認為你並沒有足夠努力地學習。

破壞東西並培訓人們

你可能還會認為永遠不會有人讓我去培訓任何人。那是最糟糕的主意,因為(就像我的團隊開玩笑說的)你永遠都不應該做我所做的事情。但是我的老闆卻讓我定期去訓練新人。我甚至為整個團隊提供使用我們的基礎設施或代碼的培訓,教人們如何建立自己的基礎設施。

原因是這樣的:失敗是你邁向成功的第一步。失敗的教訓絕不只是「備份是個絕佳的主意」。不,從失敗中,你學會了更快地恢復、更快地排除故障並且在你工作中取得驚人的進步。當你在工作中變得驚人的時候,你就可以培訓其他人,教給他們什麼事情不要做,並且幫助他們去理解一切是如何工作的。由於你的經驗,他們會比你開始時更進一步 —— 而且他們也很可能以新的、驚人的、史詩般的方式失敗,每個人都可以從中學到東西。

你的成功取決於你的失敗

沒有人生來就具有軟體工程和雲基礎架構方面的天賦,就像沒有人天生就會走路。我們都是從滾動和翻爬開始的。從那時起,我們學會爬行,然後能夠站立一會兒。當我們開始走路後,我們會跌倒並且擦傷膝蓋,撞到手肘,還有,比如像我哥哥,走著走著撞上桌子的尖角,然後在眉毛中間縫了針。

凡事都需要時間去學習。一路上閱讀手邊能獲得的一切來幫助你,但這永遠只是個開始。完美是無法實現的幻想,你必須通過失敗來取得成功。

每走一步,我的失敗都教會我如何把事情做得更好。

最終,你的成功和你累積的失敗一樣多,這標誌著你成功的程度。

via: https://opensource.com/article/20/3/failure-driven-development

作者:Jessica Cherry 選題:lujun9972 譯者:JonnieWayy 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國