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