程序員能力的四個境界
30 2017-04-14
南寧達內(nèi):程序員能力的四個境界
1無意識無能力(不知道自己不知道)
這個時候是剛開始接觸編程到編程有差不多一年左右的時間,大多數(shù)這個時候在大學(xué)生涯,年少輕狂,激情四射,學(xué)習(xí)起來超級有干勁,尤其當(dāng)自己知道一個個編程法則,寫出很自己認(rèn)為很牛逼的程序,研究過高深的算法,做過幾個項目,覺得編程很簡單。我當(dāng)初就是這樣的,在大學(xué)的時候會用spring,hibernate,tapestry(貌似這個不是很流行),struts做過兩個中型項目,學(xué)習(xí)過設(shè)計模式,部署過ejb,看過soa相關(guān)的皮毛知識,覺得自己無敵了,都不知道學(xué)習(xí)什么了,覺得所有框架都會用了,好牛逼啊,不知道自己學(xué)習(xí)啥子了。
2有意識無能力(知道自己不知道)
這個階段應(yīng)該是編碼超過一年,接觸過比較大型的項目,在工作中遇到一些自己無法獨立解決的問題。會經(jīng)常請教一些前輩們。對于編程,知其然,不知其所以然。這個時候大概應(yīng)該參加工作了,因為工作過程中會遇到很多在校園里面無法遇到的技術(shù)問題,比如性能,可用性等等。這個時候沒有當(dāng)初的那種輕狂,開始虛心學(xué)習(xí),研究事物的本質(zhì)。我在剛工作3個月時候,才發(fā)現(xiàn)自己水平很菜。雖然會用spring,但是無法領(lǐng)會其精髓。以前做的項目都是自己搭建工程的,而公司有一套標(biāo)準(zhǔn)化的開發(fā),測試,打包,構(gòu)建工具。開始接觸越來越多的技術(shù),遇到很多無法獨立解決的問題。這個時候感覺自己的成長很快,慢慢開始走上職業(yè)程序員之路。
3有意識有能力(知道自己知道)
經(jīng)過有意識無能力的階段,這個時候,由于自己接觸的東西已經(jīng)非常多,職業(yè)水平已經(jīng)達到一個臺階。經(jīng)歷過幾千小時的編碼生涯,解決過各種棘手的技術(shù)問題,對于遇到的大多數(shù)問題都知道其發(fā)生的原因以及解決方案。在這個階段里面,已經(jīng)是一個很有水平的程序員,能夠獨立解決自己遇到過的所有問題。我在公司的前幾年,正好遇到公司的快速發(fā)展,公司的技術(shù)架構(gòu)經(jīng)歷了巨大的變化,從單系統(tǒng)架構(gòu)到分布式架構(gòu),從單系統(tǒng)發(fā)展到上百系統(tǒng),日獨立PV從幾十W發(fā)展到接上億,每天上億的交易數(shù)據(jù)。這個階段自己在編碼技巧,設(shè)計模式,消息中間件,分布式系統(tǒng)設(shè)計,領(lǐng)域驅(qū)動設(shè)計,集群,數(shù)據(jù)庫拆分,架構(gòu)設(shè)計都有很大提升。基本上能夠解決遇到所有的問題。
4無意識有能力(不知道自己知道)
這個階段就是融會貫通的時候。如果說第三個階段是能夠解決自己遇到的所有問題,這個階段就是能夠解決他人遇到的但是自己還沒有碰到的問題。這個階段就是抽象思維能力不斷提高能夠達到的境界。如果說第三個階段能夠解決某一個問題。這個階段能夠解決某一類問題。能夠把自己在第三階段遇到的問題抽象化一類問題,例如如何解決一個系統(tǒng)的性能問題。我最近在做ios相關(guān)的開發(fā),自己之前從未學(xué)習(xí)過objectivec,但是因為對java底層實現(xiàn)以及設(shè)計模式和mvc設(shè)計了解,對cocoa中UIKit設(shè)計圖看一下就知道大概是如何實現(xiàn)的了。還有就是目前比較火爆的函數(shù)式編程的高階函數(shù)和java中的模板模式與回調(diào)機制有點類似。這就是融匯貫通的結(jié)果。目前覺得個人能力已經(jīng)基本在這個階段。
掃一掃
獲取更多福利
獵學(xué)網(wǎng)企業(yè)微信
獵學(xué)網(wǎng)訂閱號
獵學(xué)網(wǎng)服務(wù)號