對(duì)于程序員來說,架構(gòu)師是一個(gè)令人向往的角色,可很多人卻不明白,真正的架構(gòu)師是怎樣的,只知道架構(gòu)師是個(gè)多面手,在項(xiàng)目當(dāng)中起到連接管理與項(xiàng)目成員的重要角色。
架構(gòu)師的吸引力實(shí)在很高,就連世界首富比爾蓋茨在2000年卸任公司CEO的同時(shí),也擔(dān)任了微軟公司的榮譽(yù)角色“首席軟件架構(gòu)師”,可見“架構(gòu)師”這一稱謂的吸引力。
架構(gòu)師是公司的“金領(lǐng)”,有著非常高的收入,很少需要考慮生存的問題,從而有更多的精力思考關(guān)鍵技術(shù)問題,形成“強(qiáng)者愈強(qiáng)”的良性循環(huán)。部分優(yōu)秀的開發(fā)人員在工作了一定時(shí)間后,就要開始考慮自己的未來到底向哪個(gè)方向發(fā)展。
如果開發(fā)人員的溝通能力強(qiáng)過技術(shù)能力,在補(bǔ)充一定的項(xiàng)目管理知識(shí)后,可以向技術(shù)管理的方向轉(zhuǎn)型。如果其對(duì)技術(shù)一直很感興趣,而溝通能力也不弱,則可以試著進(jìn)一步加強(qiáng)技術(shù)修養(yǎng),以期向架構(gòu)師的方向發(fā)展,最終“修成正果”。
那么,到底什么是架構(gòu)師呢?
所謂的架構(gòu)師,應(yīng)該是一個(gè)技術(shù)企業(yè)的最高技術(shù)決策者。他主要負(fù)責(zé)公司軟件產(chǎn)品或軟件項(xiàng)目的技術(shù)路線與技術(shù)框架的制訂。好的架構(gòu)師都是善良的獨(dú)裁者,具有很強(qiáng)的技術(shù)、良好的寫作能力、良好的口頭表達(dá)能力,能夠在各個(gè)層次進(jìn)行溝通。
從開發(fā)人員到架構(gòu)師的成長(zhǎng)應(yīng)該是階梯式的,一般來講開發(fā)人員在剛剛開始工作時(shí)只能開發(fā)簡(jiǎn)單的獨(dú)立軟件模塊,慢慢的隨著經(jīng)驗(yàn)的增長(zhǎng),他開始接觸一些相互之間有信息傳遞的模塊,而后來,他會(huì)發(fā)現(xiàn)自己接到的開發(fā)任務(wù)已經(jīng)不是一個(gè)獨(dú)立的單體,這些任務(wù)由一些專門的軟件部分組成,可能包含數(shù)據(jù)庫(kù),工作流引擎,消息服務(wù)等等各種功能模塊,可能分布在不同的服務(wù)器上,所有的部分協(xié)同起來,完成軟件功能。而這時(shí)候,體系結(jié)構(gòu)的好壞將直接決定了系統(tǒng)的性能和可擴(kuò)展性,而就在這時(shí)候,這名優(yōu)秀的開發(fā)人員也開始思考架構(gòu)師應(yīng)該思考的問題了,或者說,他向成長(zhǎng)為架構(gòu)師的道路邁出了一大步。
什么是架構(gòu)師最具價(jià)值的技能呢?
一個(gè)優(yōu)秀的架構(gòu)師就是要了解不同的知識(shí),做一個(gè)“雜家”或者說“博學(xué)家”。當(dāng)然,如果你的數(shù)據(jù)庫(kù)技術(shù)非常棒,或者你在工作流引擎方面具有不可超越的專家知識(shí),那也是很不錯(cuò)的。好的架構(gòu)師有好多都是從專家成長(zhǎng)過來的。但是,這不是架構(gòu)師應(yīng)該做的事情,架構(gòu)師應(yīng)該做的是了解所有的東西,既了解技術(shù)的宏觀面,又了解技術(shù)的細(xì)節(jié)。
真正的架構(gòu)師不僅僅要了解軟件,也要了解硬件,在關(guān)鍵的部位使用合適的硬件來取代軟件,可以成倍甚至成百倍的提高整個(gè)系統(tǒng)的效率。之前我們說過,作為架構(gòu)師應(yīng)該做到以下7點(diǎn):1.好奇心;2.養(yǎng)成計(jì)算機(jī)的思維方式;3.扎實(shí)基礎(chǔ),融會(huì)貫通;4.要徹底地理解一個(gè)技術(shù)的本質(zhì);5.要能寫漂亮的代碼;6.抽象的能力;7.技術(shù)領(lǐng)導(dǎo)力。
想要做到真正的架構(gòu)師,一個(gè)令所有人都為之震撼的架構(gòu)師確實(shí)不易,但只要我們不斷突破自我,一步一個(gè)腳印地走下去,成為真正的、優(yōu)秀的架構(gòu)師便指日可待!
更多精彩內(nèi)容,盡在中培偉業(yè)官網(wǎng)