第一階梯:Typer,打字員
每一位開發(fā)者在正式踏上開發(fā)道路之前,都需要經(jīng)過毫無編程經(jīng)驗(yàn)的“第一階段”。
這時(shí)他們對(duì)于程序的理解僅限于照著書本或記憶進(jìn)行有規(guī)律的字符錄入,甚至不清楚自己所輸入的字符代表什么指令,因此每當(dāng)錯(cuò)誤出現(xiàn)時(shí)常常顯得手足無措,懷疑軟件、懷疑系統(tǒng),甚至開始懷疑人生,到頭來卻發(fā)現(xiàn)只是少輸入了個(gè)分號(hào)。
該階段雖然看起來簡(jiǎn)單,但確實(shí)也是最容易將門外漢攔在開發(fā)者殿堂之外的門檻。
對(duì)于位于該層的小白而言,切記不要迷戀《30天從入門到精通》等武林秘籍,對(duì)沒有入門的人來說很容易變成《兩周從入門到放棄》。其實(shí)也并非沒有入門捷徑,找個(gè)真人師傅帶進(jìn)門就好了。
第二階梯:Developer,開發(fā)工程師
作為擁有0-3年編程經(jīng)驗(yàn)的第二層,可以正式的稱呼自己為“編碼菜鳥”了。
這時(shí)的他們對(duì)編程概念已經(jīng)有了初步的理解,知道了變量、邏輯與函數(shù)的意義。同時(shí)也可以熟練的使用CV大法(Control+C、Control+V)來模仿前輩的案例或網(wǎng)絡(luò)實(shí)例進(jìn)行功能實(shí)現(xiàn)了,但也僅僅只能實(shí)現(xiàn)需求邏輯而已。同時(shí)因?yàn)椴⒉焕斫膺@段代碼的真實(shí)含義,所以實(shí)現(xiàn)的這坨代碼通常讓人頭痛不已,是BUG的高發(fā)地。
對(duì)于位于該層的菜鳥而言,切記不要迷戀《Thinking In XX》系列的書刊,最好的修煉方式還是多閱讀開源工程代碼,多參與項(xiàng)目實(shí)踐,完成一個(gè)由量到質(zhì)的蛻變,從而進(jìn)入下一個(gè)等級(jí)。
第三階梯:Research&Developer(R&D) ,研發(fā)工程師
作為擁有3-5年編程經(jīng)驗(yàn)的中間層,進(jìn)入該層的“攻城獅”們已經(jīng)開始被委以重任,負(fù)責(zé)攻城拔寨,調(diào)研新型武器,屬于團(tuán)隊(duì)里面的攻堅(jiān)小能手、小白與菜鳥所仰望的大牛了。
與此同時(shí),這一層級(jí)也是所有層級(jí)里面最危險(xiǎn)、最容易迷失的一層,其危險(xiǎn)在于因?yàn)槌撩杂谑孢m區(qū)與盲目自信而停滯不前,最終因精力的衰退而被小鮮肉所替代;其迷失在于僅善于解決項(xiàng)目中曾負(fù)責(zé)或以前接觸過的某一塊的問題,對(duì)于系統(tǒng)架構(gòu)欠缺整體的意識(shí),不具備建立一個(gè)全新系統(tǒng)的能力。
對(duì)位于該層的“攻城獅”們而言,切記不要沉迷于代碼的表面,也不要局限于API或源碼庫的收集,最好的修煉方式是不斷地思考與錘煉自身對(duì)最佳實(shí)踐方式的理解感悟,從而為進(jìn)入下一階段打下堅(jiān)實(shí)的基礎(chǔ)。
第四階梯:Architect,架構(gòu)師
作為擁有5-8年編程經(jīng)驗(yàn)的開發(fā)者頂層,進(jìn)入該層的大師們對(duì)于某一領(lǐng)域的系統(tǒng)研究已經(jīng)“摸得門清”,通常他們是使系統(tǒng)“拔地而起”、“聳入云霄”的設(shè)計(jì)師。
他們更喜歡形容自己為“藝術(shù)家”而不是架構(gòu)師,他們即使喝上一斤“關(guān)公坊+酸梅湯”都能準(zhǔn)確的給你畫出其設(shè)計(jì)過的系統(tǒng)架構(gòu)圖、功能結(jié)構(gòu)圖、數(shù)據(jù)庫模型,并能基于系統(tǒng)實(shí)際使用情況進(jìn)行基于架構(gòu)的系統(tǒng)結(jié)構(gòu)優(yōu)化、性能優(yōu)化等。
進(jìn)入此階段的工程師已經(jīng)脫離了對(duì)招式的執(zhí)念,步入了對(duì)于設(shè)計(jì)與編程之道的藝術(shù)修行道路。
第五階梯:Consultant,咨詢師
咨詢師是一個(gè)特殊的存在,如果說架構(gòu)師是追求于設(shè)計(jì)之道與藝術(shù)之道的苦行僧,那咨詢師就是這條道路上的布道家。
他們一般有著廣闊的見識(shí)與豐富的實(shí)戰(zhàn)經(jīng)驗(yàn),也許他并未開發(fā)過多么經(jīng)典的架構(gòu),但經(jīng)過短暫的觀察即可指出對(duì)于當(dāng)前架構(gòu)的優(yōu)化意見;也許他并不能寫出多么高深復(fù)雜的源碼,但通常可以用最簡(jiǎn)單的辦法解決技術(shù)上的難題;也許它并不了解你所遇問題的業(yè)務(wù)背景與專業(yè)技術(shù),但可以通過跨領(lǐng)域知識(shí)啟迪你解決問題。
上文的階梯劃分出自我過往八年的工作經(jīng)驗(yàn),對(duì)于第四、第五階梯,我本無意劃出高下之分,怎奈文筆功力有限,只好粗?jǐn)酁閮蓚€(gè)部分。回顧前文,我對(duì)于開發(fā)者的階段劃分又有了新的想法,開發(fā)者在歷經(jīng)以上五個(gè)層級(jí)之后又該如何發(fā)展,是科學(xué)家還是哲學(xué)家?我想聽聽你的見解。
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68589
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論