點選上方 "JAVA開發大學營"關注, 置頂或星标一起學習
每天上午08點00分, 我們不見不散
導讀
努力成為架構師的你,卻連架構師的分類都不清楚,别努力錯方向了。
每日雞湯
成為架構師的路上,你秃了嗎?
責任編輯:濤哥
Java并發程式設計73道面試題及答案 —— 這也太棒了
正文
進階成為架構師是大多數開發者的夢想,但是你真的知道什麼是架構師嗎,如果你連架構師是什麼都不知道,估計你離進階架構師還有很遠的路要走。
其實架構師也有分類,這裡我們看看有哪幾種,分别需要具備怎樣的技能。同時也能讓我們找準我們自己的定位。朝着适合的架構師方向進行努力。讓我們事半功倍。
我們通常根據工作内容,一般可以劃分為四大類:
1.企業架構師EA(Enterprise Architect)
職責:
企業架構師(EA)的職責是決定整個公司的技術路線和技術發展方向。這種架構師往往是某些公司的高層管理出來實作自己的想法,創辦自己的企業時,或者某些高端的職業經理人,才會有針對性的規劃公司的技術路線與日後的發展方向。
企業架構師不一定是整個公司技術最好的人,但是他必定是整個公司最有大局觀的人。因為他的一舉一動決定了整個公司的命脈。一般的開發者想要到達這一步,需要經過長久的磨砺,而并非一朝一夕就能成為合格的企業架構師。
舉例:
假如你要建房子,我不關注你的房子到底要建成什麼樣子,但是我會幫你進行選址,同時我會規定好整棟房子的具體用途,比如說商業用途,住宅,較高價的電梯大廈樓等等。可以換算成現在網際網路大健康,大金融等方向。
建議:
一般的EA并不是廣大開發者進階架構師的首選,如果從開發者的崗位想進階架構師,建議不要一開始就嘗試走上這條路。
2.基礎結構架構師IA(Infrastructure Architect)
職責:
基礎結構架構師(IA)的工作就是提煉和優化技術方面積累和沉澱形成的基礎性的、公共的、可複用的架構群組件,這些都是一個技術型公司傳承下來的最寶貴的财富之一。
這個級别的架構師并不關注具體的業務,他們更關注的是抽象的設計方案。
舉例:
我隻負責建個一棟毛坯房,至于你們裝修成什麼樣子,那個不是我應該關注的事情,你們要在一層樓開個茶餐廳,二層樓開個商場,這些我都不關心,我隻關注我整棟樓結構的穩固,保證我整棟樓的基礎結構的穩定,公共設施是否可以複用。同時我這套房子的結構是支援你做任何方向的改變。他是用來支援我們企業架構師(Enterprise Architect)的構思與規劃的。
建議:
開發者能在這條路上走得很遠的不多,因為現在市面上能夠走上這條路的架構師通常還需要擁有特定的技術架構,來保證整個項目的落地。
一般中小型公司不會在架構師這個角色上安排兩個職位來保證業務與基礎元件的同步進行,同時對于基礎元件并不需要優化得非常細緻。是以導緻很大一部分架構師都隻是剛剛走上這條道路,就被特定的技術架構給限制了。
通常在市面上被稱為軟體架構師。不過隻要能夠到達IA這個級别,并且到達較為高深的程度,基本不用為以後是否失業而發愁,因為現在行業中缺口最大的就是進階IA。同時待遇相對其他架構師角色也較為豐厚。
3.特定技術架構TSA(Technology-Specific Architect)
職責:
特定技術架構師TSA,他們主要從事類似安全架構、存儲架構等專項技術的規劃和設計工作。
舉例:
我們的房子已經搭建完成了,但是我們整棟樓的消防安全沒有人可以做,那麼我們就需要尋找出最節省成本的方案。這個時候恰好有一個人,以前做過類似的事情,可以解決掉我整個消防安全的問題。那麼,他就是我們的TSA。
建議:
這一類架構師一般需要對某個特定的專項技術要求了解很深,對于技術的深度要求非常高。
一般情況下,他們在自己的技術能力範圍之内,業務廣度僅次于基礎結構架構師,領域專業度也僅次于解決方案架構師。算是非常吃香的一種架構師。有很大一部分開發者都會朝着這個方向所努力。
4.解決方案架構師SA (Solution Architect)
職責:
解決方案架構師(SA)的工作則專于解決方案的規劃和設計,“解決方案”這個詞在中國已經到了嚴重泛濫的程度。所謂解決方案,就是把産品、技術或理論,不斷地進行組合,來創造出滿足使用者需求的選擇。
他們一般都是從應用程式的次元,負責某個解決方案的技術架構,主要偏業務系統,關注了解業務,梳理模型,設計模式,接口,資料互動等方面。
一般市面上的公司在自己沒有研發能力或者預算不夠的情況下,就會去尋求“解決方案”的存在。
這種架構師,通常我們還可以将之稱為:業務領域專家、行業專家、資深顧問、業務架構師。
舉例:
我的房子實際上已經設計好了,但是我的設計者隻能或者說隻會将他設計成商業用途,或者隻會設計成住宅用途,這個就叫做解決方案。
建議:
這個架構師可能是開發者目标最明确也是難度最小的架構師,因為我們不需要将目光放在其他我們不需要的領域,隻會将目光放在我需要的技術實作上。
比如我可能做了8-10年的網際網路金融項目,那麼我對于金融項目的每一個元件,每一個細節點都有了很好的把控。甚至說我能拿出成型的技術方案,不需要花費過多的人力物力。
在我們實際工作中,由于我們的公司規模問題,或者營運成本問題,可能一個人需要身兼數職。我們也經常會見到另一種比較簡單的分類方式,他将架構師分為兩種
1.軟體架構師
軟體架構師基本上是TSA+IA,這也是開發者最容易突破,最可能走上的一條道路,比如JAVA架構師、DotNet架構師等等。
因為現在大部分開發者更換工作的頻率會相對頻繁,甚至可能在不同的行業,不同的領域來回進行工作的變動,但是基礎元件跟專項技術是不會變更的。
是以對于開發者來說,軟體架構師更容易進階。同時,軟體架構師更加适應工作環境的變更。
工作職責:
在一個軟體項目開發過程中,軟體架構師負責将客戶的需求轉換為規範的開發計劃及文本,并制定這個項目的總體架構,指導整個開發團隊完成這個計劃。主導系統全局分析設計和實施、負責軟體構架和關鍵技術決策的人員。
2.系統架構師
系統架構師實際上是SA+TSA,實際上對于開發者來說,系統架構師更難突破,他更傾向于面對相對應的業務場景,給出基于自身技術體系的一套成熟型的解決方案。
在細分領域上來說,系統架構師可能更加專業。但是一旦離開原本的行業,适應度一般不如軟體架構師。
系統架構師通常要求通曉軟、硬體兩方面的知識,是以它的知識體系也相對龐雜。
工作職責:
系統架構師是從系統的次元,負責整體系統的架構設計,對常見應用場景能馬上給出最恰當的解決方案,同時要對所屬的開發團隊有足夠的磨合度,能夠評估自己的團隊實作特定的功能需求需要的代價。
系統架構師負責設計系統整體架構,從需求到設計的每個細節都要考慮到,把握整個項目,使設計的項目盡量效率高,開發容易,維護友善,更新簡單等。
現在,親愛的讀者們,你們知道你們的努力方向了嗎?可以在公衆号後面留言問題 ,我每篇文章都會抽取一條留言問題進行回答。不限于技術方向哦!算是給到讀者的一些小福利。
備注:有小部分架構師定義内容來源網際網路,已經找不到原作者了,特此說明。
都看到這裡了,點贊留言分享一下嘛!!
掃碼關注最新動态
關鍵時刻,第一時間送達
- END -