Java程式設計師的級別定義: 對號入座, 你在哪個階段心裡要有點數
初級
剛入職場的新人一般都在這個級別了。這一點倒是不區分本科還是碩士,比如我第一家公司碩士畢業進去算初級工程師,本科是助理工程師。而公司對於剛畢業的同學的級別定義也是類似,本科 T1-1,碩士 T1-2。大級別都是 T1,小級別上的細分割槽分可能也就是在薪酬起點上略有不同(別問我差多少,我也不知道,但估計差距不大)。
中級
要說中級和初級最本質的區分是什麼,我覺得體現在獨立性方面。初級的同學剛進公司,一般還會給安排一對一的導師幫助其快速上手,所以很多初級的同學在工作上就對導師存在依賴性。而工作一段時間(1、2年吧)後,他們對公司的各種開發流程規範已經相當熟悉,熟悉其參與專案中的部分業務、產品和程式碼,能夠按要求完成業務功能開發。
所以中級的工程師基本能夠獨立承擔開發工作,甚至有些還能指導新人了,成長為公司「動作執行」層面的中堅力量。這個層面的基本要求就是:完成動作、達成品質、優化效率。但觀察下來這個級別的工程師多數都能做到完成,但品質可能有瑕疵,效率上甚至可能有缺陷。而關於效率和品質總是在不斷的迭代和改進中去不斷完善的,自身也在這個過程不斷成長向著下一個階梯邁進。
而不少人卡在這一階段,就是因為雖然不斷的在完成工作,但卻沒有去反思,沉澱,迭代並改進,導致一直停留在了不斷的重複中。
高階
這個級別基本屬於能獨立負責某個小專案或大專案中的子系統或模組,自己是專案的骨幹成員,屬於團隊或專案中最大的個人貢獻者。
相比於中級,高階工程師在「動作執行」層面屬於攻堅力量,不僅能獨立完成高階難度的開發任務,而且在使用者體驗(品質提升)和效能優化(優化效率)都能作更全面的考量。不僅對開發任務完成的又快又好而且還能能清晰的定義出多快多好。
資深
這個級別有些叫「資深工程師」,有些叫「架構師」,而不同的叫法代表了兩種不同的發展方向。在基礎研發、演算法或特定技術複雜領域會向「資深工程師」方向發展,屬於深度優先。而在面向業務開發的領域,業務複雜度高於技術複雜度,則會向「架構師」方向發展,屬於廣度優先。
不管是深度還是廣度,進入這個級別說明在特定領域都已經具備了相當的積累,在專案和團隊中擔任技術骨幹。除了自身專業知識、技能和實踐經驗的積累,還能夠從中總結沉澱出有效的方法論,引導和組織團隊成員一起進行推廣應用。積極主動的輸出自身經驗,為跨團隊專案提供技術支援。
很多工作有一定年頭的高階工程師卡在邁入這個級別的門檻邊,我覺得有兩個原因,一方面是自身雖然各種實戰經驗豐富,但卻沒有系統的去梳理自己多年的積累,未能很好的形成體系。所謂體系也這就是上面所說的沉澱出有效的方法論,有效方法論的最大作用是幫助快速決策,而且決策的正確概率還會比較高。另一方面,就是其雖胸有塊壘,腹藏千言卻倒不出來,出現明顯的瓶頸效應,造成的負面作用就是很難對其「資深」的程度作出有效評定。
Java高階架構二群688583154
進群:可免費領取架構師學習資料。
進群:獲得面試學習資料
進群:學習架構最新技能知識
進群:瞭解最新BAT招聘動態
分散式
微服務
效能優化
原始碼分析
專家
技術專家一般在公司領銜重大技術專案,而且在其細分的技術領域,於業界也有公認的影響力。以「家」冠名會讓人感覺遙不可及,高不可攀。實際「家」也分大小,一般的「大家」實際都是稀世珍寶,舉國稀有的,確實是遙不可及,但也有「小家」相對來說就沒那麼遙遠。
而專家總和影響力掛鉤,影響力聽起來很虛,那換個相對實的角度說說影響力。作為一個 Java 程式設計師,在學習使用 Java 的過程中總有那麼幾個人,你不僅要去讀他們的書還要去看並且使用他們寫的程式碼,在 Java 這個領域你總是繞不過去。那麼這就是他們在這個領域實實在在的影響力,自然也是這個領域的專家。所以,專家可能就是這個領域內你繞不過去的人吧。
評定
有了級別的定義,那麼如何來評定一個人到底屬於怎樣的級別呢?這點在低級別的評定中標準會相對寬鬆,而越往高級別走越難評定。對於不同級別的評定標準一些大公司都定義了覆蓋多個維度的評判標準,並給出了詳盡的說明。對於高階的晉升會由公司專家評審小組來組織晉升述職答辯,評審小組的評委就是根據這些多維度的標準來做出一個綜合的評判。怎麼樣呢,看完之後大家應該還是有了一個大概的概念吧。如果覺得自己還是有很多不足的話,可以加群一起交流學習。
點選連結加入群【java高階開發】:https://jq.qq.com/?_wv=1027&k=56Cy6Rp
點選連結加入群【Java交流群】:https://jq.qq.com/?_wv=1027&k=56tnWUP