千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)
任何成功都伴隨著汗水,作為程序員技術(shù)道路上的天花板水平,如果沒(méi)有多年的刻苦鉆研,幾乎不可能達(dá)到這個(gè)水平和高度。如何從Java工程師成長(zhǎng)為架構(gòu)師?要成為一名架構(gòu)師,技術(shù)基礎(chǔ)是一項(xiàng)基本技能。如果你不花大量的時(shí)間和精力去研究,你連基礎(chǔ)的技術(shù)都抓不住,那么就無(wú)法在架構(gòu)方面做好。
人才
我認(rèn)識(shí)了很多技能不錯(cuò)的同學(xué)。場(chǎng)內(nèi)與技術(shù)相關(guān)的方方面面都可以非常流暢的發(fā)揮。但是,當(dāng)你去面試架構(gòu),或者在公司找到一份與軟件架構(gòu)相關(guān)的工作時(shí),你還是一頭霧水。所以要成為一名建筑師,或者說(shuō)成為一名優(yōu)秀的建筑師,除了上面提到的基本功之外,你的思維能力、設(shè)計(jì)能力、解決問(wèn)題的能力都不同于常人。就連自身性格所賦予的解決問(wèn)題的情感和想法也是必不可少的條件。這些因人而異,并且在某些方面取決于您的才能。
機(jī)會(huì)
所謂機(jī)會(huì),就是可以滿(mǎn)足但不被追捧的因素。成為只有一堆技術(shù)堆棧的架構(gòu)師絕對(duì)是不夠的。你需要的是一個(gè)平臺(tái),能為你提供足夠廣闊的空間供你折騰、練習(xí)和鍛煉。除了站在前人經(jīng)驗(yàn)的肩膀上走捷徑外,沒(méi)有任何實(shí)際的練習(xí)往往可以簡(jiǎn)化為一張紙。所以如果有這樣的平臺(tái)和機(jī)會(huì),就抓住它吧!
綜合以上因素,努力仍然是最重要的一點(diǎn)。也就是說(shuō),如果你想成為一名架構(gòu)師,你努力工作可能不會(huì)成功,但是不努力就永遠(yuǎn)沒(méi)有機(jī)會(huì)成功。不
成為 Java 架構(gòu)師需要什么?
語(yǔ)言基礎(chǔ)
Java架構(gòu)師,顧名思義,你的主流開(kāi)發(fā)語(yǔ)言是Java。說(shuō)白了,語(yǔ)言本身就是一個(gè)工具,用自己最擅長(zhǎng)的東西來(lái)解決問(wèn)題。
因此,作為Java架構(gòu)師,Java語(yǔ)言不僅僅是應(yīng)用層面,還有JVM底層的相關(guān)原理類(lèi),這些還是需要掌握的點(diǎn)。
開(kāi)發(fā)框架
這是將建筑師的工作付諸實(shí)踐的直接方式。因?yàn)榧軜?gòu)的最終目標(biāo)是業(yè)務(wù)指標(biāo)。架構(gòu)如果不利于業(yè)務(wù)的發(fā)展,就毫無(wú)意義。
業(yè)務(wù)中最簡(jiǎn)單粗暴的就是開(kāi)發(fā)框架。如果架構(gòu)師連基本的開(kāi)發(fā)框架都看不懂,就別說(shuō)了吧。
中間件
仍然是一個(gè)工具。各種中間件是協(xié)助您完成業(yè)務(wù)架構(gòu)設(shè)計(jì)的橋梁。如果需要異步和消息,則必須使用消息隊(duì)列,如果需要緩存,則必須使用 Redis。這些都是老生常談的話(huà)題。不過(guò),這里我要強(qiáng)調(diào)的是,作為架構(gòu)師,對(duì)中間件的掌握不能停留在使用層面,而是要完全掌控。因?yàn)槿魏渭夹g(shù)的引入,你必須保證當(dāng)它出現(xiàn)問(wèn)題或者現(xiàn)有的功能不能滿(mǎn)足你的需求時(shí),架構(gòu)師能夠第一時(shí)間找到問(wèn)題的解決方案。另一個(gè)方面是選擇。在設(shè)計(jì)目前的業(yè)務(wù)系統(tǒng)時(shí),同一個(gè)功能點(diǎn)可能由n個(gè)同類(lèi)型的中間件來(lái)實(shí)現(xiàn)。那么哪一種最合適呢?這就需要你把控主流中間件的特性。
解決方案
如果以上是一堆工具,那么你一定有一些常用領(lǐng)域的解決方案的積累。單點(diǎn)登錄、分布式事務(wù)、高并發(fā)峰值、復(fù)雜的工作流程、支付系統(tǒng)設(shè)計(jì)……太多了。在發(fā)展和日常生活中勤奮積累,在遇到合適的場(chǎng)景時(shí)積極實(shí)踐和試錯(cuò)。
架構(gòu)思維
作為一名建筑師,你必須有一定的心態(tài)。在閱讀大師的源碼的時(shí)候,你會(huì)發(fā)現(xiàn)設(shè)計(jì)這套東西的人真的不簡(jiǎn)單。如果你逐漸找到了這種感覺(jué),說(shuō)明你的思想正在慢慢升華。當(dāng)遇到類(lèi)似的場(chǎng)景和問(wèn)題時(shí),你逐漸有一些巧妙的思維去自己解決問(wèn)題,引導(dǎo)你去分析和戰(zhàn)斗。至于上面提到的這一系列技術(shù),屬于實(shí)現(xiàn)層面。想了解問(wèn)題確定好思路。在實(shí)現(xiàn)層面,事情其實(shí)已經(jīng)做了大半,選擇合適的工具來(lái)解決就足夠了。
如何從 Java 工程師成長(zhǎng)為架構(gòu)師?
可以說(shuō),架構(gòu)師幾乎都是來(lái)自于基礎(chǔ)工程師。注意我說(shuō)的差不多。不排除在某些方面天生具有某些特殊功能的人,比如開(kāi)源世界的那些大神,我們就不討論那種人了。
然后讓我們談?wù)勎覀兎踩恕W鳛橐幻?Java 工程師。在軟件一線(xiàn)打磨領(lǐng)域多年。工作經(jīng)驗(yàn)會(huì)逐漸積累。但是不知道大家有沒(méi)有注意到,一個(gè)工作了10年的人,還是初級(jí)或者中級(jí)的開(kāi)發(fā)者。這樣的兄弟,遠(yuǎn)不是建筑師。
也就是說(shuō),并非所有 Java 工程師只要年齡足夠大就可以自動(dòng)晉升為架構(gòu)師。
首先,要注意積累和工作性質(zhì)。 10 年來(lái),你每天都在做同樣的事情。你從早到晚寫(xiě)helloworld,到了老了還是一個(gè)水平。所以這是第一點(diǎn)。
第二點(diǎn),要善于總結(jié)、積累,轉(zhuǎn)化為自己的東西。有些人在自己的崗位上可以接觸到很多內(nèi)容,但往往把它當(dāng)成一種負(fù)擔(dān),迫不及待地想解決它,再也不想看到它。可惜這種不相干的價(jià)值被用完就扔掉了,也沒(méi)有認(rèn)真思考過(guò)自己做了什么,以后有沒(méi)有可以重用的價(jià)值。下次遇到問(wèn)題能不能幫我更有效的解決。
第三點(diǎn),主動(dòng)邁出第一步。從 Java 工程師到架構(gòu)師,其實(shí)單就職位而言,Title 還差一步。那么你必須邁出這一步。從0到1,走向架構(gòu)師的位置,就像你剛開(kāi)始做Java工程師的時(shí)候一樣。先做,再談,再考慮未來(lái)發(fā)展的事情。
總之,如何從Java工程師成長(zhǎng)為架構(gòu)師?對(duì)于一個(gè)比較精通Java的工程師來(lái)說(shuō),架構(gòu)師并不是一個(gè)神秘的物種,最重要的是選擇好正確的學(xué)習(xí)方式和方法。
相關(guān)推薦