架構師必備11大能力要求和培養流程

如何才能成爲一名合格的架構師?需要具備什麼樣的能力要求?培養的流程是什麼?YJBYS小編爲大家詳解如下!

架構師必備11大能力要求和培養流程

  一般來講,系統架構師應該擁有以下幾方面的能力:

1:具備 8 年以上軟件行業工作經驗;

2:具備 4 年以上 C/S 或 B/S 體系結構軟件產品開發及架構和設計經驗;

3:具備 3 年以上的代碼編寫工作經驗;

4:具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗;

5:對相關的技術標準有深刻的認識,對軟件工程標準規範有良好的把握;

6:對 技術及整個解決方案有深刻的理解及熟練的應用,並且精通WebService/J2EE 架構和設計模式,並在此基礎上設計產品框架;

7:具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設計開發;

8:精通大型數據庫如 Oracle、Sql Server 等的開發;

9:對計算機系統、網絡和安全、應用系統架構等有全面的認識,熟悉項目管理理論,並有實踐基礎;

10:在應用系統開發平臺和項目管理上有深厚的基礎,有大中型應用系統開發和實施的.成功案例;

11:良好的團隊意識和協作精神,有較強的內外溝通能力。

  具體能力要求描述:

首先必須具有豐富的軟件設計與開發經驗,這有助於理解並解釋所進行的設計是如何映射到實現中去。

其次要具有領導能力與團隊協作技能,軟件架構師必須是一個得到承認的技術領導,能在關鍵時候對技術的選擇作出及時、有效的決定。

第三是具有很強的溝通能力,其實這一點好像什麼角色都最好具備,軟件架構師需要與各路人馬經常打交道,客戶、市場人員、開發人員、測試人員、項目經理、網絡管理員、數據庫工程師等等,而且在很多角色之間還要起溝通者的作用。在技術能力方面,軟件架構師最重要也是最需要掌握的知識是構件通信機制方面的知識,比如遠程過程調用(RPC,Remote Procedure Call)、JAVA RMI、CORBA、COM/DCOM、各種標準的通信協議、網絡服務、面對對象數據庫、關係數據庫或者NoSQL數據庫等等,另外,架構師應時刻注意新軟件設計和開發方面的發展情況,並不斷探索更有效的新方法。開發語言、設計模式和開發平臺不斷很快地升級,軟件架構師需要吸收這些新技術新知識,並將它們用於軟件系統開發工作中。當然,行業的業務知識對軟件架構師也是很重要的,有助於設計出一個滿足客戶需求的體系結構,優秀的軟件架構師常常因爲要儘快獲得對行業業務的理解而必須快速學習並且進行敏銳的觀察。

但作爲一個架構師,在整個軟件系統的開發過程中是樂趣無窮的,因爲這個角色很具有挑戰性,有時需要左右逢源、八面玲瓏,有時又需要果斷堅定、不留情面。在國內,較少軟件企業擁有獨立的架構師,通常一個軟件高手身兼數職,既是項目經理,又是軟件架構師,還是軟件開發者,有時還要客串一個測試人員,這對軟件的開發週期和產品質量是不利的,有時一個人的觀點立場是很片面的,而且繁重的工作、沉重的壓力會影響一個人的情緒,情緒會影響決策,決策影響結果,所以值得我們三思而後行。

  通用培養過程(作爲參考):

架構師不是通過理論學習可以搞出來的,不過不學習相關知識那肯定是不行的。總結架構師自我培養過程大致如下,僅供參考。

1、架構師胚胎(程序員)

學習的知識是語言基礎、設計基礎、通信基礎等,應該在大學完成,內容包括java、c、c++、uml、RUP、XML、socket通信(通信協議)——學習搭建應用系統所必須的原材料

2、架構師萌芽(高級程序員)

學習分佈式系統、組建等內容,可以在大學或第一年工作時間接觸,包括分佈式系統原理、ejb、corba、com/com+、webservice(研究生可以研究網絡計算機、高性能併發處理等內容)

3、架構師幼苗(設計師)

應該在掌握上述基礎之上,結合實際項目經驗,透徹領會應用設計模式,內容包括設計模式(c++版本、java版本)、ejb設計模式、J2EE構架、UDDI、軟件設計模式等。在此期間,最好能夠了解軟件工程在實際項目中的應用以及小組開發、團隊管理。

4、軟件架構師的正式成型在於機遇、個人努力和天賦軟件構架師其實是一種職位,但一個程序員在充分掌握軟構架師所需的基本技能後,如何得到這樣的機會、如何利用所掌握的技能進行應用的合理構架、如何不斷的抽象和歸納自己的構架模式、如何深入行業成爲能夠勝任分析、構架爲一體的精英人才這可不是每個人都能夠遇上的餡餅……