推薦給程式設計師的一些書(不止是技術書)

Rico_Chow發表於2017-02-19

生活中我是一個嗜書如命的人,不管是小說還是非小說,不同型別的書我都喜歡看。不過,人在成年之後,讀書的熱情會逐漸消退,把精力投入到其他事物上。不足為奇的是,不論何種形式的書(包括電子書和有聲讀物),幾乎沒有成年人能堅持定期閱讀。我既不打算談論社交媒體如何轉移了我們的注意力,也不想站在道德高地批判一番。我只想傳達一個觀點:閱讀對一個人的職業生涯至關重要。我也有一些好書推薦給同為程式設計師的你們,希望你們能試著讀一讀。

我們最近在 Algotech Solutions 投資建設了圖書館,其中大多都是技術書籍。有些書簡直就是上帝的恩賜,它們幫助我們開拓了視野。每本書都對開發有所助益,我認為優秀的程式設計師需要認真閱讀關於以下幾個主題的書籍:

推薦給程式設計師的傳記

傳記或是自傳,是程式設計師(尤其那些追求創新的程式設計師)的靈感源泉。人類最重要的特點之一就是不必事事都親力親為,他們從他人的人生經歷的成功或失敗中吸取經驗和教訓,從而擴充他們的知識。

科技大佬們的人生經歷構成了一部部鮮活的傳記。以下是我推薦的傳記:

  • 《Steve Jobs | 史蒂夫·賈伯斯傳》(作者:Walter Isaacson),蘋果創始人的“官方”傳記。Walter Isaacson 是著名的傳記作家,這大概也是賈伯斯選擇他來的原因。
  • 《Losing My Virginity | 一切行業都是創意業:我創立維珍商業帝國的故事 》(Richard Branson 的自傳),維珍集團創始人 Richard Branson 是一個高尚風趣的人。粉絲們也喜愛 Branson 寫的其他書,他寫的每本書都體現了其人格魅力。
  • 《Elon Musk | 矽谷鋼鐵俠:埃隆·馬斯克的冒險人生》(作者:Ashlee Vance)。著名創新者和企業家的傳記對需要靈感的人來說是必讀之物。Elon Musk 年輕時經歷的艱辛和他不斷努力改變世界的壯舉無疑會給你留下深刻印象。

附:《I am Zlatan Ibrahimovic | 我是伊布:我來講述真像》(作者:David Lagercrantz 和 Zlatan Ibrahimovic)雖然這本書和其他傳記一樣都沒有涉及技術相關的主題,但如果你是那種“搖滾明星/忍者”型別的程式設計師,你絕對會喜歡這本書。即使你性格羞澀內向,你依然可以從伊布身上學會欣賞自身的價值。

至於程式設計嘛…好吧,給程式設計師的程式設計書籍

讀技術書籍最難的部分在於如何選擇。有時,晦澀難懂的理論或毫無生氣的文字會讓你對相關技術望而卻步。但是精彩的技術書籍卻能讓你沉浸其中。它讓書中主題易於理解和應用,人們很容易就能讀懂。我們通常稱之為“某某聖經”。

技術書籍(當然不僅僅侷限於程式設計方面的書籍)有一個問題在於,你很難區分它出名是由於炒作還是自身質量。因此,記住要認真閱讀一本技術書籍的評論,同時也考慮書的評分。好的技術書籍常常有可觀的讀者和評分。為了愉悅的讀書經歷,請謹慎選擇,或者你也可以從我們的推薦書籍中選取:

  • 演算法聖經:《Introduction to Algorithms | 演算法導論》(作者:Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein)
  • 人工智慧聖經:《Artificial Intelligence: A Modern Approach | 人工智慧:一種現代方法》(作者:Stuart Russel 和 Peter Norvig)通常稱為 AIMA,是許多大學的計算機課程教材之一。
  • 職業素養聖經:《The Clean Coder | 程式設計師的職業素養》如果只給全世界的程式設計師推薦一本書,我會推薦這本。它包含了許多有價值的資訊,平衡工作和生活的建議,以及真正的職業素養。
  • 設計模式聖經:《Elements of Reusable Object-Oriented Software | 設計模式:可複用物件導向軟體的基礎》 (作者:Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides)這幾位作者通常被稱為四人幫或 GoF。
  • 企業模式聖經:《Patterns of Enterprise Application Architecture | 企業應用架構模式》(作者:Martin Fowler 等)如果覺得上一本不難就看看這本吧。

推薦給程式設計師的社會學書籍

我費盡心思才想出“社會學”這一統稱,它涵蓋了心理學、經濟學、歷史和自我發展。近來這些主題的書籍數量激增,但質量一般,門外漢居多。這些書如此受歡迎是有許多原因的,其中之一就是你可以從中學習經驗教訓而不用蹈其覆轍。你可能記得我曾在傳記那一節說過上述觀點,這裡只是領域不同。下面是我們推薦給程式設計師的社會學科的書籍:

  • David and Goliath: Underdogs, Misfits, and the Art of Battling Giants》(作者:Malcolm Gladwell)書中作者認為,許多我們自認為的劣勢恰恰卻是我們的優勢。作者用淺顯易懂的語言表達了其觀點,並以現實生活中的例子予以舉證。它是創業者的必讀書籍!
  • 《Predictably Irrational: The Hidden Forces That Shape Our Decisions | 怪誕行為學:可預測的非理性》(作者:Dan Ariely)讀了這本書,你會了解人們如何下決策並且明白理性並非等式。
  • The Undercover Economist | 臥底經濟學》(作者:Tim Harford)你認為每個行為的發生(即使是那些被認為是非經濟學相關的行為)都是孤立的嗎?Tim Harford 會說服你反對這一觀點,在他經濟主導的世界觀中,任何行為都是一場決策與妥協的遊戲,彼此息息相關。遊戲理論愛好者一定會和這本書產生共鳴。
  • 《The Third Chimpanzee | 第三種黑猩猩:人類的身世與未來》(作者:Jared Diamond)這是一本關於人類早期進化的書籍,書中詳細闡述了社會和人類行為的生物學動機。我最欣賞賈 Jared Diamond 的一點是其對於事物的大局觀。就比如他另一本書,也是我的最愛:《槍炮、病菌與鋼鐵》,書中並沒有去摳不相關的細枝末節,而是用自上而下的方法闡述錯綜複雜的主題。

推薦給程式設計師的科幻小說

Robert C. Martin(人稱“Bob大叔”),全世界最出名的軟體工程師和作家之一,他在其著作《程式設計師的職業素養》中提到,他需要接收例如書籍和電影等創造性的輸入,才能支撐他輸出富有創造性的高質量程式碼。他的個人愛好?你猜對了:科幻小說。

出色的科幻小說會令你拍案驚奇,會讓你思考道德困境以及變換莫測的未來,是一類很“適合”程式設計師的書,因為程式設計師也常常思考未來的技術。在推薦這類小說時,我常常抱有防備之心,因為通常我鼓勵人們讀讀看再下結論時,他們卻開口抱怨“如果就是機器人之類的話,我並不感興趣”。以下是我讀過最棒的科幻小說:

  • The Naked Sun | 赤裸的太陽》(作者:Isaac Asimov)。其實,你隨便挑一本 Asimov 的書,都能讓你滿意。
  • 《Ender’s Game | 安德的遊戲》(作者:Orson Scott Card)哈利波特式的小說,講述了一個太空戰鬥學校的神童學生的故事,故事結尾卻是有趣的反轉。噓,別劇透!
  • 《The Old Man’s War | 來自12個星球的敵人》(作者:John Scalzi)故事情節是:在未來,老人們可以註冊加入星際護衛隊。本書情節一波三折,會讓你心醉神迷。需要提示嗎?好吧,你可以先問問自己:“75歲的老頭怎麼打太空戰?”
  • 1984》(作者:George Orwell)經典讀物之一,書中描寫了在悲慘的未來世界,人們的一舉一動都在嚴密監控之下,可以說是這本書開創了反烏托邦流派。不僅書中假設的前提有趣,而且本身的敘述手法也很出色。

怎麼樣?如果你想要在這裡展示其他型別書籍,請在評論中告之我們。

相關文章