前言
不知不觉,口罩一戴就是两年。快到年底了,是时候翻开年初写的总结和计划,看看那个梦想中的自我和实现中的自我的距离了。如果看完这个距离,还是对来年有憧憬,那么我们来看看有什么可以改变的。
苏轼在他的诗《和董传留别》中说:
粗缯大布裹生涯,腹有诗书气自华。
厌伴老儒烹瓠叶,强随举子踏槐花。
囊空不办寻春马,眼乱行看择婿车。
得意犹堪夸世俗,诏黄新湿字如鸦。
不是每个人都有 “诏黄新湿字如鸦(金榜题名)” 的幸运,但几乎每个现代人都有条件 “腹有诗书气自华”。关键是选择。
在手机前,大部分时间我们有几个选择:
- 看看身边和世界的各种新奇事,抖一抖,或圈一圈。简单快乐地生活。
- 看一些有一定沉淀的知识。思考地生活,有时快乐,有时沉重。
如果你大部分时间选择了 2,偶尔也选择 1 偷闲 ,同时你也是个软件技术从业者,那么下面说的内容希望对你有用。它不可以让你 “诏黄新湿字如鸦(KPI业绩马上上去)”。更不可能让原来不太看好你的人刮目相看。但它可以让人活得更明白事理,进而 “腹有诗书气自华”。
说到看书,我关注一些前辈看的书单。原因系,成功不太可能简单复制,看成功人的自传也不会让我成功。反而,看看他们的眼界,他们看过的书,反而起码让人开阔眼界。而今天,我看是的是 “goto; podcast” 的 《32 Book Recommendations for the Holidays》,即《为圣诞长假推荐 32 本图书》
简介
先介绍一下。“goto; podcast” 这是个什么社区:
GOTO 聚集了软件社区中最聪明的人,帮助开发人员处理今天的项目、规划明天并创造更美好的未来。 通过每天发布的顶级视频以及我们全年的会议、大师班和聚会,向思想领袖和创新者学习。
2021-12-24,他们发布了《32 Book Recommendations for the Holidays》,即《为圣诞长假推荐 32 本图书》。其中推荐者为:
Eoin Woods - “Continuous Architecture in Practice”合著者
Fabio Pereira - “Digital Nudge”的作者兼红帽拉丁美洲开放创新实验室负责人
Dave Farley - 持续交付和 DevOps 先锋,获奖作家,持续交付有限公司创始人兼董事。
Kevlin Henney - “每个 Java 程序员都应该知道的 97 件事”的合著者
Phil Winder - 《强化学习》作者兼 Winder.AI 首席执行官
Preben Thorø - Trifork 瑞士首席技术官
Sven Johann - INNOQ 的高级顾问和 CaSE 的播客主持人
Mike Amundsen - “设计和构建出色的 Web API”的作者
Saša Jurić - “Elixir in Action”的作者
Jim Webber - “图形数据库”的合著者
Trisha Gee - “每个 Java 程序员都应该知道的 97 件事”的合著者
Raymond Camden - “The Jamstack Book”的合著者和 Adobe 的开发人员布道师
Adam Tornhill - “软件设计 X 射线”的作者和 CodeScene 的创始人兼首席技术官
Linda Rising - 各种书籍的作者和计算机软件顾问和专业人士
Matt Turner - Marshall Wace 的 SRE
Richard Feldman - 《榆树在行动》的作者
Erik Schön - 《战略的艺术》的作者
Casey Rosenthal - 《混沌工程》的合著者
James Wickett - 开源项目 Gauntlt 的创始人
图书
下面我只摘录了我有兴趣的部分图书,如果想看全部图书推荐,请到 https://gotopia.tech/podcast 。
Eoin Woods 推荐:《容器安全(Container Security)》
Eoin Woods:大家好,我是 Eoin Woods,是《可持续架构:敏捷和以云为中心的世界中的可持续架构》一书的作者。今年很高兴成为 GOTO 读书俱乐部的一员。随着圣诞节的临近,我们认为提名我们希望作为礼物收到或作为礼物赠送的书籍会很有趣。我的第一本是 Liz Rice 关于容器安全的优秀著作。作为 GOTO Book Club 系列的一部分,我采访了 Liz。这是一本了不起的书。这很棒,因为首先,它从基础解释了容器。它让你用命令行构建一个自己的手工容器。其次,它告诉你所有你关注的容器安全这个非常重要的话题。
为了可扩展性和弹性,许多组织现在使用容器编排在云原生环境中运行应用程序。但是你怎么知道部署是否安全?这本实用书籍探讨了关键的底层技术,以帮助开发人员、操作人员和安全专业人员评估安全风险并确定适当的解决方案。
Saša Jurić 推荐:《设计数据密集型应用程序(Designing Data-Intensive Applications)》
NoSQL……大数据……可扩展性……CAP定理……最终一致性……分片……
现在流行用大词,好像不说几个都不好意思打招呼。但谁知道这些东西实际上是如何工作的? 还是说:So What? Who Cares?
作为软件工程师,我们需要构建可靠、可扩展和可长期维护的应用程序。 我们需要了解可用工具的范围及其权衡。 为此,我们必须比流行语更深入地挖掘。
本书将帮助您了解用于存储和处理数据的技术的多样化和快速变化。 我们对各种工具和方法进行比较,以便您可以了解每种工具和方法的优缺点,并确定最适合您的应用程序的方法。
本书将帮助您了解存储和处理数据技术的多样化和快速变化。我们对各种工具和方法进行比较,以便您可以了解每种工具和方法的优缺点,并确定最适合您的应用程序的方法。
Jim Webber 推荐:《网络、人群和市场(Networks, Crowds, and Markets)》
“GraphDatabases”的作者 Jim Webber 推荐了 Easley 和 Kleinberg 的“网络、人群和市场”。 据 Jim 说,这本书是“一本真正的翻页书,尽管它是一本学术书籍,并且将图论和博弈论融合成一套适用于现代分析师的奇妙工具。
这本介绍性本科教科书对经济学、社会学、计算和信息科学以及应用数学进行跨学科研究,以了解网络和行为。 它描述了在这些领域的交界处不断发展的新兴研究领域,解决了有关社会、经济和技术世界如何相互联系的基本问题。
Fabio Pereira 推荐:《让时间和注意力集中(Make Time and Indistractable)》
Fabio Pereira:大家好,GOTO Book Club 社区的各位。我是 Fabio Pereira,是“Digital Nudge”一书和 MasterClass“用户体验心理学”一书的作者,我很荣幸能成为这个社区的一员。
社区的组织者问我,现在假期快到了,如果我在年底给某人一本书,一本励志书,或者推荐一本书,哪本书会是吗?然后我实际上选择了两本书。它们非常相关。他们周围有一些东西,那就是专注。
我想推荐的一本书……老实说,我真的很喜欢听书,听有声读物。所以我在手机上安装了 Audible 应用。我想向你展示第一本书,叫做“Make Time”。 “Make Time”是 Jake Knapp 和 John Zaretsky 合着的一本书。 Jake Knapp 是“Design Sprint”一书的作者,这本书也是一本了不起的书。 “Make Time”是一本关于如何专注于生活中每天重要的事情的书。我们生活在一个信息过载的世界里,我们可以在互联网上访问我们想要的一切,然后在我们一天的时间里集中精力并创造机会,因为每个人只有 24 小时专注于真正的事情事情真的很重要。
在 Indistractable 中,Eyal 揭示了驱使我们分心的隐藏心理。他描述了为什么解决问题并不像发誓戒掉我们的手机那么简单:禁欲是不切实际的,而且常常让我们想要更多。
Trisha Gee 推荐:《程序化的不平等(Programmed Inequality)》
Trisha Gee 是“每个 Java 程序员应该知道的 97 件事”的作者,推荐了 Mar Hicks 的“Programmed Inequality- How British Discarded Women Technologists and Lost its Edge in Computing”。 根据她的说法,这本书“展示了politics和领导力如何根据自己的议程改变员工队伍的构成,以及 IT 绝对不是精英统治。 它应该让您思考 IT 的真正含义以及投资于它的企业如何使用它。”
英国是如何通过系统地歧视其最合格的工人:女性而失去其早期在计算领域的主导地位的。
Dave Farley 推荐:《用户故事和领域驱动设计(User Stories and Domain-Driven Design)》
Dave Farley :嗨,我叫戴夫·法利。 我想推荐是 Eric Evans 的“领域驱动设计”。 这是一本很难的书,但我认为它在谈论设计的方式上意义深远且重要。 我必须承认,当我第一次读到它时,我想,“这不正是面向对象的本意吗?” 但这就是重点,它涉及一些非常重要的事情。 它为我们提供了一种语言来描述和解决大系统的细粒度级别和大规模级别的设计。 我认为那本书中有一些真正重要的想法。 所以这是我的两个建议。 圣诞快乐。
Kevlin Henney 推荐:《务实的程序员(The Pragmatic Programmer)》
“实用程序员”,实际上是这本书的出版商,出版了“实用程序员”20周年纪念版。这实际上是在 1999 年底出版的,但它的版权日期是 2000 年。第二版,2020 年。这里有很多非常好的东西。原书在很大程度上是软件工艺社区的试金石。它在有关敏捷开发的技术方面的对话中发挥了不可或缺的作用,并为我们提供了许多我们今天仍在使用并且已经普及的想法,例如 DRY 原则,不要重复自己,这被广泛误解为只是神奇的代码。在这里,他们纠正了这一点。他们更新了示例。我们在这方面有超过 20 年的经验。这不是这种时代的开始,我们现在正处于它的中间。它已移至下一代建议,并阐明人们在第一版中实际谈论的内容。所以,是的,作为软件开发人员,这非常值得您花时间。
《实用程序员》由一系列独立的部分组成,充满了经典而新鲜的轶事、深思熟虑的例子和有趣的类比,阐明了软件开发许多不同方面的最佳方法和主要陷阱。
Preben Thoro 推荐:《清晰思考的艺术(The Art of Thinking Clearly)》
Preben Thoro:Rolf Dobelli 的“清晰思考的艺术”。 开始了。 这是一本精彩的书,讲述了所有这些愚蠢行为,我们将所有这些愚蠢的模式应用于我们周围的世界,我们所经历的一切,只是为了让它适合我们对世界的看法。 我真正喜欢这本书的地方在于,它帮助我了解我的行为方式、我所做和不做的许多事情、我的反应模式,并帮助我了解我周围的很多世界。 特别是,如果我们将它与这本书结合起来,亚当格兰特的“再想一想”。 它真的帮助我了解我自己和我周围的其他人。 这两个将是今年完美的圣诞礼物。
世界一流的思想家和企业家罗尔夫·多贝利 (Rolf Dobelli) 的《清晰地思考的艺术》是对人类心理学和推理的令人大开眼界的研究——对于任何想要避免“认知错误”并在生活的各个方面做出更好选择的人来说,都是必不可少的读物。
Richard Feldman 推荐:《软件设计哲学(A Philosophy of Software Design)》
“Elm In Action”的作者 Richard Feldman 推荐:John Ousterhout 的“软件设计哲学”。 本书涉及以下主题:如何将复杂的软件系统分解为可以相对独立实现的模块(如类和方法)。 本书首先介绍了软件设计中的基本问题,即管理复杂性。然后讨论了有关如何处理软件设计过程的哲学问题,并提出了在软件设计过程中应用的一系列设计原则。 本书还介绍了一组识别设计问题的危险信号。 您可以应用本书中的思想来最小化大型软件系统的复杂性,从而可以更快更便宜地编写软件。
Casey Rosenthal、Nora Jones 和 James Wickett 推荐:《混沌工程(Chaos Engineering)》
“混沌工程”和 James Wicket 的作者实际上是在推荐他们自己的书,试图理解我们生活的世界以及您自己的软件系统中的混沌。
复杂的系统以意想不到和不可预测的方式变得脆弱。 这本书的作者深入解释了核心实践,并就团队如何利用混沌工程的思想来使他们的系统更具弹性提供了真实世界的故事和实用建议。
- 了解 CI/CD 实践如何进入下一阶段:持续验证。
- 了解 Chaos Engineering 如何让您的组织驾驭复杂性。
- 建立一个框架来处理软件系统中的复杂性。
- 通过来自 Google、Microsoft、Slack、Linkedin 和 Verica 的行业专家的真实故事,从理论走向实践。
总结
新年新希望,希望2022大家更好,地球更好。希望也有一年可以推荐自己的书。大龄程序员或许在反应速度和短跑中已经不及后浪,但总有一些领域,让经历和思想可以发光。
正如 Mr. Bean 被认为是外星人通过光梯送到地球上的一个教堂前。作为人类现实世界规则和文明的调侃。每个憨憨的程序员,也有他的作用。他或者叫 Mr. Bean,或者叫 Java Bean. So What? Who Cares?