前談到架構師核心技能,如果你對架構師這個職位從技能的角度有比較清晰的認識了,本篇文章將為你繼續揭示架構師這個職位的成長周期。
在國內架構師需要多年的實戰經驗和個人修煉,一名優秀的架構師,離不開個人的努力和公司的機遇,挑戰和機遇并存。
首先,大部分架構師的成長都是伴隨公司的發展需要從而演變而來,需要大量時間的實踐以及不斷的經驗積累。
結合互聯網對架構師的要求,以及我個人的架構實際經驗,我把架構師的成長分為如下四個必經之路:
01架構師胚胎(程序員)
工作年限1-3年左右,掌握程序相關的基礎知識:語言編程開發、基本的數據結構、基本的算法掌握、對熟練使用常用的語言開發環境:JAVA、c#、c++、go、groovy、php、Python等相關的開發環境、基本的數據庫知識(還到不了性能調優)、基礎的設計模式(eg:工廠模式等 )、常用的通訊協議等。
02架構師萌芽(高級程序員)
工作年限一般3-5年,如果你做研發超過了5年還是處于重復搬磚的節奏,還沒有考慮代碼效率以及避免重復造輪的情況,還不能算到高級。
這個階段需要掌握的知識,比如:掌握更多的設計模式、操作系統原理、分布式系統原理、常見的性能調優方案:數據庫端(事務超時、索引如何優化、高效sql等)、應用端、web端(靜態分離怎么做)等、高并發基礎場景等。
03 架構師幼苗
工作超過5年,身經百戰的同時,我的標準是必須參與過至少一次中、大型項目,這個階段你還不能完全操盤一個大項目的架構設計,但至少對整個架構設計整體有一定的了解,比如:單點登錄、分布式緩存的場景、異步消息場景...典型的基礎架構設計怎么實現。以及從理論的角度,透徹領會應用設計模式、JVM的原理...有一定的洞察力,有興趣深入去了解技術的核心原理。
04 架構師
如果你經歷了上述3個步驟階段的項目操練,如果在這個階段,你能獨自帶隊操盤一個中型、大型項目的架構設計,并且從架構設計的角度:效率、可維護性、可擴展、容錯...能勝任這個項目并且成功上線,這是一個標志性的架構師節點,獨立勝任中、大型項目架構設計操盤手。
架構師是很多技術人的職業目標,好的架構師來源于機遇(公司)、個人努力(吃得苦、肯專研)、天分(真的熱愛)的三者協作的結果,實踐+機遇+努力才能助你成為優秀的架構師。
來源:進階架構師 | 作者 陳睿Mike