閱讀368 返回首頁    go 阿裏雲 go 技術社區[雲棲]


程序員能力的四個境界

1 無意識無能力(不知道自己不知道)

這個時候是剛開始接觸編程到編程有差不多一年左右的時間,大多數這個時候在大學生涯,年少輕狂,激情四射,學習起來超級有幹勁,尤其當自己知道一個個編程法則,寫出很自己認為很牛逼的程序,研究過高深的算法,做過幾個項目,覺得編程很簡單。我當初就是這樣的,在大學的時候會用 spring,hibernate,tapestry(貌似這個不是很流行),struts做過兩個中型項目,學習過設計模式,部署過ejb,看過soa相關的皮毛知識,覺得自己無敵了,都不知道學習什麼了,覺得所有框架都會用了,好牛逼啊,不知道自己學習啥子了。

2 有意識無能力(知道自己不知道)

這個階段應該是編碼超過一年,接觸過比較大型的項目,在工作中遇到一些自己無法獨立解決的問題。會經常請教一些前輩們。對於編程,知其然,不知其所以然。這個時候大概應該參加工作了,因為工作過程中會遇到很多在校園裏麵無法遇到的技術問題,比如性能,可用性等等。這個時候沒有當初的那種輕狂,開始虛心學習,研究事物的本質。我在剛工作3個月時候,才發現自己水平很菜。雖然會用spring,但是無法領會其精髓。以前做的項目都是自己搭建工程的,而公司有一套標準化的開發,測試,打包,構建工具。開始接觸越來越多的技術,遇到很多無法獨立解決的問題。這個時候感覺自己的成長很快,慢慢開始走上職業程序員之路。

3 有意識有能力(知道自己知道)

經過有意識無能力的階段,這個時候,由於自己接觸的東西已經非常多,職業水平已經達到一個台階。經曆過幾千小時的編碼生涯,解決過各種棘手的技術問題,對於遇到的大多數問題都知道其發生的原因以及解決方案。在這個階段裏麵,已經是一個很有水平的程序員,能夠獨立解決自己遇到過的所有問題。我在公司的前幾年,正好遇到公司的快速發展,公司的技術架構經曆了巨大的變化,從單係統架構到分布式架構,從單係統發展到上百係統,日獨立PV從幾十W發展到接上億,每天上億的交易數據。這個階段自己在 編碼技巧,設計模式,消息中間件,分布式係統設計,領域驅動設計,集群,數據庫拆分,架構設計 都有很大提升。基本上能夠解決遇到所有的問題。

4 無意識有能力(不知道自己知道)

這個階段就是融會貫通的時候。如果說第三個階段是能夠解決自己遇到的所有問題,這個階段就是能夠解決他人遇到的但是自己還沒有碰到的問題。這個階段就是抽象思維能力不斷提高能夠達到的境界。如果說第三個階段能夠解決某一個問題。這個階段能夠解決某一類問題。能夠把自己在第三階段遇到的問題抽象化一類問題,例如如何解決一個係統的性能問題。我最近在做ios相關的開發,自己之前從未學習過objective c,但是因為對java底層實現以及設計模式和mvc設計了解,對cocoa 中UIKit設計圖看一下就知道大概是如何實現的了。還有就是目前比較火爆的 函數式編程的高階函數 和 java中的模板模式與 回調機製有點類似。這就是融匯貫通的結果。目前覺得個人能力已經基本在這個階段。

最後更新:2017-04-02 15:15:03

  上一篇:go 趣文:程序員最常見的謊話
  下一篇:go 馬雲剃光頭為哪般?最大可能是與史玉柱賭輸