1. 程式人生 > 其它 >剛哥談架構 (五)- 推薦給架構師和工程師讀的書

剛哥談架構 (五)- 推薦給架構師和工程師讀的書

“回日樓臺非甲帳,去時冠劍是丁年”

今天收到豆瓣的2019年的總結,發現自己已經在豆瓣渡過10個春秋。今年讀了69本書,有很多書非常棒。今天我就給各位架構師,程式設計師,碼農推薦一些我覺得對工作和職業生涯都很有幫助的書籍。


專業技術類

IT專業類的書不是我今天要推薦的重點,因為這些書大部分大家都很熟悉了,推薦一些相對比較冷門的。

    • Designing Data-Intensive Applications https://book.douban.com/subject/26197294/

      這本書是分散式設計的經典,講述的非常的細緻和系統,來龍去脈,由淺入深。豆瓣評分9.7可謂好評拉滿。對於從事資料系統開發的架構師和程式設計師是必讀書籍。
    • The Master Algorithm 終極演算法 https://book.douban.com/subject/26575738/

      無論你是不是從事機器學習行業的,這本書都值得閱讀。它可以幫助你梳理對機器學習諸多演算法的認識,構建一個完整,系統的體系結構。中文版翻譯不如英文原版。

    • A Philosophy of Software Design https://book.douban.com/subject/30218046/

      本書是我的同事在斯坦福的博士生導師John Ousterhout的作品,不厚,但是濃縮的都是精華。本書從軟體設計應該簡單,避免複雜為主要觀點出發,介紹了軟體設計的一些核心的指導原則和思考。

      問題解決和系統思維類

      架構師首先是工程師,而工程師的主要責任是要解決工程問題。解決問題的一個核心思維就是系統思維。

    • 你的燈亮著嗎?-發現問題的真正所在 https://book.douban.com/subject/1135754/

      該書是問題解決類圖書的經典之作,書中有幾十個有趣的故事帶你領悟問題解決之道。
      書中關於隧道提醒關燈的問題從:

      “如果是白天,而且車燈亮著,那就把車燈關上;
      如果是晚上,而且車燈關著,那就把車燈開啟;
      如果是白天,而且車燈關著,那就讓它關著;
      如果是晚上,而且車燈亮著,那就讓它亮著。”


      “你的燈亮著嗎?”


      有如我們軟體架構從繁到簡,涅槃重生的過程。

    • 質量·軟體·管理 三部曲 https://book.douban.com/subject/1409274/

      軟體諮詢大師傑拉爾德·溫伯格(Gerald M. Weinberg)是我非常喜歡的作者,是軟體領域最著名的專家之一,美國計算機名人堂代表人物。除了《質量·軟體·管理》 三部曲,系統思維/一階測量/協調行動,他也是《你的燈亮著嗎》,《程式開發心理學》《諮詢的奧祕》《成為技術領導者》《系統化思維導論》等書的作者。很遺憾大師因為癌症在去年離世了,但是閱讀他的書籍什麼時候都不算晚。

    • 學會提問 https://book.douban.com/subject/1504957/

      批判性思維聖經,出到第十版(今年原書出了第十一版),說明本書是如此的受歡迎。

    • 失控 https://book.douban.com/subject/5989373/

      《失控》作者是《連線》雜誌的創始主編凱文·凱利。這本書所記述的,是他對當時科技、社會和經濟最前沿的一次漫遊,以及藉此所窺得的未來圖景。書中提到並且今天正在興起或大熱的概念包括:大眾智慧、雲端計算、物聯網、虛擬現實.這本書很厚,但是讀起來很吸引人。最讓人驚歎的是成書於1994年,那一年我剛上大學,而凱利已經預言了未來20年的科技動向。我最為認同的是去中心化的網路的概念。

    • 複雜 https://book.douban.com/subject/6749832/

      《複雜》內容簡介:螞蟻在組成群體時為何會表現出如此的精密性和具有目的性?數以億計的神經元是如何產生出像意識這樣極度複雜的事物?是什麼在引導免疫系統、網際網路、全球經濟和人類基因組等自組織結構?這些都是複雜系統科學嘗試回答的迷人而令人費解的問題的一部分。
      理解複雜系統需要有全新的方法.需要超越傳統的科學還原論,並重新劃定學科的疆域。藉助於聖塔菲研究所的工作經歷和交叉學科方法,複雜系統的前沿科學家米歇爾以清晰的思路介紹了複雜系統的研究,橫跨生物、技術和社會學等領域,並探尋複雜系統的普遍規律,與此同時,她還探討了複雜性與進化、人工智慧、計算、遺傳、資訊處理等領域的關係。
      我之前的文章說過,軟體架構的核心是消除複雜性,閱讀本書,對於理解複雜性的普遍規律很有幫助。

    • 萬萬沒想到/高手/智識分子
      https://book.douban.com/subject/25986341/
      https://book.douban.com/subject/27101562/
      https://book.douban.com/subject/26692468/

      萬維鋼在得道開闢有訂閱專欄《萬維鋼·精英日課》,他的書主要取材於全球經濟、社會、科技、哲學界的最新思想突破,而且用中國人習慣的表達方式分享給你。

    • Scale https://book.douban.com/subject/27045416/

作者針對生物和社會組織,使用科學的方法,以資料分析的方式,推匯出規模化擴張的一般規律。
當今軟體架構的一個主要目標就是建立可以上規模的應用,閱讀本書,讓你理解規模的本質。

管理商業類

架構師不算一個管理職位,更多是個技術崗,往往架構師並沒有團隊管理的職責。但是按照德魯克的說法,如果知識工作者要對企業的經營作出決策,那麼他就是個管理者。其實架構設計和軟體開發者每天都面臨著許多的決策,而這些決策或多或少的影響這軟體企業的經營,無論你是決定一個變數命名這樣的小事,還是要採用雲或是微服務這樣相對重要的決策。

    • 卓有成效的管理者 https://book.douban.com/subject/1322025/

本書不算是冷門書,如果你一定要看一本管理類的書籍,我推薦這本。《卓有成效的管理者》的基本觀念:對組織負有責任,能影響組織經營成果的人,就是管理者。管理者,就必須卓有成效。卓有成效是可以學會的!

    • 華杉講透孫子兵法 https://book.douban.com/subject/26354200/

      孫子兵法的大名大部分中國人都熟悉,但是華杉的解讀非常的到位。在本書中,抓住兵法根本思想,通過155個經典戰例,將《孫子兵法》的原意剖析得詳盡透徹。同時援引2000多年來,解讀《孫子兵法》的傳世注家曹操、杜牧等11人的註解,從不同角度還原兵法原意。
      如果將軟體開發比做打仗,那麼敵人就是軟體開發中面臨的各種問題,技術宅,陷阱。如何做到不戰而屈人之兵,或者百戰無傷,希望本書能帶給你答案

    • 重來 https://book.douban.com/subject/5320866/


《重來》的作者編制並建立了網路開發框架Ruby on Rails,本書呈現的是一種更好、更簡單的經商成功之道。讀完這本書,你就會明白為什麼計劃實際上百害而無一益,為什麼你不需要外界投資人,為什麼將競爭視而不見反倒會發展得更好。事實是你所需要的比你想象的少得多。你不必成為工作狂,你不必大量招兵買馬,你不必把時間浪費在案頭工作和會議上,你甚至不必擁有一間辦公室。所有這些都僅僅是藉口!如果尤其適合在創業公司做技術的架構師和程式設計師。

哲學數學科普類

    • 哲學家們都幹了些什麼? https://book.douban.com/subject/6425061/

做任何事情,做到最後,你會發現哲學在向你招手。我看過不少哲學類的書籍,很多很難讀懂,這本書生動有趣,雖然可能不如其它的哲學類書籍專業,但是如果一本書不能吸引人閱讀,那麼他的價值就很難體現。瞭解一下哲學史,對於你的架構設計或者軟體開發絕對是很有幫助的。

    • 公正 https://book.douban.com/subject/5408882/

      本書源自桑德爾教授的哈佛大學公開課,《公正-該如何做才好》。強烈推薦架構師或者有志成為架構師的小夥伴閱讀。架構和軟體設計每天都要面臨很多決策,本書(課)就是教會你如果形成自己的價值觀,定義什麼是公正,什麼才是正確地事?

    • 天才引導的歷程-數學中的偉大定理 https://book.douban.com/subject/20453160/


      這是一本講述數學史的書,一般的數學史都比較枯燥無味,但是本書把數學故事講述的非常生動有趣,如果你們家有小朋友不喜歡數學,建議你可以帶他一起閱讀本書。數學是諸多理論的基礎,作為電腦科學領域的架構師,讀一讀數學史絕對有好處,何況本書非常吸引人閱讀。

    • 上帝擲骰子嗎 https://book.douban.com/subject/3228668/

最後推薦一本我的最愛,曹天元的這本量子力學史話。同樣推薦標準是有趣!在大資料和機器學習時代,概率論成為了主導的理論思想,它同樣影響著微觀世界中的量子理論。

不存在一個客觀的,絕對的世界。唯一存在的,就是我們能夠觀測到的世界。物理學的全部意義,不在於它能夠揭示出自然“是什麼”,而在於它能夠明確,關於自然我們能“說什麼”。


這份書單是我精心挑選出來的,希望能出現在軟體開發人員或者是架構師小夥伴的2020年書桌上,它們以非技術類的圖書為主,希望能讓你站在一個更高的高度看待這個世界,如果你有什麼好書,也歡迎推薦給我!