寫程式、做工程師的難免失手、失敗,有寫錯 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-d2b168841f95Are 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