當前位置: 妍妍網 > 碼農

初級和高級程式設計師,真正的區別是。。

2024-04-03碼農

大家好,我是程式設計師魚皮。昨天直播的時候,有同學問:初級、中級、高級程式設計師,有什麽區別?

答案當然是 「頭發」。

開個玩笑,這個問題非常好,提前了解這個問題有助於我們明確自己的技術學習路線和職業發展路線。

下面就跟大家分享下我個人的看法。(文末有你們要的封面圖)

初級、中級、高級程式設計師的區別

我會分別從這些角度去對比初級、中級和高級程式設計師。

  1. 負責的工作和角色

  2. 需要掌握的技術

  3. 需要掌握的其他能力

初級程式設計師

實習生和剛入職 1 年內的程式設計師基本上都算是初級程式設計師,這裏的初級倒不是說你的技術水平如何,而是初入職場,在很多方面沒有經驗,公司對你也不會有很高的要求。

初級程式設計師的目標是 「能完成工作」。這個階段,你的角色是執行者。比如上級分配給你一個 任務 ,你能夠按時按要求地完成,這就足夠了。完成好工作的基礎上,再考慮進一步發展。

舉個例子,上級讓你開發一個抽獎轉盤的頁面,直接按照別人寫好的方案和現成的設計稿去做就好了,你甚至都不用理解為什麽要做這個需求、它的背景是什麽。

初級程式設計師的技術要求並不高,能會用基本的開發框架(前端 Vue / React,後端 Spring Boot 等)解決 Bug、完成工作就好。如果說還有什麽額外的期待,那就是少寫一點 Bug 吧。

這個初入職場的階段,我們要學會和他人合作、有一定的責任意識、熟悉職場的規則,提升自己的職業素養、閱讀文件和理解需求的能力。

中級程式設計師

一般工作 1 ~ 3 年工作經驗的程式設計師可以達到中級程式設計師的水平。

中級程式設計師的目標是 「能負責工作」。這個階段,你的角色是負責人,能夠獨立負責一個模組或計畫。比如上級給你一個 想法 ,你能夠透過各種方式,把想法實作落地。

舉個例子,比如公司現在要做一個抽獎功能,你能夠透過自主需求分析 => 設計方案 => 開發編碼 => 測試 => 部署上線這一整套流程,把它上線,而且盡量不要出問題。能做到這點,基本上是可以獨當一面了。

中級程式設計師首先需要有足夠紮實的技術基礎,比如能熟練運用框架完成開發、自主解決開發過程中遇到的報錯,這就需要我們足夠了解一門技術的特性和套用場景。比如前端程式設計師需要熟悉前端工程化(TypeScript)、前端常用的工具和解決方案(像狀態管理、單元測試、打包工具等);後端程式設計師需要熟悉主流中介軟體(Redis、MQ、ES、ZooKeeper 等)、並行編程和語言的執行機制(JVM)。

此外,中級程式設計師還需要具備一定的需求分析和架構設計的能力,不僅能理解業務、知道某個需求要不要做,還要能設計出一套合理的方案來完成需求。

高級程式設計師

一般工作經驗 3 年(5 年)以上的程式設計師才能達到高級程式設計師的水平,當然,如果你缺乏自我提升的意識,可能中級程式設計師就是天花板了。

高級程式設計師的目標是 「能推動工作」。這個階段,你的角色是領導者,能夠獨立負責和推動計畫的發展。比如公司給你一個 目標 ,你要能拆解目標為具體的想法、需求和任務,帶領團隊同學一起達成目標。

舉個例子,公司 Q2 要增長 10 w 的營業額,你作為高級程式設計師(技術負責人),要和其他同事(上級)一起制定發展策略,在技術上給出可行的建議和方案,然後去搭建一套技術架構。比如我們可以搞一個抽獎系統來作為宣傳分裂的手段,對於抽獎系統的調研、實作方案的文件、具體的計畫規範制定、計畫樣版搭建、計畫的部署流程等,你都要有能力帶團隊完成。

當你到高級程式設計師位置的時候,有 2 條進一步發展的路線。一種是技術路線,一種是管理路線。

走技術路線的人需要做到將自身的技術水平達到精通,比如熟知 Java 的各種特性和效能最佳化方法,初級程式設計師寫的程式碼需要 1 秒執行,高級程式設計師寫的程式碼可能只需要 100 毫秒就能執行,並且占用的資源更低。

走管理路線的人自身的技術能力不需要特別強,但是他要有足夠的經驗和判斷力、有將自身的技術和經驗傳遞給團隊和下級的能力,帶領團隊保質保量地完成工作。我自己也是技術出身,目前兼顧技術和管理能力的提升,我自己的感受是,做管理比做技術難 100 倍!畢竟人是最復雜的,充滿了不確定性,而程式碼是機械的,最起碼不會騙你。

針對這兩條發展路線,騰訊也有對應的 2 種職級安排,一種是 T 技術路線,一種是 L 領導路線。很多高 T 的技術專家,都兼有 L 領導職級。這也體現了,對於一名優秀的程式設計師和技術人,我們一定不能只埋頭寫程式碼,而是要提升自己的綜合能力,比如寫作能力、產品思維、溝通表達能力、管理能力等等。


怎麽樣才能更快地成為高級程式設計師呢?

我之前看過一本互聯網大廠晉升指南,裏面提到的一點我覺得非常妙:我們要始終拿自己去對標更高的職級,而不是滿足於當前的職級。

如果你現在是初級程式設計師,想要晉升為中級,首先你要用中級的工作標準去要求自己,比如完成需求之余,自己多思考下需求和方案的合理性。如果你想晉升為高級,就要在工作之余,多閱讀一些深入的技術或管理書籍、多自主開發計畫和產品等。這樣你的能力提升會非常之快!

以上就是本期分享。噥,你們要的封面圖(來源於網路),有收獲的話記得給魚皮點贊哦~


👇🏻 點選下方閱讀原文,獲取魚皮往期編程幹貨。


往期推薦