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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

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

評論

0/150

提交評論