優秀程式員無他-善假於物也

來源:互聯網
上載者:User
文章目錄
  • 第一階段就是具有基本的編碼能力。
  • 第二階段就是對代碼有著很強的控制能力。
  • 第三階段就是對產品的駕馭能力。

看了這篇文章《優秀程式員無他-善假於物也》,我忍不住再次吐嘲。其實,這篇文章對於剛剛接觸編程——也就是剛剛會寫"Hello World"的人,還是有點參考價值,只是這篇文章說到的技能,應該是優秀程式員所應該具備的,但只會這些就稱之為優秀的程式員,未免過於貶低優秀這個詞了。

很多時候,我聽到一些程式員很愛標榜自己很愛接受新技術,看了多少本書,很上進,相反,象哥哥這種老程式員,則嗤之以鼻,認為不接受新事物,不愛學習,固步之封。對於這種井底之蛙,我是一笑置之,懶得跟他說,免得教聰明他。當然,如果能虛心點,我倒是很樂意和他們探討的。

相反,我是個非常上進的程式員,非常熱學習。能十幾年如一日地編碼,我想在中國裡沒幾個人能做得到吧。十幾年,聽上去很遙遠,可是當這一天到來了,也不過如此。為什麼不愛跟著這些潮流走?因為昨天還是MVC3,EF4,今天就是MVC4、EF5。明天就是MVC5,EF6了。這些東西根本沒有積累的價值,而只有使用的價值。什麼叫積累的價值,什麼是使用的價值,我打個比方說吧,家裡有個老古董,皇家禦用青花瓷的花瓶,就是具有收藏價值。而使用價值,就現在十幾塊錢的那種花瓶,用了一段時間,看著不順眼,就扔了,再買一新的。哪些知識是具有積累價值的呢?在我看來,越靠近底層的,越有積累的價值。比如說,演算法、編譯原理等等。

作為程式員,不能僅僅滿足於些看看書,寫寫代碼這個階段。在我看來,程式員大慨可以粗分為三個階段。

第一階段就是具有基本的編碼能力。

在這個階段裡寫一些代碼了。主要能力包括:

1、能夠看懂英文文檔,照著文檔上的API寫些例子出來。

2、碰到問題,能夠通過搜尋引擎去搜尋,去解決一些問題。

3、對原始程式碼控制有一個基本的認識,能夠使用 SVN 這些進源碼的管理。

4、能夠看懂一些程式碼片段。

另外吐嘈一下,我接觸到的程式員,這個階段往往最自以為是,很喜歡弄些名詞來唬人。

第二階段就是對代碼有著很強的控制能力。

1、能夠閱讀一些架構的代碼,並且對架構的設計有個整體的認識。

2、在使用架構的時候,能夠發現,並且解決一些問題。

3、能夠理解並且靈活應用一些設計模式到自己的代碼裡面。

4、能夠寫一些架構了。

第三階段就是對產品的駕馭能力。

這個階段應該具備產品的研發能力,把一個產品給你,通過對它把玩一番之後,能把它逆向出來。包括:

1、這個產品的基本原理是什麼,都涉及到哪些技術。

2、技術的方向感。要解決某技術上的問題,應該往哪個大方向走,應該收集哪些資料。這裡還有個命中率的問題,放向感好的,往往能命中90%。當然,沿著這個方向走不通了,還能夠換個方向,繼續嘗試。

3、代碼層級的逆向分析能力。很多時候,我們做的產品,存在這樣或者那樣的問題無法解決,但別人的產品卻沒有。往往是因為受到不公平的對待,某些API不對我們開發,當然,我假設做的產品是運行在 Windows 平台上,可以說,開源還是相對公平的。這時候,要突破這些限制,就需要對代碼進行逆向分析,去尋找解決的辦法。據說,一度灸手可熱,受歡迎程度遠超 VC++ 的 Borland C++ ,就是因為卡在 Windows 平台的某個 API 上,而漸漸不敵 VC++ 。

 

以前就是我對程式員技能的一些理解,歡迎拍磚。

我最近所寫的一些文章連結:

《被神化的架構和被誇大的CTRL+C、CTRL+V》《一位軟體作者的吐嘈——讀《Google Reader猝死啟示錄:互連網無法永遠免費》有感》

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.