架構師之路,我看過的三本書,高分!

之前我寫過幾篇架構師、架構設計相關的文章。說實話,想通過幾篇文章就把架構師的方方面面說明白,挺難的。

這可能需要一系列的文章,今天就給大家安排了這篇文章。

很多程序員都有和下面類似的困惑:

爲什麼很多程序員成不了架構師? 高級程序員和架構師之間有什麼區別?

我認爲,架構師和高級程序員最主要的區別在於,兩者之間的思想維度上。

我舉個例子,假如現在有個需求:公司想要做一套直播賣貨的系統。

產品需求給出來了,在我成爲架構師之前,作爲程序員的我會怎麼想?

我的想法可能是最簡單直接的:

  • 需求中的禮物打賞如何實現
  • 是不是得有房間
  • 房間的邏輯是如何實現的
  • 滾屏彈幕該怎麼落地
  • ……

也就是說,作爲程序員,我的第一反應是:業務如何轉化爲技術,各種業務功能是如何用技術實現的。

那麼,在我做過架構師之後,我會怎麼想呢?

如果是我牽頭負責這個,除了這些業務轉成技術的問題,我還需要思考如下問題:

  • 架構用單體還是微服務
  • 通信方式都有哪些
  • 中間件選哪些比較好
  • 普通存儲和多媒體存儲該如何規劃
  • 應該選什麼樣的架構風格
  • 可靠性,彈性,可用性該怎麼保障
  • 開發成本、部署成本、維護成本
  • 成本與系統性能的折中
  • ……

以上,只是架構師典型思考的幾個宏觀問題。

其實,在一套系統中,架構師不僅僅只是思考這些宏觀問題而已。更會深入細節,去解決各種層次的技術難題。

回到直播問題上,架構師還必須去解決一系列技術難題,比如:

  • 直播的卡頓問題
  • 通信協議的優化問題
  • 各種中間件的優化問題
  • 存儲的一致性問題

總的來說,一名程序員,他的思維往往是自下而上的,就是先思考功能實現,再根據功能實現去理解整個系統的運行機制。

而一名架構師,他的思維往往是自上而下、自下而上相結合的。

他本能的就會先去想系統的架構,根據系統的架構,再去根據架構的雛形,去根據各個業務定出業務模塊之間的通信方法,再根據通信方法去理解各個業務模塊的耦合,去想着一些代碼實現難題,最後去完整的理順整個系統的技術實現。

所以,一名程序員想要成長爲一名合格的架構師,必須經過思維的轉變。

而這種轉變,需要多讀一些好書,讓這些書中的知識,來對個人的思維進行一次大清洗,從而使得這種轉變更加容易和更加準確。

我在這裏想推薦 3 本書,這 3 本書能讓程序員們對架構師的工作先有個初步的瞭解,從而讓他們能對架構的思維略窺門徑。

1.《架構師修煉之道》

要轉成架構師思維,首先得知道架構師是如何思考問題的,當業務人員給出具體的需求之後,架構師們是如何根據需求去做對應的設計和分析的。

因此,我推薦先可以看看《架構師修煉之道》這本書。

這本書的英文版我其實也讀過,自認爲裏面的所思所想,確實是我做架構時都考慮過的事情,甚至裏面提及的一些思路,我自身都沒考慮過。

這本書,我認爲可以作爲程序員轉架構師的第一本書:

它起碼會提醒程序員,從上到下思考系統架構,到底是怎樣的一個思路。

瞭解了架構師是如何從上而下的思考和設計系統架構的,初步對架構師的思維有了些許印象後,就需要找個師傅能全面帶你一把,能通過走一遍架構師的工作流程,去開始嘗試架構師工作入門,去通過實踐,一點點的讓這些思維形成習慣。

2.《從零開始學架構》

而這個師傅我認爲是《從零開始學架構》這本書。

這本書讀起來非常快,讀的也很過癮,是我看到的最貼近中國架構師日常實踐的書。

書裏面對架構師從設計到經常用的模式,以及對應的理論都做了介紹。

尤其是架構設計中的一些重要的大坑,和架構師重要的取捨思想都做了清晰的介紹,非常適合幫助實踐入門,對程序員的技能提升有肉眼可見的幫助。

書的作者李運華還在極客時間出了對應於這本書的課。前幾天有讀者在羣裏問這門課,我當時還沒反應過來,只是覺得名字耳熟,寫這篇文章的時候纔想起來。

不過,我本人沒訂過他的課,聽同事講,說的不錯,和他寫的書形成了有效的互補。

3.《Thinking Architecturally》

我前面說的兩本中文書,缺少了很重要的一部分,就是

架構師是對新技術是如何調研和學習的。

架構師引入新技術,也是架構師工作很重要的部分。

這方面的書,我讀過的極其出色的一本就是《Thinking Architecturally》。

只是可惜這本書是英文書。不過,我始終認爲,作爲 IT 行業的程序員,英語還是重要的,國內引進的優秀技術書籍畢竟有限,很多優秀的書籍因爲語言問題,從而錯失品鑑的機會,非常可惜。

這本書介紹了怎麼評估新工具、新技術,包括新技術引入後的一些注意事項,介紹的都非常詳細。

可以說,從我讀過這本書以後,看新技術、學新技術、引入新技術都有了堅實的理論基礎。不僅如此,讀了這本書以後,我甚至引入新技術後,風險的預估能力都提升了非常多。

而且更難得的是,這本書寫的十分通俗易懂,也不需要太多的技術門檻。也強烈推薦入門閱讀。

以上 3 本書,我認爲對一名打算將來進階成爲架構師的程序員,作爲入門的引導,以及尋找後面努力的方向是非常足夠了。

要知道,架構師不僅僅是個工作,同時也代表着各種各樣的更高階的技術能力,而要提升能力之前,先擁有一套全局的架構師思維,知道架構師都做什麼事情,從而能得到努力前進的方向,是極其重要的第一步。

邁出這一步之後,你就會明白,什麼架構模式、架構設計、各種原理,都是以架構師的思維爲基礎的工具。

希望大家能把 3 本書好好學一遍,把通往架構師的路走的更加堅實。

原創不易,希望得到你的三連支持

ps. 感謝你看到最後,有驚喜!

我特意找了前兩本書的電子版,如果想獲取,可以掃下圖的碼,關注後,在公衆號後臺回覆:架構師

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