阿里十年架構師用一張圖告訴你什麼是系統架構師作爲架構師應該掌握哪些技術?

這張圖從架構師的綜合能力、崗位認識、崗位職責等方面,清楚的畫出了作爲一個架構的基本準則。人人都想成爲架構師,可作爲架構你達到了上面的要求了嗎?

系統架構師是個神奇的崗位。爲什麼這麼說,在一個人數不多的小公司,你可能什麼都需要做,身體力行,做總監兼架構師或者是主管/高級開發兼架構師;在大公司,你可能只負責某個平臺的架構,某些中間件的架構,你就是某一類的架構師。

無論怎麼分,作爲一個架構師,你必須具備以下幾個特性。

技術能力

技術能力,不用置疑肯定是最重要的。技術能力弱的架構不是一個好架構。所以,你需要知道所有主流技術的基本原理、應用場景,及快速解決問題的能力。

所以,架構師必須要有見識,所需知識面肯定是要不斷拓展的。你需要清楚在什麼樣的場景用什麼樣的技術比較合適,並知道可能存在什麼樣的風險。來了需求,你腦袋是空的,不知道用什麼技術這是最可怕的。

架構能力

這個可以表現爲抽象能力、整體規劃能力、及設計能力。你需要照在業務的角度進行系統分解、技術選型、架構搭建,以及規範制定。架構出來了至少可以滿足近幾年的發展,或者可以很方便對現有架構進行擴容。

有人說架構不需要懂業務,我面試過的就有明確表示不做業務架構。當然有方面的架構師,如中間件架構師,運維基礎設施架構師等。但一般的後端架構師都是需要了解業務,不理解業務你如果進行系統分解,服務劃分,及根據不同業務作出不同的架構?

技術都是爲業務服務的,不站在業務的角度設計架構,那架構就是空談。

溝通能力

這個看起來不是最重要的,其實也非常重要。作爲一個優秀的架構師,你需要清楚的知道客戶的需求,需要不斷和需求人員進行溝通,以達到客戶真正的目的。

不論是不是架構師,任何一個職場人,提高自己的溝通表達能力無疑是不可或缺的。有一句話怎麼說的,領導就喜歡拍馬屁的。做領導的大多不是技術特別牛的,但溝通能力肯定是一流的。

這3點肯定是架構師的核心,但不一定是每個架構師的標準。

國內做程序員,30歲左右就得轉型,不然就會被嫌棄。不管是不是如此,大環境就是這樣,程序員你能幹到35已見天花板。

所以,程序員必須轉型,管理職位數量有限,對性格、溝通表達能力有要求。所以轉型架構師是首選,大家一起加油吧。

作爲架構師應該掌握哪些技術?

一、閱讀源碼

閱讀、分析源碼是程序員最基本的碼代碼能力也是碼農的根本所在,學習經典源碼中所用到的經典設計思想及常用設計模式,能夠幫你瞭解大牛是如何寫代碼的,從而吸收大牛的代碼功力。在阿里面試中,MyBatis,Spring等框架的底層原理是經常會被問到的。

二、分佈式架構

阿里巴巴有很多大團隊,這種大團隊裏有很多小團隊,到小團隊之後,做的業務都不相同,如果想立足成爲一線互聯網公司中的萬能選手,最主流的分佈式架構中有很多知識都是必須要去了解與學習的。並且在阿里面試過程中,面試官會問到實際應用場景的問題:比如微服務化、用戶量、併發量、業務複雜度以及可擴展程度等,這裏不多贅述。本屌提供一個分佈式架構的學習思路也是自己目前還在學習中的體系:

三、微服務架構

微服務是現在互聯網架構技術中最火熱的話題之一,也是本屌目前正在學習研究的方向。在阿里面試過程中,面試官很少會問到關於微服務相關的問題。但作爲一名開發者,一名有技術夢想的程序員微服務架構是現在必須要去了解的主流技術,本屌給自己制定了一個微服務技術的學習計劃:

四、併發編程

併發編程幾乎是所有互聯網公司面試必問問題,併發編程是Java程序員最重要的技能之一,也是最難掌握的一種技能。它要求編程者對計算機最底層的運作原理有深刻的理解,同時要求編程者邏輯清晰、思維縝密,這樣才能寫出高效、安全、可靠的多線程併發程序。目前網上沒有系統的全面的併發編程學習大綱,我搜集了很多資料總結出來一個最全面的學習大綱:

五、性能優化

性能一直是讓程序員比較頭疼的問題。當系統架構變得複雜而龐大之後,性能方面就會下降,特別是阿里巴巴這樣的一線互聯網公司最爲注重,因此想進入阿里,性能優化一定是要去深入學習與理解的一環,本屌在性能優化這一塊雖然不能算專家,也可以自信的說是精通了(注意:自己的簡歷上一定不要寫精通xxxx,要不然面試官會懟死你。好在本屌這一塊還算自信)

六、 Java開發工具

一名開發人員必須有適合自己的兵器,也就是工慾善其事必先利其器,不管是小白,還是資深開發,都需要先選擇好的工具。下列是我自己常用的開發工具:

七、雙十一項目實戰

無需贅述,如果沒有實戰經驗,如何成爲一名架構師?

面對這麼多得技術點同時給大家整理了一這個學習大綱,希望我們一起進步早日成爲架構師迎娶白富美;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章