作者在程序員崗位上工作了三十多年,在這期間他悟出了一些真理,比如,成功來自對失敗的總結(jié)學(xué)習(xí);條條大路通羅馬,羅馬并不在乎你用什么方式到達(dá)。你在生活中積累了哪些經(jīng)驗(yàn)?zāi)?不妨與我們分享下。

在程序員崗位上工作了三十多年,我學(xué)到了也明白了一些事情,希望在這里跟大家一起分享:
看不到實(shí)物,客戶不會知道自己想要什么
一個功能性原型系統(tǒng)的展示,能夠省下無謂低效的贅述。
只要給予足夠的時間,任何安全措施都不安全
安全是目前系統(tǒng)運(yùn)維的重大挑戰(zhàn),我們每時每刻都想方設(shè)法來保護(hù)系統(tǒng)和數(shù)據(jù),但是黑客只要成功一次,我們所有努力就極有可能都付諸東流。
系統(tǒng)被攻破后造成的影響,依賴于事前的準(zhǔn)備功夫
如果能夠預(yù)先估計防護(hù)系統(tǒng)失效的后果,做足準(zhǔn)備措施,例如:把關(guān)鍵數(shù)據(jù)單獨(dú)分離存儲,對數(shù)據(jù)進(jìn)行加密等,那么或許可以減少日后上頭條的機(jī)會。
良好的安全部署不僅僅是開銷,而是戰(zhàn)略資產(chǎn),如果吝嗇于此,代價將不菲
在工作中,我總會聽到人們常常抱怨安全運(yùn)維是多么的復(fù)雜和昂貴,因此,總不時看到某些企業(yè)為了蠅頭小利,以犧牲安全性來節(jié)省開支,最后不得不多吞下N倍的苦果。
復(fù)雜問題簡單化,遠(yuǎn)比普通問題復(fù)雜化困難得多
在任何創(chuàng)造性藝術(shù)領(lǐng)域,如:編程,設(shè)計,這都是個常見現(xiàn)象。我會盡力把代碼寫得簡單易懂,不論是為了自己還是別人;如果你想展示自己的聰明才干,而故意把代碼變得復(fù)雜, 那么維護(hù)會是件可怕的事情。當(dāng)然從保護(hù)知識產(chǎn)權(quán)角度來看,這本無可厚非,但或許會失去開源軟件的活力與創(chuàng)造力。
成功來自對失敗的總結(jié)學(xué)習(xí),如果一再容忍失誤,失敗與成功注定是兩條平行線
當(dāng)人們對自己的錯誤習(xí)以為常,那么創(chuàng)造出來的可能是毫無價值的產(chǎn)品。我們需要訂下目標(biāo):只允許自己犯同類型的錯,一次。只有嚴(yán)控錯誤頻率,才能不斷提高軟件開發(fā)水平。
永遠(yuǎn)不變的是變化
僅根據(jù)今天的情況來制訂明天的計劃,是不明智的。特別是在編程的世界里,沒有亙古不變的死路子。反對技術(shù)進(jìn)步,閉關(guān)自守,不接受或嘗試新事物,注定是不會成功的。
終身學(xué)習(xí)
我最喜歡的一個說法是:我們背后都跟著一個大滾筒,只要稍微停下,就有可能給絆得人仰馬翻,因此,我們必須比它跑得更快,不斷前進(jìn)。當(dāng)我們自認(rèn)已掌握一切后,殊不知其實(shí)是倒退的開始。
整個軟件業(yè)充斥著野驢猜想
古時候,先知者如果預(yù)言失敗,會給石頭活活砸死;而現(xiàn)在,即使預(yù)判失敗,專家們都可全身而退,不過去做另外一次預(yù)判罷了。因此,野驢猜想盛行,人人都喜歡去預(yù)判下論斷,一個浮躁的年代。
條條大路通羅馬,羅馬并不在乎你用什么方式到達(dá)
客戶不會關(guān)心你會遇到什么問題,他們只想你的軟件能解決他們的問題。系統(tǒng)宕機(jī),硬件損壞,黑客攻擊,這些對客戶來說毫無趣味可言。如果不幸發(fā)生這些囧事,老實(shí)交代是較好的做法,特別是被客戶清晰知道你將如何解決這些問題前。
客戶才是最好的質(zhì)量標(biāo)準(zhǔn)
不論你有多少的測量指標(biāo),進(jìn)行了多少回代碼回顧,通過了多少個驗(yàn)收清單,這些其實(shí)都是次要的;最關(guān)鍵是我們做到客戶所期望的,沒有做多余的無用的。記住,客戶才是最后把關(guān)的QA。
無記錄,不成功
時至今日,我仍然覺得人們?nèi)绻蝗ナ占罩?,崩潰報告等有用信息,是多么的我伙呆。我一直堅持做的是進(jìn)行盡可能詳細(xì)的記錄,追蹤崩潰情況,閱覽復(fù)核報告和備注,和其它 任何能迅速定位錯誤的事情。
盡管存在更好的辦法,但是時間不會停下來等你
在做評估時,最困難的是取得終止和繼續(xù)之間的平衡。如果終止,或許會失去找出更好辦法的機(jī)會,但如果這辦法需要耗費(fèi)過長時間,其實(shí)沒多大價值。這是個艱難的抉擇,但有時候今天做出的快速選擇,會比明年才得出的好選擇更管用。
尋找有錢的金主
曾合作過的一名銷售人員的觀點(diǎn)讓我印象深刻:找到一個不懂技術(shù)但有很多錢的人,如同找到了一個大金礦。聰明的人會問太多問題,貧窮的人不能給予你回報。我由衷地為自己成為程序員感到高興!
我的工作是對客戶撒謊,你的工作是讓我看起來是一個好人
還是前述的那名銷售人員,他喜歡口頭允諾客戶完成不可能的任務(wù),并在我們最終完成任務(wù)后,捷足先得我們的獎賞與贊譽(yù)。盡管挑戰(zhàn)難題會很有成就感,但每次的副作用是無盡的痛苦。我的建議是:盡快尋找另外一個更好的銷售!
