Growth, 讀書心得, 軟體開發

只有認真的失敗,才有價值

寫程式、做工程師的難免失手、失敗,有寫錯 code的失敗、考慮不周全造成的失敗讓APP 閃退、Server 爆炸、線上服務停擺,讓網站瞬間一秒少賺幾十萬 😱

還好我們不是醫生,一個失敗、就讓保貴生命消失!

身為程式工程師,我們可以 rollback 失敗、可以 revert 失敗;但也只有在你認真看待作品、工程的時候...我們才能說『只有認真的失敗,才有價值』

只有認真的失敗,才有價值[宇宙兄弟]
只有認真的失敗,才有價值[宇宙兄弟]

認真做好工作、認真面對失敗、檢討失敗!

如同我的某篇舊文軟體工程師的職業道德!Code 的靈魂(https://cola.workxplay.net/programmer-and-professional-ethics/) 裡提到的~~
我想簡單來說就是負責和想要做到更好的心態吧~~~

ps: 我很喜歡看漫畫,比起文字滿滿的工具書、閒書、成長書等... 漫畫讓我更有代入感

近期
公司網站無預警故障,new relic APM 沒有記錄、反應;新上線的程式也是4 小時前的事了
(心裡偏見的關係,直覺不認為是新上線程式造成問題)

多位工程師一至認為先重開機

在工程界重開機能治百病!!
治電腦、治 Server 小到手機,大到冷氣機更甚至飄在太空裡的衛星 🤣
(重新開機什麼都能醫,NASA 只用「重開機」就治好了壞掉的哈伯望遠鏡)

當下
我也讚同重開機,但我表示應該先查 Log 檔看看、找出 root cause
在網站服務故障的一個小時多期間,公司應該損失了不少錢;也看得出工程師們的緊張和焦慮!!


事後看來~
外人或是聰明如讀者你一定會覺得查 Log 不難,也是第一步;但在火燒房子和心裡偏見的情況下往往會有盲點;少一個 ;多一個 $ 這類的錯誤更是不勝枚舉 🤮
(我想.. 這是非當事者難以理解的難題。)

在亞洲社會、教育下...
修正錯誤後會因為燒女巫(git blame) 的習俗 (??!!)
讓大家對失敗、犯錯感到挫折或是難過、害怕!

但如同文章標題『只有認真的失敗,才有價值』
雖然我們不是愛迪生,但是每次的失敗裡是真的可以找到解法、改善方式進而避免下一次再失敗。

良好的失敗,可以警示出問題所在,指出改善位置。
我們應該擔心的是錯誤、失敗沒有被發現!

每一次的失敗背後,應該被重視的是如何修復、修正,而不是把犯錯者吊起來燒🔥
- 明確指出問題發生原因
- 建立停損點
- 提出改善方案
- 實行、實做改善方案
- 建立更完整的錯誤警示與回報機制


當然事後還是可以 git blame 燒一下啦 XD
我被燒過,也燒過別人 ... 請原諒我年少無知 🙇‍♂️

ref.
There is Good Failure and Bad Failure
https://thinkgrowth.org/there-is-good-failure-and-bad-failure-d2b168841f95

Are there also, types of failures like, good failure or bad?
https://www.quora.com/Are-there-also-types-of-failures-like-good-failure-or-bad

發表迴響