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