對于大部分小伙伴來說,對系統架構師很非常陌生,甚至都沒有聽說過,那么什么是系統架構師呢?系統架構師應該需要學習什么呢?現在小編給大家介紹一下。
什么是系統架構師呢?
系統架構師是一個最終確認和評估系統需求,給出開發規范,搭建系統實現的核心構架,并澄清技術細節、掃清主要難點的技術人員。主要著眼于系統的“技術實現”。因此他/她應該是特定的開發平臺、語言、工具的大師,對常見應用場景能給出最恰當的解決方案,同時要對所屬的開發團隊有足夠的了解,能夠評估自己的團隊實現特定的功能需求需要的代價。 系統架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個項目,使設計的項目盡量效率高,開發容易,維護方便,升級簡單等。
系統架構師需要學什么專業?要具備哪些能力?
系統架構師學的專業肯定是計算機相關專業,例如計算機科學與技術、軟件工程師等。需要掌握專業知識有計算機原理基礎知識、編程語言知識、程序設計知識、研發綜合能力、網絡安全知識、Linux知識、運維知識、數據庫、常用開發相關應用軟件、性能優化、大數據知識、工程化、架構基礎知識、架構設計、互聯網公司經典技術架構、 GitHub上整理的一些工具和資源、平臺工具等。架構師對技術深度和廣度非常高,同時需要一定管理能力、協調能力、溝通能力等。大部分架構師都是從程序開發晉升的。
架構師都有哪些種類?
1、應用架構師
應用架構師是行業中數量最多的架構師,主要負責公司產品的技術架構。產品架構師需要對業務有足夠的理解,根據產品需求設計架構,在運營團隊的協助下評估量級,并管理項目的整個生命周期。
2、中間件架構師
中間件架構師主要負責基礎框架、公共組件,通用服務的搭建。比如分布式服務框架諸如 Dubbo,HSF;比如消息隊列諸如 RocketMQ,Kafka。在大型互聯網公司中,往往不是把開源框架簡單「拿來」,而是研發出符合自身業務的企業中間件。
3、基礎設施架構師
基礎設施架構師負責服務器資源、網絡資源、數據庫等基礎設施的建設;以及持續集成工具、持續部署工具的搭建。
以上所說的三種,只是架構師最基本的分類。一些特殊領域也有著專門的架構師,比如網絡安全架構師、大數據架構師等等。
架構師需要具備哪些能力呢?
一般來講,系統架構師應該擁有以下幾方面的能力:
1、具備 8 年以上軟件行業工作經驗;
2、具備 4 年以上 C/S 或 B/S 體系結構軟件產品開發及架構和設計經驗;
3、具備 3 年以上的代碼編寫工作經驗;
4、具備豐富的大中型開發項目的總體規劃、方案設計及技術隊伍管理經驗;
5:對相關的技術標準有深刻的認識,對軟件工程標準規范有良好的把握;
6、對 .Net/JAVA 技術及整個解決方案有深刻的理解及熟練的應 用 ,并且精通WebService/J2EE 架構和設計模式,并在此基礎上設計產品框架;
7、具有面向對象分析、設計、開發能力(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使用 Rational Rose、PowerDesigner 等工具進行設計開發;
8、精通大型數據庫如 Oracle、Sql Server 等的開發;
9、對計算機系統、網絡和安全、應用系統架構等有全面的認識,熟悉項目管理理論,并有實踐基礎;
10、在應用系統開發平臺和項目管理上有深厚的基礎,有大中型應用系統開發和實施的成功案例;
11、良好的團隊意識和協作精神,有較強的內外溝通能力。