一個平庸程序員的自白[2]
我的生存之道
盡管我的編程技能不盡如人意,我仍然是一個非常成功的開發(fā)人員。這里有一些我多年來學(xué)到的訣竅,以及如何我作為一個平庸程序員,發(fā)揮出最佳平均編碼技能水平的生存之道:
▲ 明確要求--我會預(yù)先得到完整、精確的系統(tǒng)要求清單。如果你直接開始編碼就意味著你沒有針對系統(tǒng)設(shè)計的要求來進(jìn)行。
▲ 分析和設(shè)計--我獲得了分析和設(shè)計權(quán)。一名普通程序員獲得了分析和設(shè)計權(quán),就擁有了一個超越一名偉大的程序員的優(yōu)勢。
▲ 項目計劃--坦白來說,我早期職業(yè)生涯中沒有用過正式的項目計劃,一直到我加入了CSC,不得不使用更多的正式文檔編制技術(shù),從而開始使用項目計劃。由此我充分認(rèn)識到使用經(jīng)過慎重考慮后的項目計劃也是平庸程序員的一個優(yōu)勢。
▲ 經(jīng)常翻閱手冊、指南--我總是備有手冊、指南以供不時之需。我也研究了其它的參考材料。
▲ 拷貝-粘貼程序員--我不介意承認(rèn)自己是一名拷貝-粘貼程序員。多年來,我寫了許多可以在新項目中重復(fù)使用的代碼。因為我至少花時間寫了一次代碼,所以我對這些代碼如何工作略知一二。在工作中我從不拷貝其他人寫的代碼,并且我從不使用我在其他公司寫的代碼。黃金規(guī)則和版權(quán)法都適用于知識產(chǎn)權(quán):您不得復(fù)制和使用別人的代碼,除非明確允許,或者你可以得到特別的許可。
▲ 毅力--我永不放棄,我一直相信自己能完成任何編程任務(wù)。
▲ 工具--當(dāng)我需要一臺更快的電腦但這又不在預(yù)算之列時,我發(fā)現(xiàn)了一個經(jīng)理愿意用他們的一部分預(yù)算資金為我購買。你可以通過乞求、借用,或交易來獲取所需工具,從而完成自己的任務(wù),要經(jīng)常向你的經(jīng)理提出自己的要求;只這些要求是合理的,一個優(yōu)秀的經(jīng)理會盡最大努力找到一種方式來獲得軟件,硬件,手冊,或者你所需要的幫助。
▲ 手氣好(Serendipity)--也被稱為“代碼一寫就好”策略。有幾次我像一個初級程序員那樣寫了代碼,而這些代碼運(yùn)行得很好。我把它比作是國際象棋,你在下棋的過程中突然發(fā)現(xiàn),自己走兩步就有將死的機(jī)會。這不是編程應(yīng)有的方法,但由于我在檢討自己的職業(yè)中的罪過,我不得不納入此項。
底線
我要做一個最終坦白:我不喜歡被看作是次等的團(tuán)隊成員。我見識卓越,而幼稚的`程序員卻真的相信:不能寫出“先進(jìn)”代碼的人對團(tuán)隊和公司來說毫無價值。這些精英認(rèn)為平庸的程序員能力有限,不足以生產(chǎn)高品質(zhì)的代碼,幾乎總是犯錯,令人不快。有個觀念令我感覺既可笑又驚訝:如果你不能 ________(填空),就不是優(yōu)秀的程序員。
你不必成為一個出色的程序員或偉大的開發(fā)者,特別是正在開發(fā)商用系統(tǒng)的時候。沒錯,我是一個平庸的程序員,其主要原因是我從來不需要成為一個偉大的程序員。
我不是縱容平庸。不論做什么,都要盡力做好--包括編程。“最好”的代碼可能難以確定,但越高效的代碼可能也越難維護(hù)?梢哉f,任何可以完成工作的代碼就是好的代碼。代碼是像索瑪立方體(Soma cube),有240種途徑可以解決索瑪難題,同樣,也有許多代碼編寫方法可以用來完成任務(wù)。底線就是盡可能做好工作--這是任何一個平庸的程序員都可以做到的。
【一個平庸程序員的自白[2]】相關(guān)文章:
IT男人的自白12-02
《一個廣告人的自白》讀后感01-30
一個程序員的求職故事09-21
一個程序員自述的IT創(chuàng)業(yè)故事05-12
女性創(chuàng)業(yè)自白10-18
j2ee程序員考試大綱11-04
拒絕平庸勵志文章11-28
優(yōu)秀與平庸的差別勵志故事07-26
學(xué)會拒絕平庸勵志文章11-17