相信我,我是程式設計師

奇風餘谷發表於2013-04-20

那封你祈求永遠不要出現在收件箱的電子郵件突然冒了出來。你重新讀完它,僅為了確認裡面的詳細內容。儘管你想要忽略它,但是這一封你不能忽略的郵件。你的回覆終於寫好了,卻猶豫要不要點傳送。”讓我來重新修改一下” 你自己想。讓你左右為難的是,你所說的是不是真實的情況。

軟體bug總是不幸地成為真實的世界體系的一部分,就像這句糾結的原話所說的,

真實的系統不完美,完美的系統不真實

當然,bug的嚴重性肯定是有等級區分的,有輕微的、有傷腦筋的、最後還有災難性的。從終端使用者的角度看,輕微的bug通常會被忽略;傷腦筋的bug常常因為能用某些規避措施而無關痛癢地呻吟一下;嚴重的bug則完全不同,它們是舞臺上的攪局者。

嚴重的bug不經常發生(至少不應該發生),因為當發生時每個人都會注意到,影響可以大到金融損失,或者甚至死亡。2010年5月6日,股票系統裡的一個bug導致了”閃電崩盤”,讓美國金融損失了一萬億美元。1985年大約有6人因為接受了Therac-25裝置的超劑量(100倍正常劑量)輻射而死亡,這又是一個直接由軟體bug導致的後果。(《軟體Bug引發的十次嚴重後果》一文就也說了這個案例。)

鑑於肩負此事的重要性,可想而知,這可是一副重擔啊。這樣沉重的擔子,大部分人會希望儘量避免它也並不奇怪。簡單的出路是要麼把擔子傳給其他人,要麼採取可能”經濟”的措施面對真相。

不擔責任是一個Hack,一個短期處理。可能在短時間裡湊效,但是不久,帶著所有的Hack,問題會毫無疑問的崩潰。當問題崩潰時,情況會遠不如最初避免短期處理的樣子。

專業人員,從醫生到程式設計師,那些依賴他們的人信賴他們。大部分人都理解事情有時候會出錯,人無完人嘛。大部分錯誤都是可以原諒的,儘管它們令人氣惱或痛苦。然而故意的欺騙會打斷信任的紐帶,一旦打斷,將無法復原。

 

鼓足勇氣

承認錯誤需要勇氣,承認失敗並且慘痛的失敗向來不易。如果你必須走這條路,那麼首先要做的事是承認你失敗,並且為此道歉,沒有任何藉口。努力做到直接和人對話,如果失敗,再通過電話。發電子郵件很多情況不怎麼公正。解釋問題的原因,然後提出解決方案將有助於帶你從錯誤裡走出來。

 

結論

作為程式設計師和系統構建者,我們在信任的領地。信任和威望是往往需要長時間來建立的東西。然而毀滅二者非常快。我希望你不要讓自己處於這樣可怕的境地。如果你發現自己處於如此窘境,我希望你的威望和可信賴能夠帶給你勇氣來挽救它。

 

英文原文:Codingninja,編譯:DEEPFISH@奇風餘谷

譯文連結:http://blog.jobbole.com/38489/

【非特殊說明,轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊,謝謝合作!】

相關文章