成為一名架構師得學習哪些知識

來源:南京北大青鳥? ????|???? 發(fā)布時間:2019-12-24 16:23? ????| 作者:南京北大青鳥小編? ????| 閱讀:

  什么是架構師?

  架構師英文 architect,這個詞源于建筑學。軟件工程當中的架構師和建筑工程當中建筑師有許多相通之處,都是負責「產品」宏觀的架構設計。

  在一個團隊里,架構師充當了技術 Leader 的角色,不僅要完成項目的整體設計和規(guī)劃,還要帶領技術團隊一起解決實際問題,攻克技術難點,使得軟件的設計、開發(fā)、測試、發(fā)布流程得以順利完成。

怎樣才能成為架構師?

  1. 良好的溝通能力

  架構師不只是低頭做技術,更需要協(xié)調指揮團隊內的成員,也需要跨部門和產品、運營、項目經理等人員做及時有效的溝通,所以溝通能力是必不可少的。

  2. 業(yè)務的理解

  拋開業(yè)務談架構就是不正經。這一點對應用架構師來說尤其重要。只有對業(yè)務有了充分的理解,才能對項目的設計和擴展做出合理的規(guī)劃。

  3. 技術的深度和廣度

  有一句話說得好,將軍就是更好的士兵。架構師作為程序員中的將軍,首先需要有足夠的技術深度,同時需要廣泛了解行業(yè)內的主流技術,以便更好地設計架構和技術選型。

北大青鳥軟件學校

架構師都做些什么?

  1. 架構設計

  架構師,顧名思義,職責就是在軟件設計階段,做好軟件「骨架」的設計。架構師需要把產品的需求翻譯成軟件工程的設計文檔,確定各個系統(tǒng)與模塊的邊界,評估系統(tǒng)的量級。

  2. 技術選型

  從前端到后端,從緩存到數據庫,面對為數眾多的第三方組件,架構師需要作出合理的選擇。

  前端頁面選擇模板引擎還是動靜分離?服務端選擇 Java 還是 Go?

  服務治理選擇 Dubbo 還是 Spring Cloud?

  消息隊列選擇 ActiveMQ 還是 Kafka?

  分布式緩存選擇 Redis Cluster 還是 Codis?

  數據庫選擇 MySQL 還是 Oracle?

  全文檢索選擇 Solr 還是 ES?

  技術沒有好壞之分,關鍵看是否適用于公司的業(yè)務場景。

  3. 攻克技術難題

  架構師不只需要關注宏觀的設計,也需要具有攻克技術細節(jié)的能力。在團隊開發(fā)過程中遇到難以實現和優(yōu)化的技術問題時,架構師需要發(fā)揮技術優(yōu)勢,解決系統(tǒng)的疑難雜癥。

  4. 技術人員的管理和指導

  架構師不只是一個技術大牛,也應該是一個好的管理者,在工作中需要把較大的項目和需求拆分一個個 Story,依照每個人的情況分配給研發(fā)團隊的成員,并且在必要的時候進行技術上的培訓指導。

  5. 制定技術規(guī)格說明

  架構師在項目開發(fā)過程中,是技術權威。他需要協(xié)調所有的開發(fā)人員,與開發(fā)人員一直保持溝通,始終保證能夠依照它的架構意圖去實現各項功能。

  6. 管理非功能性需求

  滿足需求是項目開發(fā)和架構設計的根本,而管理非功能性需求則是項目的升華。

  在公司從 0 到 1 的創(chuàng)業(yè)階段,開發(fā)人更關注的是功能性需求,往往一個簡單粗暴的 MVC 項目就可以搞定一切。當業(yè)務量級逐漸增大,用戶需求逐漸多樣化,非功能性需求的重要性就逐漸顯現。

  非功能性需求有很多,比如:性能、可擴展性、可用性、可監(jiān)控、靈活性、可維護等方面。

  架構師與開發(fā)人溝通的重要的形式是技術規(guī)格說明書,它可以是UML視圖、Word文檔,Visio文件等各種表現形式。通過架構師提供的技術規(guī)格說明書,保證開發(fā)人可以從不同角度去觀察、理解各自承擔的子系統(tǒng)或者模塊。

  看完這些,對于架構師還有什么疑問嗎?對于這樣一個薪資前景都非常可觀的職業(yè),還等什么呢?有興趣就行動起來去學習吧!


分享到:
文章標題:成為一名架構師得學習哪些知識文章鏈接: http://www.fumanpharma.cn/news/chwt/84.html 本文內容、圖片由互聯網用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發(fā)現本站有涉嫌抄襲侵權/違法違規(guī)的內容, 請發(fā)送郵件至2353260942@qq.com 舉報,一經查實,本站將立刻刪除。互聯網教程 寵物知識(如需投稿聯系管理員開通!)