Categories
程式開發

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解


俗話說:“不想成為架構師的程序員,只配叫碼農。” 架構師不止是一個技術崗位,也是程序員職業修煉路程中需要達到一種“武功境界”。

為什麼說研發團隊中的每個人都應該了解一些架構知識,甚至親自參與架構的相關工作?

首先,我們先從宏觀上說一說架構師的職責:

1. 需求分析,規劃全局。作為一名架構師需要了解市場、了解產品,有全局意識。可以確立關鍵需求、為團隊指明方向。

2. 架構設計,提供配套方法論。指明方向後,需要確保團隊在一套標準方法下執行任務,並且每個人都有清晰的任務指導。

3. 功能設計,將計劃落地,真正實現技術驅動業務。

從這些職責我們可以看出,成為一個優秀的架構師,需要具備很多能力,在學習架構知識的過程中,研發人員也可以提高以下幾方面的能力:

1. 思維能力:良好的抽象思維、分治思維、復用思維和迭代思維。這些能力直接決定了你能解決問題域的複雜性和規模大小。

2. 業務需求理解力:能很好地理解業務需求,能針對業務特點設計好的架構。無論是架構師還是其他職位的研發人員,善於理解業務需求,可以幫助你從技術領域走出來,站在更高的角度去找到技術和業務之間的平衡關係。

3. 豐富的編碼經驗:像抽象、分治、復用這些能力,都需要大量的編碼練習才能掌握;另外保持一定量的編碼經驗也有助於驗證架構設計。

4. 良好的溝通能力:架構師需要溝通確認需求,需要讓團隊理解架構設計。其實在團隊中無論哪個職位都需要和他人溝通,掌握了溝通能力,也有利於團隊協作。

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解 1

想學習架構知識、成為好的架構師,沒有什麼捷徑,你需要比普通程序員付出更多的努力,積累經驗、拓展視野、深度思考。有意識地培養自己的架構師思維,心有大局觀,從而能理解架構設計,能寫出好的程序。

正確的努力方式有助於我們更快、更好地學習架構知識、實現成長進階。

在思想上,首先需要跳出當前的小模塊,站在系統整體的角度來考慮問題。其次,不僅要從技術的角度思考問題,也要從業務的角度思考問題。最後,要平衡現有資源,尋求最優解。

在行動上,最好的方法是從實戰中學習。可能大部分技術人平時工作對架構設計的要求不高,沒有特別好的實踐機會。這就很難把了解到的一些架構原則變成自己真正的能力。所以,這就要求我們找到系統性學習架構的方法。而不是隨便找本書,上網搜搜網站就可以,這樣學習到的知識比較碎片化,沒有系統性,很難循序漸進地學習架構。

在這裡,推荐一個福利:極客時間「架構師系列課程」面向企業免費開放啦,你可以召喚自己研發團隊的小伙伴一起來學習,每人都可以領3門課。架構師系列包含18門體系化的課程,超過29萬用戶已加入學習。導師們精心規劃了學習成長路徑,由淺入深,層層遞進,高效進階。從初級架構師到高級架構師,都能找到適合自己學習的課程,點擊此處免費領課>>>

初級架構師成長指南

對於初級架構師來說,需要學會獨立完成一個系統的架構設計,可以是從0到1設計一個新系統,也可以是將架構從1.0重構到2.0。

初級架構師最主要的是形成自己的“架構設計方法論”,方法有很多,比如訂閱專欄,閱讀系統知識書籍。也可以研究比較成熟的系統架構設計,學習架構設計原理和思想。在此基礎上,要根據所學知識,分析自己團隊的架構設計優缺點,嘗試重新設計、重構方案。

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解 2

中級架構師成長指南

對於中級架構師來說,需要學會完成複雜系統的架構設計,包含高性能、高可用、可擴展、海量存儲等複雜系統,例如設計一個和Kafka性能匹敵的消息隊列系統、將業務改造為異地多活、設計一個總共100人參與開發的業務系統等。

中級架構師開始接觸系統複雜度高的架構設計,最關鍵的是“技術深度和技術理論的積累”,例如:

  • 技術理論:CAP、BASE 是異地多活的設計理論基礎、Paxos 是分佈式一致性的基礎算法等。
  • 技術深度:Kafka 用磁盤存儲還能做到高效是因為磁盤順序寫;Disruptor 高性能是結合 CPU 預讀取機制、緩存行、無鎖設計等基礎技術等。

也許有一些技術理論是不容易理解的,也很少有機會應用。但在這個階段學習這些,可以為未來打下良好的基礎,在面對更複雜的系統時,可以加深理解,很多時候就是幾個關鍵技術細節決定整個架構設計的成敗。

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解 3

高級架構師成長指南

成長為高級架構師需要 10 年以上時間,其典型特徵是“創造新的架構模式”,高級架構師與中級架構師相比,典型區別在於“創造性”,高級架構師能夠創造新的架構模式,開創新的技術潮流。

列舉幾個可能誕生創造性架構的背景:

  • 複雜的業務場景:像阿里雙十一、谷歌大數據、Facebook 的海量用戶等,業務場景越複雜,給技術帶來的挑戰更大,更有可能產生創造性的技術突破。
  • 強大的技術團隊:技術實力的支撐是很重要的,想突破首先要有強大的技術實力和團隊配合。
  • 創新精神:創造性的東西往往需要投入大量的人力、物力、時間,所以要投入足夠的資源、有創新精神。

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解 4

企業學習福利

時間進入 2020 年以後,就成了所有人的 Hard 模式,世界艱難前行,極客時間也是一樣。和我們一起往前走的還有我們的企業用戶,我們希望自己的產品能為研髮型團隊的企業夥伴重新賦能。除了上面介紹的架構領域課程免費開放外,極客時間全部976門課程目前已全部向企業免費開放,點擊此處為員工領取雙重福利。

為什麼說研發團隊中的每個人都應該學習架構知識?這4個優勢你必須了解 5

活動說明

1.符合活動條件的企業可為每位員工雙重福利:

  • 極客時間 「3 門課程可選包」,可在專欄、視頻課、微課中任選3門課學習30天。
  • 極客時間「每日一課」30 天會員,暢學該模塊下的 850+ 個視頻。

2.企業需註冊「極客時間企業版」並綁定10名及以上員工,即符合活動條件。

3.本次活動有效期截至 2020 年 5 月 29 日。