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