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