架構(gòu)師是公司的“金領(lǐng)”,很少需要考慮生存的問(wèn)題泉褐,從而有更多的精力思考關(guān)鍵技術(shù)赐写,形成“強(qiáng)者愈強(qiáng)”的良性循環(huán)。當(dāng)然膜赃,冰凍三尺非一日之寒挺邀,成為一名合格的架構(gòu)師是一個(gè)漫長(zhǎng)的積累過(guò)程。對(duì)于大部分的軟件開(kāi)發(fā)人員來(lái)說(shuō)财剖,架構(gòu)師都是一個(gè)令人向往的角色悠夯。那么程序員們要想如何去成為一名合格的架構(gòu)師,我們還要先從一名合格的架構(gòu)師的身上去了解躺坟,了解架構(gòu)師們的一些成長(zhǎng)經(jīng)歷沦补,了解他們是如何加強(qiáng)自己的技能修養(yǎng),了解他們是怎樣的一個(gè)自我培養(yǎng)的過(guò)程等等咪橙。下面小編就以上問(wèn)題采訪了新浪云計(jì)算架構(gòu)師叢磊老師夕膀。
對(duì)于任何一個(gè)軟件開(kāi)發(fā)人員來(lái)說(shuō)虚倒,架構(gòu)師都是一個(gè)令人向往的角色。那么從程序員與架構(gòu)師有沒(méi)有比較明顯的區(qū)別呢产舞?其實(shí)架構(gòu)師和程序員的界限并不是很大魂奥,比如現(xiàn)在仍然在每天寫(xiě)代碼。其實(shí)成長(zhǎng)首先來(lái)自于自身的學(xué)習(xí)易猫,而閱讀成熟項(xiàng)目的代碼會(huì)使人受益匪淺耻煤,其次就是來(lái)自于所從事領(lǐng)域的經(jīng)驗(yàn),要了解分布式系統(tǒng)的特點(diǎn)准颓,在做項(xiàng)目時(shí)哈蝇,要能夠關(guān)注性能、擴(kuò)展性攘已、可靠性炮赦、可用性等指標(biāo)。
架構(gòu)師其實(shí)就是一個(gè)漫長(zhǎng)的積累過(guò)程样勃,從準(zhǔn)備期到動(dòng)蕩期我們都是不停的探索吠勘,學(xué)習(xí)。大部分的架構(gòu)師的年齡都是在35歲左右峡眶,這個(gè)階段就是程序員的黃金期剧防。那么我們?nèi)绾我砸粋€(gè)架構(gòu)師的標(biāo)準(zhǔn)來(lái)加強(qiáng)自己的能力呢?下面我們來(lái)看看叢磊老師的一些建議幌陕。
如何去加強(qiáng)技能修養(yǎng)诵姜?
程序員要成為一名架構(gòu)師發(fā)展,需要進(jìn)一步加強(qiáng)技能的修養(yǎng)搏熄,從磊認(rèn)為棚唆,對(duì)于互聯(lián)網(wǎng)公司來(lái)言,最重要的技能是對(duì)網(wǎng)絡(luò)和分布式系統(tǒng)的理解心例,網(wǎng)絡(luò)上面的書(shū)籍很多宵凌,比較麻煩的是分布式系統(tǒng),需要結(jié)合很多實(shí)際的paper和方案來(lái)理解止后。除了分布式外瞎惫,另外還得掌握高性能及、JVM译株。性能調(diào)優(yōu)瓜喇、Spring,MyBatis歉糜,Netty源碼分析等技術(shù)乘寒。因?yàn)橥粋€(gè)知識(shí),在不同的項(xiàng)目經(jīng)驗(yàn)后匪补,絕對(duì)不是不同的理解伞辛。
那么你該如何去做呢?我覺(jué)得可以從以下幾個(gè)步驟開(kāi)始:
1: 扎實(shí)的JAVA 基礎(chǔ)烂翰,Think in java上介紹的內(nèi)容都能理解,做到這一步恭喜成為了程序員蚤氏。
2:熟練使用主流框架甘耿,如:mybatis,spring 等竿滨。
3:研究過(guò)至少一種以web框架的源碼佳恬,如spring mvc ,struts 等姐呐。
4:架構(gòu)過(guò)或者參與過(guò)高并發(fā)系統(tǒng)設(shè)計(jì)殿怜,知道如何應(yīng)對(duì)突發(fā)情況。
5:對(duì)自己所處的業(yè)務(wù)能夠根據(jù)自己的知識(shí)維度曙砂,提出優(yōu)化建議或者預(yù)測(cè)其風(fēng)險(xiǎn)點(diǎn)。
其實(shí)能否成為架構(gòu)師跟機(jī)遇有很大關(guān)系骏掀,比如一個(gè)程序員鸠澈,以上都做到了,但是公司并沒(méi)有給他這個(gè)機(jī)會(huì)去做截驮,一個(gè)真正架構(gòu)的機(jī)會(huì)笑陈。因?yàn)橹暗募軜?gòu)師不離職他就沒(méi)有機(jī)會(huì),這就是現(xiàn)實(shí)葵袭!
如何去自我培養(yǎng)涵妥?
當(dāng)然要成為一名架構(gòu)師僅僅通過(guò)理論學(xué)習(xí)是不行的,在叢磊的介紹中了解到坡锡,其實(shí)他理想中的架構(gòu)師要求很高蓬网,不僅有豐富的編碼經(jīng)驗(yàn),而且還要熟悉硬件性能優(yōu)化鹉勒、內(nèi)核調(diào)試帆锋、網(wǎng)絡(luò)故障排查、系統(tǒng)安全禽额、分布式系統(tǒng)設(shè)锯厢,還有了解國(guó)內(nèi)外技術(shù)的新趨勢(shì)和特點(diǎn),最重要的是脯倒,還要善于與人溝通实辑,敢于排除不同意見(jiàn),敢于承擔(dān)責(zé)任藻丢,了解團(tuán)隊(duì)內(nèi)工程師的特點(diǎn)剪撬,善于將他們組成一個(gè)整體。他自己也在朝著這個(gè)目標(biāo)去努力郁岩。
如何在團(tuán)隊(duì)中開(kāi)展工作婿奔?
很多正在發(fā)展為架構(gòu)師的程序員也很想了解架構(gòu)師在團(tuán)隊(duì)中時(shí)如何進(jìn)行設(shè)計(jì)工作的缺狠,新浪架構(gòu)師叢磊也根椐他的工作做了介紹。在他們團(tuán)隊(duì)中萍摊,其實(shí)很難分離出一個(gè)單純的架構(gòu)師的角色挤茄,換句話說(shuō),很難界定架構(gòu)師只需要做哪些冰木。架構(gòu)師更多的是以一個(gè)技術(shù)負(fù)責(zé)人的身份和工程師一起做好產(chǎn)品穷劈,這里面包括,項(xiàng)目開(kāi)展前的方案設(shè)計(jì)踊沸,方案完成后的評(píng)審歇终,方案確定后的開(kāi)發(fā),以及之后的調(diào)試逼龟、優(yōu)化评凝,故障排查。
當(dāng)然了腺律,良好的駕馭管理開(kāi)發(fā)團(tuán)隊(duì)的能力奕短,良好的人格修養(yǎng),能夠讓架構(gòu)師在開(kāi)發(fā)項(xiàng)目中游刃有余匀钧,不會(huì)出現(xiàn)意料之外的干擾翎碑,更能從內(nèi)散發(fā)出人格魅力。
技術(shù)人的歸途
走技術(shù)這條路之斯,歸途是什么日杈?是否轉(zhuǎn)型又該如何抉擇呢?
至少有好幾條路線是可以走的佑刷,比如:深入技術(shù)莉擒、轉(zhuǎn)型做產(chǎn)品、轉(zhuǎn)型做管理等项乒,需要根據(jù)自己的特長(zhǎng)和性格來(lái)選擇啰劲,做自己喜歡的事情。
據(jù)不完全統(tǒng)計(jì)檀何,截至目前(2017.07)為止蝇裤,中國(guó)Java程序員的數(shù)量已經(jīng)超過(guò)了100萬(wàn)。而且频鉴,隨著IT培訓(xùn)業(yè)的持續(xù)發(fā)展和大量的應(yīng)屆畢業(yè)生進(jìn)入社會(huì)栓辜,Java程序員面臨的競(jìng)爭(zhēng)壓力越來(lái)越大。那么垛孔,作為一名Java程序員藕甩,怎樣努力才能快速成長(zhǎng)為一名高級(jí)的程序員或者架構(gòu)師,或者說(shuō)一名優(yōu)秀的高級(jí)工程師或架構(gòu)師應(yīng)該有怎樣的技術(shù)知識(shí)體系周荐,這不僅是一個(gè)剛剛踏入職場(chǎng)的初級(jí)程序員狭莱,也是工作三五年之后開(kāi)始迷茫的老程序員僵娃,都必須要面對(duì)和想明白的問(wèn)題。為了幫助大家少走彎路腋妙,我總結(jié)出一個(gè)Java程序員的工作2-5年成長(zhǎng)路線圖默怨。