|
英文原文:What Makes A Great Programmer?
這件事仿佛發生在昨天一樣令我印象深刻。那是2000年,帕爾加斯博士站在我們的數據結構課教室的前方,講解著一些y型數據結構的內容,同時把一個SSH的窗口投影在我們前面的墻上。有人提出了一個問題,隨后他用下面的話回答道:“如果你想成為一個真正的計算機科學家,你就得開始用 Vi 。”我感覺他在說這些話的時候還在微微笑著,而事后發現他說的這個觀點根本不對。 但是由于年輕并且易受影響,當時的我回到宿舍后立刻了開始了自學如何使用 Vi 。我度過了很長一段艱苦的時間,但是當我開始變得對其熟悉的時候,我意識到我用 Vi 會干的非常快。
(譯者注:SSH 為 Secure Shell 的簡稱;Vi 是 Linux 環境下的文本編輯器。)
六年之后的我愛上了TextMate。我當時的工作是Java開發,而在那同時我也在閑暇時間學習 Rails 并制作 Rails 項目。我感覺我看過的所有文章和視頻都在講述如何使用 TextMate 來完成文本編輯的苦行。其實,每天使用 Eclipse 使我像書呆子一樣脾氣暴躁。于是我買了臺Mac,并且十分鐘之內就購買并安裝上了 TextMate.
(譯者注:TextMate是一款文本編輯軟件,Eclipse是一個著名的集成開發環境。)
老實說,我并沒有因哪款文本編輯器而成為一個更優秀的程序員。
特別好用的工具并不能讓你變得突飛猛進。你所使用的那些工具的確很重要,或者說,它們其實非常好用。然而老虎伍茲就算用一套爛球桿也會打敗我們所有人,梅西就算不穿球鞋都能勝過我們,拉斐爾·納達爾也許用一把六十年代的老式木質球拍就能在網球場上擊敗我們中的任何一個人。見鬼,估計他用一個乒乓球拍就能打敗我。你所積累的那些技術,知識和經驗才是最重要的部分。
工具并不能使你變成一個程序員。那什么可以呢?我認為,成為一個優秀的程序員在很多方面取決于:你做什么工作,你和什么人一起工作。然而我發現,在軟件開發領域取得很大成功的人身上都有些共有的特質,是值得我們分享的。我不確定這些是你需要去特地學習的技巧亦或是你與生俱來的能力,但我非常確定的是,我若在這些方面多花些心思,少花些功夫更換文本編輯器,那么我一定比現在的職位更高。
1. People First 以人為本
我所認識的最好的程序員們會把人放在第一位。他們已經意識到就算他們編寫的軟件,其實只是個復雜系統的后臺或是只有開發者會使用的協議,它還是給人們使用的。他們為軟件編寫文檔,因為這很重要,他們為別人重用他們的代碼伸出援手。他們愿意去做額外的工作,并且處理更復雜的問題,只為了給使用他們軟件的人們一 個最好的解決方案。
2. Appetite for Learning 求知若渴
那些出類拔萃的程序員們都對知識如饑似渴。他們總是告訴你一些前沿的或有趣的東西。他們讀著成百上千的書(既有在線讀物也有離線讀物),而且他們似乎總是樂于親手嘗試,也樂于在經驗中汲取知識。他們不懼怕嘗試新語言或者新平臺。
3. Skillful at Problem Pattern Matching 擅長匹配問題
當你寫了一陣軟件程序后,你開始發現問題的存在。那些問題和你曾解決過的問題看起來相似得讓人頭痛。認識到這件事情并把原來的解決方案應用到當前狀況,這種能力是非常重要的。如果你能每次改進你的解決方案那就更好了。
注意,就算如此,你也不應該盲目的說什么“因為用這個舊方案解決過老問題,所以它肯定可以用來解決新問題”。 這個部分才是應用“問題模式匹配”的技巧所在。你必須擁有一雙可以甄別應用舊方案是否可行的慧眼。
4. A Little Bit Insane 少許瘋狂
我的兄弟在高中四年級上了Python課程,當我問起他喜不喜歡這個課的時候,他表示我想當程序員這個主意真是瘋了,那個課是他上過的最無聊的課程之一。在某些程度上,我同意他的觀點。我和計算機交流的時間比和人交談的時間更多。我能把一行行基本上稱之為胡言亂語的東西變成可以運行的軟件,這一事實令我大吃一驚。并不是所有的人都熱愛這些東西,但是那些我所認識的最好的程序員們絕對是熱愛制作軟件的。
5. Persistentence 堅持不懈
軟件開發總是比所有人想象的都要慢。它很花時間。有時候你只能足夠耐心的去做出你需要寫的代碼。有時,作為開發者,我們想去寫一些很有趣的代碼,但是有時我們也會因為要去敲打那些已經寫了上百遍的代碼而厭煩。我相信那些最棒的開發者們能堅持下來,是因為他們可以看到一幅他們正在干的事情的宏圖,并且他們喜歡為最終結果而添磚加瓦的過程。
以上這些特點是我認為一個真正優秀的程序員所應該具備的,這當然不盡完善,所以我也樂于了解你們的意見。你覺得要怎樣才成為一個卓越的程序員呢?
英文原文:What Makes A Great Programmer?
it知識庫:是什么成就了卓越的程序員?,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。