一名平庸程序員的自白_第1頁(yè)
一名平庸程序員的自白_第2頁(yè)
一名平庸程序員的自白_第3頁(yè)
一名平庸程序員的自白_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、-名平庸程序員的口白來(lái)源:王昱(2010-5-15 16:30:49)作者:阿蘭諾頓(alan norton)翻譯:purple endurer導(dǎo)讀:阿蘭諾頓揭示了他作為一名平庸程序員的牛存z道:如何讓自c一般般的編程技能發(fā)揮出 最佳效杲。我一玄以編寫代碼為樂(lè),起因并不是我精于此道,而要部分歸因于它是一大挑戰(zhàn)。我發(fā)現(xiàn)沒(méi) 有什么比指揮個(gè)人電腦在顯示器上顯示“hello world!"更令人激動(dòng)的了。而在顯示器上顯示三個(gè)紅 桃或者黑桃a(ace)和j( jack)則是一個(gè)完全不同的問(wèn)題。我畢業(yè)后寫的第-個(gè)程序是川northstar basic為northstar horizon編寫個(gè)el

2、動(dòng)售貨機(jī)程序,后來(lái)乂為northstar advantage編寫了卑 丁圖形的21點(diǎn)紙牌(blackjack)游戲程序。purpleendurer 注:1、northstar basic:是源 d northstar horizon 和 northstar advantage 的一種 basic 語(yǔ) 言。詳見(jiàn) /wiki/northstar_basic2、northstar horizon:是 north star computers 公司生產(chǎn)、以 zilog z80a 為處理器的8 位電腦。詳見(jiàn) /wik

3、i/northstar_horizon盡管如此陶醉于編程,但我必須坦白地承認(rèn):我是一個(gè)平庸的程序員,總在尋找一種方法來(lái) 獲得大的回報(bào)一即程序沒(méi)冇語(yǔ)法錯(cuò)誤并能正常運(yùn)行。這并不奇怪,我從未像一名程序員那樣做 好本職工作;我發(fā)現(xiàn)自己具有成為一名優(yōu)秀開(kāi)發(fā)人員的天賦。但是,在我們繼續(xù)往下談z前,我 耍給“平腐程序員”下一個(gè)定義。平庸程序員會(huì)使用一些現(xiàn)成工具的程序員。他只知道最簡(jiǎn)單的命令語(yǔ)法,但懂得在哪能 找到更復(fù)雜命令的語(yǔ)法。他不知道如何編寫最高效的代碼,但懂得在必要時(shí)如何重寫和測(cè)試比較 高效的代碼。他可以克服覓覓閑難獨(dú)辟蹊徑達(dá)到忖標(biāo),但他把每個(gè)閑難視為挑戰(zhàn),并口信會(huì)找到 每一個(gè)困難的解決方法。他可能需

4、要較長(zhǎng)時(shí)間才能完成,但總能達(dá)到目標(biāo)。他不知道如何創(chuàng)建一 個(gè)dll,但在必要時(shí)町以弄懂。他與大多數(shù)程序員一-樣,并不特別喜歡做工作記錄,之所以這樣 做是因?yàn)樗且粋€(gè)專家。工作決定技能雖然我很想繼續(xù)編寫游戲,但為了填飽肚子,我只得遷就木地就業(yè)市場(chǎng);公司們有“必需勝任 實(shí)際工作”這個(gè)奇怪的要求是眾所周知的。產(chǎn)品、人力資源、會(huì)計(jì)、庫(kù)存跟蹤和數(shù)據(jù)報(bào)告只是做牛 意必要的一些東西一你知道,很無(wú)聊的東西。當(dāng)我真正為報(bào)酬而編寫程序時(shí),我的技能發(fā)生了戲劇性地變化。它不需要采用大量先進(jìn)的編 碼技術(shù)來(lái)圍看數(shù)據(jù)優(yōu)團(tuán)轉(zhuǎn),并耍魔術(shù)般地變成信息。我被 休斯飛機(jī)(hughes aircraft)公司雇用,通過(guò)it服務(wù)來(lái)為產(chǎn)品控

5、制部門提供支持。我 的工作需要開(kāi)發(fā)/分析技能,我熱愛(ài)我的工作。編程不過(guò)是達(dá)到目的的手段。開(kāi)發(fā)人員身兼數(shù)職程序員只是開(kāi)發(fā)人員所扮演的諸多角色中的一個(gè),通常你要身兼以下數(shù)職:購(gòu)買方(帶預(yù)算)buyer (with budget)清道夫(無(wú)預(yù)算)scavenger (no budget)分析師(analyst)設(shè)計(jì)師(designer)規(guī)劃師(planner)程序員(programmer)協(xié)調(diào)員(coordinator)測(cè)試員(tester) 文檔管理員(documenter)技術(shù)支持員(support technician)當(dāng)開(kāi)發(fā)人員未被認(rèn)可為一個(gè)或更多角色中的專家時(shí)并不太令人奇怪。對(duì)我來(lái)說(shuō),工作

6、職能就 是編程。我的生存之道盡管我的編程技能不盡如人意,我仍然是一個(gè)非常成功的開(kāi)發(fā)人員。這里有一些我多年來(lái)學(xué) 到的訣竅,以及如何我作為一個(gè)平庸程序員,發(fā)揮出最佳平均編碼技能水平的生存z道: 明確要求我會(huì)預(yù)先得到完整、精確的系統(tǒng)要求清單。如果你直接開(kāi)始編碼就意味看 你沒(méi)有針對(duì)系統(tǒng)設(shè)計(jì)的要求來(lái)進(jìn)行。 分析和設(shè)計(jì)我獲得了分析和設(shè)計(jì)權(quán)。一名普通程序員獲得了分析和設(shè)計(jì)權(quán),就擁 有了一個(gè)超越一名偉大的程序員的優(yōu)勢(shì)。 項(xiàng)目計(jì)劃坦白來(lái)說(shuō),我早期職業(yè)生涯屮沒(méi)冇用過(guò)正式的項(xiàng)目計(jì)劃,一直到我加入了 csc,不得不使用更多的正式文檔編制技術(shù),從而開(kāi)始使用項(xiàng)目計(jì)劃。曲此我充分認(rèn)識(shí)到使用經(jīng)過(guò)慎重考慮后的項(xiàng)目計(jì)劃也是平庸程

7、序員的一個(gè)優(yōu)勢(shì)。 經(jīng)常翻閱手冊(cè)、指南我總是備冇手冊(cè)、指南以供不時(shí)之需。我也研究了其它的參 考材料。 拷貝粘貼程序員我不介意承認(rèn)自己是一名拷貝粘貼程序員。多年來(lái),我寫了許多可以在新項(xiàng)h中重復(fù)使用的代碼。因?yàn)槲抑辽倩〞r(shí)間寫了一次代碼,所以我對(duì)這些代碼如何工 作略知一二。在工作屮我從不拷貝其他人寫的代碼,并且我從不使用我在其他公司寫的代碼。黃 金規(guī)則和版權(quán)法都適用于知識(shí)產(chǎn)權(quán):您不得復(fù)制和使用別人的代碼,除非明確允許,或者你可以 得到特別的許可。 毅力我永不放棄,我一直相信自己能完成任何編程任務(wù)。 工具當(dāng)我需要一臺(tái)更快的電腦但這又不在預(yù)算之列時(shí),我發(fā)現(xiàn)了一個(gè)經(jīng)理愿意用 他們的一部分預(yù)算資金為我購(gòu)買。你

8、可以通過(guò)乞求、借用,或交易來(lái)獲取所需工具,從而完成自 己的任務(wù),要經(jīng)常向你的經(jīng)理提出自己的要求;只這些要求是合理的,一個(gè)優(yōu)秀的經(jīng)理會(huì)盡最大 努力找到一種方式來(lái)獲得軟件,硬件,手冊(cè),或者你所需要的幫助。 手氣好(serendipity) 也被稱為“代碼一寫就好”策略。有兒次我像一個(gè)初級(jí)程序員那樣寫了代碼,而這些代碼運(yùn)行得很好。我把它比作是國(guó)際象棋,你在下棋的過(guò)程中突然發(fā)現(xiàn), 自己走兩步就冇將死的機(jī)會(huì)。這不是編程應(yīng)冇的方法,但由于我在檢討h己的職業(yè)屮的罪過(guò),我 不得不納入此項(xiàng)。底線我要做一個(gè)最終坦門:我不喜歡被看作是次等的團(tuán)隊(duì)成員。我見(jiàn)識(shí)卓越,而幼稚的程序員卻 真的相信:不能寫出“先進(jìn)”代碼的人對(duì)因隊(duì)和公司來(lái)說(shuō)毫無(wú)價(jià)值。這些精英認(rèn)為平庸的程序員能 力有限,不足以生產(chǎn)高品質(zhì)的代碼,兒乎總是犯錯(cuò),令人不快。有個(gè)觀念令我感覺(jué)既可笑乂驚訝: 如果你不能(填空),就不是優(yōu)秀的程序員。你不必成為一個(gè)出色的程序員或偉人的開(kāi)發(fā)者,特別是止在開(kāi)發(fā)商川系統(tǒng)的時(shí)候。沒(méi)錯(cuò),我 是一個(gè)平庸的程序員,其主要原因是我從來(lái)不需要成為一個(gè)偉大的程序員。我不是縱容平庸。不論做什么,都耍盡力做好包括編程?!白詈?#39;'的代碼可能

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論