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

如何成為嵌入式開發工程師?
如何成為一名合格的南向驅動開發工程師

為什么嵌入式驅動開發工程師可以拿高薪?
嵌入式工程師常用的開發工具有哪些?
OpenAI從谷歌DeepMind挖角三名高級工程師
Tenstorrent與日本合作:五年內培訓200名日本芯片工程師

評論