1架構(gòu)師是什么?
要想往架構(gòu)師的方向發(fā)展首先要知道架構(gòu)師是什么?
架構(gòu)師是一個既需要掌控整體又需要洞悉局部瓶頸并依據(jù)具體的業(yè)務(wù)場景給出解決方案的團隊領(lǐng)導(dǎo)型人物。
一個架構(gòu)師得需要足夠的想像力,能把各種目標需求進行不同維度的擴展,為目標客戶提供更為全面的需求清單。
架構(gòu)師在軟件開發(fā)的整個過程中起著很重要的作用。
說的詳細一些,架構(gòu)師就是確認和評估系統(tǒng)需求,給出開發(fā)規(guī)范,搭建系統(tǒng)實現(xiàn)的核心構(gòu)架,并澄清技術(shù)細節(jié)、掃清主要難點的技術(shù)人員。主要著眼于系統(tǒng)的“技術(shù)實現(xiàn)”。
2架構(gòu)師的任務(wù)
架構(gòu)師的主要任務(wù)不是從事具體的軟件程序的編寫,而是從事更高層次的開發(fā)構(gòu)架工作。他必須對開發(fā)技術(shù)非常了解,并且需要有良好的組織管理能力。可以這樣說,一個架構(gòu)師工作的好壞決定了整個軟件開發(fā)項目的成敗。
在成為Java架構(gòu)師之前,應(yīng)當先成為Java工程師。
熟練使用各種框架,并知道它們實現(xiàn)的原理。
jvm虛擬機原理、調(diào)優(yōu),懂得jvm能讓你寫出性能更好的代碼;池技術(shù),什么對象池,連接池,線程池……Java反射技術(shù),寫框架必備的技術(shù),遇到有嚴重的性能問題,替代方案java字節(jié)碼技術(shù);nio,沒什么好說的,值得注意的是“直接內(nèi)存”的特點,使用場景;java多線程同步異步;java各種集合對象的實現(xiàn)原理,了解這些可以讓你在解決問題時選擇合適的數(shù)據(jù)結(jié)構(gòu),高效的解決問題。
比如hashmap的實現(xiàn)原理,好多五年以上經(jīng)驗的人都弄不清楚,還有為什擴容時有性能問題?
不弄清楚這些原理,就寫不出高效的代碼,還會認為自己做的很對。
總之一句話,越基礎(chǔ)的東西越重要,很多人認為自己會用它們寫代碼了,其實僅僅是知道如何調(diào)用api而已,離會用還差的遠。
如果你立志做架構(gòu),首先打好基礎(chǔ),從最底層開始。
然后發(fā)展到各種技術(shù)和語言,什么都要懂兩點,要全面且不膚淺。
為什么不是懂一點?
你要看得透徹,必須盡量深入一些。別人懂一點,你要做架構(gòu)師,必須再多懂一點。比如你發(fā)現(xiàn)golang很流行,別人可能寫一個helloworld就說自己玩過golang,但你至少要嘗試寫一個完整的應(yīng)用。
不肯下苦功,如何高人一頭?
你起碼要非常深入地了解至少一門語言,如果你的目標是java,那么就學(xué)到極致,作為敲門磚,先吃飽了才能談理想。
3架構(gòu)師都是從碼農(nóng)過來的
而Java學(xué)到極致勢必涉及到設(shè)計模式,算法和數(shù)據(jù)結(jié)構(gòu),多線程,文件及網(wǎng)絡(luò)IO,數(shù)據(jù)庫及ORM,不一而足。這些概念放之一切語言都適用。
先精一門,為全面且不膚淺打基礎(chǔ)。
另外就是向有經(jīng)驗的架構(gòu)師學(xué)習(xí),和小伙伴們討論辯論爭論。
其實最重要的能力就是不斷學(xué)習(xí)。在思考新的技術(shù)是否能更好地解決你們遇到的問題之前,你首先得知道并了解新的技術(shù)。
架構(gòu)師都是從碼農(nóng)過來的,媳婦熬成婆。
千萬不要成為不寫代碼的架構(gòu)師,有些公司專門產(chǎn)不寫技術(shù)的架構(gòu)師。
所謂架構(gòu)師,只是功底深厚的程序員而已。個人認為應(yīng)該扎扎實實學(xué)習(xí)基礎(chǔ)知識,學(xué)習(xí)各種規(guī)范,架構(gòu),需要廣泛的知識面,懂的東西越多視野越開闊,設(shè)計的東西當然會越好越全面。
成為架構(gòu)師需要時間的積累的,不但要知其然還要知其所以然。平時的一點一滴你感覺不到特別用處,但某天你會發(fā)現(xiàn)所有東西都沒有白學(xué)的。
-
JAVA
+關(guān)注
關(guān)注
19文章
2970瀏覽量
104834 -
架構(gòu)師
+關(guān)注
關(guān)注
0文章
47瀏覽量
4638
發(fā)布評論請先 登錄
相關(guān)推薦
評論