如何從程序員到架構師?

lemoncai


Java程序員如何(怎樣)才能成為一名合格的架構師,需要經過哪些路徑、具備哪些技術知識體系?這是程序員們經常問到的問題,本篇我將通過程序員進階之路程序員薪酬待遇架構師必備技術進行詳解,文末有程序員進階架構師詳細學習內容

一、程序員進階之路

架構師也是從初級程序員起步的,程序員從初級、中級、高級再到架構師,職級不同,技術能力要求不同,這是一個不斷經驗積累的過程,後面會講到。

二、程序員薪酬待遇

程序員在不同的職業發展階段,薪酬待遇差別大,初級程序員與初級架構師的收入差距能達到幾十萬,架構師崗位可謂是名利雙收(技術牛人+團隊核心+豐厚收入),這也是程序員們期望往架構師方向發展的主要原因,關於薪酬待遇下圖以阿里為例,供大家對比參考。

三、架構師必備技術能力

架構師是團隊中的技術權威,需同時具備技術的深度和廣度,哪些技術是架構師必須具備的呢?我總結了十七點,先簡單羅列幾點。

1、大數據

  • Hadoop

  • Hbase

  • Spark

  • Storm/JStorm

2、算法與數據結構

  • 數組

  • 鏈表


  • 隊列


  • 二叉樹

  • B Tree/B+ Tree

  • 紅黑樹

  • 哈希

3、排序

  • 內部排序


  • 插入排序

  • 直接插入排序

  • 希爾排序

  • 選擇排序

  • 簡單選擇排序

  • 堆排序

  • 交換排序

  • 冒泡排序

  • 快速排序

  • 歸併排序

  • 基數排序

  • 桶排序

  • 外部排序

4、分佈式系統

  • 從集中到分佈式

  • 分佈式Session:Session複製、Session綁定、Session服務器(靠譜)

  • 分佈式緩存:Redis、一致性Hash算法

  • 數據庫:讀寫分離、主從熱備、分庫分表、一致性


  • 分佈式事務、CAP、BASE、2PC/3PC

  • 分佈式鎖

  • Redisson

  • 負載均衡、硬件、F5、軟件、LVS、Nginx

  • 消息隊列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka(推薦)

  • 服務化:服務註冊與發現、Zookeeper

  • 架構

  • 微服務

  • Spring Boot


  • Dubbo

  • RPC

  • SOA

  • 虛擬化

  • Docker

由於字數限制,未能完整列舉,若需要程序員進階架構師的完整學習資料,將關鍵詞【架構】私信給優知學院,即可秒收,已有超過3萬+程序員成功領取啦~。


優知學院


架構師是程序員的發展方向之一,所以很多程序員對架構師的工作崗位和工作內容也比較關注。目前IT行業的很多架構師都是從程序員成長起來的,可以說程序員是架構師的一個重要基礎。

從程序員成長到架構師大概需要經歷四個階段,分別是初級程序員、主力程序員、核心研發級程序員、架構師。每個解決都有不同的任務,也有不同的知識儲備,如果能一步一步成長到架構師,對於程序員來說不僅要有較強的工作能力,還需要有較強的學習能力。

在初級程序員階段,主要的工作是功能模塊的實現,能夠輔助主力程序員完成具體的功能實現,這個階段會鍛鍊程序員的基礎編碼能力。在初級程序員階段,主要需要學習軟件開發的流程、技術實現以及軟件部署和測試方面的內容。往往初級程序員階段的成長速度是比較快的,工作能力強的初級程序員在1到2年就會成長為團隊的主力程序員。

主力程序員要獨立完成功能模塊的設計和實現,對軟件整體結構有清晰的認知,知道模塊之間的邏輯關係,能完成初級研發任務,對技術邊界有一定的認知。主力程序員的發展方向有兩個,一個是走項目經理,再到諮詢專家的路線,另一個就是走架構師,再到技術專家的路線。如果走項目經理的路線,則需要深入瞭解行業知識。而對於架構師方向來說,更應該瞭解各種技術方案的應用場景,以及相應的性能指標,尤其是技術關鍵點的解決方案,工作能力強的主力程序員經過2到3年的時間會成長為團隊的核心研發人員。

核心開發人員的主要工作任務往往是產品的容器部分開發,這個過程能夠對軟件產品有深入的學習,核心研發人員往往要跟著產品線走,大部分核心研發人員未來都會成長為架構師或技術專家。

我從事軟件開發工作多年,目前也在負責移動互聯開發團隊和大數據團隊,我會陸續在頭條寫一些關於軟件開發方面的文章,感興趣的朋友可以關注我的頭條號,相信一定會有所收穫。

如果有大數據方面的問題,也可以諮詢我。

謝謝!


IT人劉俊明


說多了其實很簡單,我就是一個屌絲架構師沒有多少深的知識,甚至無法編寫出多線程高性能程序,什麼設計模式呀,垃圾回收呀都不精通……這能算是架構師嗎?我堅信一條做企業最有價值的人,做企業不可替代的人,做自己最感興趣的的事。現在已經從架構師轉成研發經理,不過擔任架構方面工作,希望能給大家分享出不一樣的案例demo。謝謝。


分享到:


相關文章: