1. 程式人生 > >系統架構設計師需要具備什麼能力?

系統架構設計師需要具備什麼能力?

前言:系統架構設計師需要具備什麼能力?這個其實不太好回答,在招聘網站上,不同的公司對架構師要求都不一樣,公司的業務不同對架構師能力的側重點也有不同。但基本要求的能力至少滿足以下幾點:

1、負責公司系統架構的設計、研發工作

必須在某一特定領域有自己深刻的理解和實踐經驗,比如在java領域,就應該熟悉各種開源框架,並能在開源框架上開發各種系統功能,比如系統安全,與異構系統通訊協議、高併發下各種快取、叢集、分散式。架構師應該是在微觀上能解決各種系統異常的人,巨集觀上能為公司的發展提供可匹配的架構支援(架構水平可擴充套件)。

2、能夠制定技術規範,能夠對開發人員在技術上提供指導

所以架構師必須在技術上有一定權威的人,必須是團隊的技術核心人物,能夠根據最佳實踐制定技術規範,並要求技術人員按照規範實施。如果開發人員,尤其是新員工不能理解如何使用架構進行開發的時候,架構師應該組織對大家培訓,開發相應的demo,交付大家使用,必要時,必須闡明架構為什麼這麼設計的緣由。試想,如果在關鍵的技術決策的時候,沒人care你的想法,那麼你真的具備架構師的能力嗎。

3、組織大家完成技術攻關,對核心的技術選型有自己見解,能識別系統風險點,也能識別系統的優化點

在關鍵的技術難點需要攻關的時候,架構師應該衝在前頭。有經驗的架構師,應該在系統設計之初就應該預想到可能的技術難題,並提前做技術研究。所以架構師必須知識面比較廣,能夠對不同的技術選型有自己的判斷,並能對不同的技術組合做出權衡,識別各種技術選型與組合的風險,對已經執行的系統,應該持續優化,既能夠憑藉自己的經驗識別系統的優化點,也善於運用各種工具,定量化分析系統的效能瓶頸,並組織技術小夥伴一塊解決。

4、業務理解能力與一定的專案管理能力

上面說的三點,想必立志成為架構師的小夥伴都能明白。但是在技術上有追求的架構師對業務、對專案管理天生有一定的排斥感,因為這兩樣都必須和人打交道,跟人打交道對架構師來說效率低下(其實,很多架構師都偏內向,不喜歡也不善於和人打交道),不如敲程式碼那麼酣暢淋漓。所以,直覺上認為,執著於做一個架構師是不需要以上兩方面的能力,把架構做到極致、把技術做到極致就夠了。其實,技術是服務於業務的,你的使用者只有兩千人,你做個能應對兩千萬的人架構那隻能是浪費資源。對業務的理解會有助於架構師在更高層面上去理解架構,做出的架構就比較適用,後期也能夠對業務做到隨需應變。

架構師在工作中,往往會主動或者被動參與些開發管理工作,比如工作任務分配和預估專案進度,因為往往理解技術人員專長的人是架構師(或是技術經理)、架構師能把合適的技術任務分給合適的人。或者即使不是架構師來分配任務,一般專案經理也會徵求架構師的意見。比如開發了新的架構,需要給大家培訓。比如系統要和其他部門系統通訊、整合,需要跨部門的協作。各種各樣的場景會將架構師捲入一些專案管理中,從一定職業生涯規範考慮,學習或者參與一定的專案管理,能從更巨集觀的層面去看一個專案的發展,而不單單將自己侷限在技術上去看問題。

當然,架構師還要求有很強的自學能力、分析能力、發現問題、解決問題的能力。在網際網路時代,還需要寫作、溝通、培訓的能力,所謂“教是最好的學”,將自己的架構知識傳播出去,既能幫助別人,同時加深自己的理解,還能認識到這個行業裡志同道合的人

------------------------文字轉載自網路

更多備考資料和學習經驗請移步公眾號:考試學習君