尋找成爲開發高手的密鑰

    
  編者按:每個程序員都希望自己在技術方面更進一步,成爲程序達人,開發高手,技術大師……;這不僅能獲得更好的職位和更高的報酬,更重要的是,開發高手還代表着一個開發者對自己的肯定以及對技術夢想的忠誠與追求。但如何成爲一個開發高手呢?也許我們能從下面這篇博文中獲得一些啓發。作者Rick Wagner是一位Java企業級架構師,具有二十多年的開發經驗的資深程序員和COBOLE語言的愛好者。他在文章中指出初級程序員與頂級程序員的根本區別在於所掌握技術的“廣度”和“深度”,Rick認爲這是程序入門者向程序高手進階的關鍵

  【51CTO譯文】20年前,當我剛開始從事數據處理方面的開發工作時,我在一家爲銀行承擔外包工作的公司工作。開始我只是一個實習生,畢業後進階爲程序員的第一級——“初級程序員”。其實,在我們公司內部,對這些Title都做了一些神祕的標識,比如我的初級程序員的標識是“E07”。

  不久,我發現了我們公司是如何對程序員的級別進行標識的:
  ◆ 初級程序員 = E07
  ◆ 程序員 = E08
  ◆ 高級程序員 = E09
  ◆ 超級英雄 = E10 (一種非常罕見的品種)

  這些級別不單代表技術能力,還有薪水,當然,薪水是與這些級別排名緊密相關的,這是不會變的,不管是20年前還是現在。

  像所有初級程序員一樣,我希望自己用一到兩年的時間在E07級別工作,然後逐漸向上爬。但有件事一直令我困惑:那些進階最高級別的程序員與一直停留在初級的程序員之間到底有什麼不同?

  一天,我與一個非常棒的E10程序員一起開發一個項目,他叫James。在這個項目的過程中,我們進行了愉快的交談,他的話令我印象深刻:“工作都一樣,無論你是E07還是E10”。

  我當時目瞪口呆。在那一刻,我意識到,在這個項目中我所做的工作與James所做的一樣重要。我當時在做數據分析和編碼,James也在做數據分析和編碼。雖然他以最高級別的E10在工作,但他所用的編譯器我也在用;他所用的數據我也在用;他所用的開發環境也跟我一樣。如果他所做的部分遇到困境,我所做的部分也將遇到阻礙。在這個項目中,我們同行。

  別誤會我的意思,雖然所做的工作一樣,但初級程序員肯定不如那些程序大牛值錢。今天,我不得不承認這個被廣泛接受的事實。但那時,我的這個想法給我帶來不可估量的好處,直到今天。

  我試圖尋找我與E10的朋友們到底有哪些區別。我和他之間到底有哪些不同?我得到的結論是,至少在兩個方面他比我更優秀:廣度和深度

  廣度意味着在技術方面可支配的工具、技能和方法廣泛的多。當時,我只具備一些COBOL編程經驗;而E10的朋友不單會COBOL,還精通於彙編、JCL(一種工作控制語言)、操作系統等等多項技能。在今天,這等於一個只會Java的程序員站在另一個Java程序員身邊,他身邊的這位同時還知道C++、C#、Ruby、Python、Erlang以及每一種語言的流行框架。如果一個項目只是需要使用Java,那這兩個Java程序員是平等的。但如果下一個項目需要更多的技術,這種平等的情況就會發生改變。

  另一個方面是深度,是指在其工作領域內的知識含量和功底。在過去,我所編寫的COBOL代碼也許跟我的E10朋友一樣好。但如果我的程序有一個Bug,我的辦法只是看着診斷報告不斷進行調試。我的朋友不單會做這些,他還會閱讀一些核心轉儲的數據,將一些重要數據轉變成彙編程序(他可以從中獲得一些啓發)等等。在另一個我們一起進行界面編程的項目中,他可以更好的理解我們所操作的平臺並知道如何完美的利用這個平臺所提供的功能。同樣,我的源碼可能跟他的沒什麼太大區別,但如果我們需要向下一個級別進階……是的,我們之間有一個明顯的分界線。

  在今天的世界裏,這可能意味着程序牛人可以知道如何調整JVM,選取有用的數據分析工具;程序牛人知道如何安裝、配置、調試和配置平臺。牛人知道如何建立編譯環境,而初級程序員也許只知道按照已經確定的方案(平臺)進行開發。

  技術的廣度和深度,我想,我找到了成爲高手的密匙。我需要學習更多並努力提到自己的廣度和深度(直到今天,我還在努力!)。20多年前與James的一席談使我知道自己哪裏需要提高,這對我在事業方面的促進比我想象的大得多。如果你是這個行業的新手,希望上面所提到的這些能夠幫到你。

  Happy Coding!

 

  作者:Rick Wagner
  原文:A secret key to 'Senior' level programming
  鏈接:http://rickwagner.blogspot.com/2010/02/secret-key-to-senior-level-programming.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章