阅读对一个人的职业生涯至关重要。我也有一些好书推荐给同为程序员的你们,希望你们能试着读一读。有些书简直就是上帝的恩赐,它们帮助我们开拓了视野。每本书都对开发有所助益,我认为优秀的程序员需要认真阅读关于以下几个主题的书籍:
推荐给程序员的传记
传记或是自传,是程序员(尤其那些追求创新的程序员)的灵感源泉。人类最重要的特点之一就是不必事事都亲力亲为,他们从他人的人生经历的成功或失败中吸取经验和教训,从而拓展他们的知识。
科技大佬们的人生经历构成了一部部鲜活的传记。以下是我推荐的传记:
-《Steve Jobs | 史蒂夫·乔布斯传》(作者:Walter Isaacson),苹果创始人的“官方”传记。Walter Isaacson 是著名的传记作家,这大概也是乔布斯选择他来的原因。
-《Losing My Virginity | 一切行业都是创意业:我创立维珍商业帝国的故事》(Richard Branson 的自传),维珍集团创始人 Richard Branson 是一个高尚风趣的人。粉丝们也喜爱 Branson 写的其他书,他写的每本书都体现了其人格魅力。
-《Elon Musk | 硅谷钢铁侠:埃隆·马斯克的冒险人生》(作者:Ashlee Vance)。著名创新者和企业家的传记对需要灵感的人来说是必读之物。Elon Musk 年轻时经历的艰辛和他不断努力改变世界的壮举无疑会给你留下深刻印象。
附:《I amZlatan 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)经典读物之一,书中描写了在悲惨的未来世界,人们的一举一动都在严密监控之下,可以说是这本书开创了反乌托邦流派。不仅书中假设的前提有趣,而且本身的叙述手法也很出色。