tft每日頭條

 > 生活

 > 架構師速成思路

架構師速成思路

生活 更新时间:2025-01-10 18:24:16

成長為軟件架構師不是一件容易的事,這篇文章列舉了架構師需要學習的技術儲備,給出了成為軟件架構師的路線圖,幫助有志于在架構領域成長的同學可以明确學習的方向。

架構師速成思路(架構師成長路線圖)1

軟件架構師在軟件開發團隊中扮演着高級的角色,這一角色需要時間和經驗的積累,需要跨職能的技能和知識。除了技術方面的挑戰,還要求架構師具備良好的社交能力。在開始考慮成為軟件架構師的計劃之前,我們先來看看典型的軟件架構師類型:

  • 解決方案架構師/軟件架構師(Solution Architect/Software Architect) —— 低級架構師,通常由之前或現在的高級軟件工程師擔任,負責與業務人員溝通産品的技術設計和架構,開發人員通常都可勝任。
  • 企業級架構師(Enterprise Architect) —— 高級架構師,把控産品“大局”,但很少關注細節。這個職位大多出現在非常複雜的大型軟件産品中,有時甚至直接彙報給CTO。
  • 領域架構師(Domain Architect) —— 這是比較流行的軟件架構師類型,在很多公司都可以看到。這個職位的目的是成為特定用例或技術棧的架構師。例如:雲架構師負責特定的雲供應商,數據架構師負責數據庫的操作、設計、協調,移動架構師負責軟件産品的移動版本,等等等等……
  • 業務架構師(Functional Architect) —— 這類架構師主要負責業務方面,對技術世界了解較少,大多是經驗豐富的業務分析師,設計并領導軟件産品的業務邏輯。

我們可以進一步擴展這個列表,每個公司可能對某個特定職位有不同的名稱。上述給定的軟件架構職位的角色和職責可能因公司而異,但本質是相同的。請看下面的圖表,以便更好的理解不同架構師角色在技術/業務技能和知識方面的關系。

架構師速成思路(架構師成長路線圖)2

業務與技術關系圖

總體規劃

到目前為止,有一件事應該非常清楚: 除了那些真正來自業務背景的人,軟件架構師通常是超級高級開發人員。下面是軟件架構師應該熟悉的不同主題領域:

  1. 數據結構和算法 —— 基本的編程原理對軟件架構師來說應該不成問題,包括數組、隊列、棧、鍊表、不同類型的樹、圖等數據結構,軟件架構師不僅應該熟悉,而且應該能夠識别出在什麼時候應該使用哪個數據結構。優秀的軟件架構師應該知道不同的算法,如搜索、排序、遞歸、動态規劃等。在日常生活中,沒有架構師會從頭開始編寫“合并排序”算法,或者發明新的數據結構。
  2. 技術棧 —— 無論是後端還是前端,軟件架構師必須非常了解當前使用的技術棧。學習特定編程語言的語法是最簡單的方法,但需要時間積累經驗。不同的庫和框架也是值得了解的寶貴資産。
  3. 簡潔的編碼 —— 讓軟件系統工作并不是軟件架構師的最終目标。每次評審代碼時,他/她首先想到的問題是: 我能使這段代碼更高效嗎? 我能讓代碼占用更少内存嗎? 簡潔的代碼标準是否被正确應用? 我可以使用不同的OOP技術嗎? 《代碼整潔之道》無疑可以幫助我們提高重構技能。
  4. OOP —— 面向對象編程幫助我們可以構建更靈活、高效、可讀性高的軟件系統。有經驗的軟件架構師會經常使用這些技術(如果技術堆棧合适……)。
  5. 軟件設計模式 —— 說到面向對象,不應該忘記不同的設計模式的重要性,它們首先是由GoF[2]收集和引入的。了解這些設計模式肯定會幫助我們更好的利用軟件系統的面向對象設計。
  6. S.O.L.I.D.原則 —— 這一組件原則是軟件組件設計中需要考慮的基本技術。有經驗的軟件架構師如果掌握了這些原則,可以很快識别出代碼中的違規行為。
  7. 高内聚/低耦合原則 —— REP、CRP、ADP等原則對于軟件架構師來說非常重要,尤其是在構建、整合/解耦插件時,這些技術可以處理更高級的設計。
  8. 系統設計 —— 有很多軟件體系架構模式,如:主從、客戶端-服務器、微服務、MVC、單向體系架構等,需要根據不同的前後端項目做出選擇。當然不太可能有人能夠掌握所有這些模式,但是根據項目的不同,軟件架構師應該精通底層設計,領域驅動設計可以作為最基本的出發點。
  9. 文檔 —— 這是軟件架構師日常工作中的重要環節。繪制不同的UML圖,ARC42文檔是這個職位不可避免的工作。這方面有很多工具,如:
  • draw.io[3] —— 簡單易用的免費工具
  • PlantUML[4] —— 提供Eclipse、Intellij等IDE插件,可以通過腳本繪圖,非常有用,也是我最喜歡的工具。
  • yEd[5] —— 很方便的工具,可作為桌面應用程序運行。
  • MS Visio[6] —— 擁有豐富的功能,但不是免費的!
  1. 證書 —— 對于軟件架構師來說,沒有太多的認證選擇,但國際軟件架構資格認證委員會(iSAQB®)提供了Certified Professional for Software Architecture(CPSA®)認證計劃,該認證得到全球認可。

正如從上面的列表中可以看到的那樣,成為軟件架構師需要付出時間和精力,但這絕對是可行并且值得的:)。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved