程序員分幾個段位,每個級別應該會什麼內容?

程序員的級別

程序員主要分三個級別。

初級程序員:能夠獨立完成一個項目。

中級程序員:能夠了解一些框架的原理,做出一些改進和優化。

高級程序員:能夠寫一些框架,或者是一個新的語言。不管是算法搜索還是網絡安全或者是某種新的語言原理,可以自由把框架兩個字替換。

說三個級別前,還有一個級別要說下,即不入流程序員。

為啥說不入流?因為有很多人認為自己學了點多態多線程就已經是一個程序員了……

其實數據結構,算法理論,數據庫,計算機網絡這幾門課非常非常非常重要。重要到什麼程度呢,這是程序員對於一個世界認知的開始,也是基礎,底蘊積累的越好,以後的成就越高。

然後就是所謂的面向對象,或者是函數式編程的語法什麼的。這些東西真的不算啥,會點語法跟會寫代碼完全是兩個概念。


初級程序員

程序員分幾個段位,每個級別應該會什麼內容?

初級程序員的定義是可以獨立完成項目。這一個定義就秒殺了大概無數個工程師,很多人工作三年到五年也就是一個初級程序員而已。

能獨立完成項目,就需要懂好多東西了。從業務的角度來說,要懂很多業務邏輯,能夠理解並且抽象成模型轉換成代碼,要會測試,要會發布,要會改Bug,要懂版本管理,要知道代碼規範。還需要懂一些框架和簡單的基本原理,以及團隊規範和協作的內容。這些東西是很多培訓機構教不了你的,七八流的公司不但教不了你反而會讓你誤入歧途的。


中級程序員

程序員分幾個段位,每個級別應該會什麼內容?

中級程序員就是一個公司裡的骨幹了。小組Leader或者是架構師或者是老油條。眼裡冒著精光頭頂禿了一半的樣子。

他們項目經驗豐富,也需要帶Team,所以需要制訂一些編碼規範,開發流程。有時候嫌棄哪個框架不好用了,還需要自己改一些源碼。

通過對這些框架的原理都要了解的比較深入,各種算法和原理了如指掌。不同的框架選型和應用場景應該是心知肚明。

當然有一些人並不是這樣,喜歡總牛角尖,永遠不知道什麼時候該用什麼事,往往是為了解決一個簡單的問題引入了一堆複雜的技術最後反而成了專家。

設計模式和架構的東西是必須要懂的,很多時候都已經在考慮的是擴展性和兼容性。怎麼樣把程序和架構做好。

高級程序員

程序員分幾個段位,每個級別應該會什麼內容?

這是比較稀少的物種。世界頂級的程序員才稱得上,眾多開源框架的造物者才配得上高級程序員的名號。

他們對各種底層的協議和原理都比較瞭解,甚至本身就是某種協議的起草者或發起人。我甚至都沒見過這些人。

所以也不用關心這些人怎麼樣了,基本上都不會輪到你。

怎麼樣?你屬於哪個級別呢?


分享到:


相關文章: