发布于 2026-01-06 1 阅读
0

过去几个月里别人向我推荐的38本书

过去几个月里别人向我推荐的38本书

半年前,我从高级开发人员升职为开发团队经理。
由于对这个领域不熟悉,我四处打听有哪些书籍可以帮助我提升到更高的职位。

与其将名单保密,我选择在这里分享。

  1. 这些书我还没读过。
  2. 这不是排名列表,只有标题和描述。
  3. 如果没列出来,我可能已经读过了。

以下是我在过去几个月里被推荐的38本书。

顺便说一下,我是从亚马逊上找到的描述。

技术书籍

《500行或更少》(平装本),作者:艾米·布朗、迈克尔·迪伯纳多

正如我们在《开源应用程序架构》一书中指出的,建筑师在培训期间会考察成千上万座建筑,并研究更多建筑的评价。但大多数软件开发人员最终能深入了解的程序却寥寥无几——通常是他们自己编写的程序。本书将带您了解26位经验丰富的程序员在构建新程序时的思考方式。本书中介绍的程序都是从零开始编写的,旨在解决各种难题。这些程序包括Web服务器、计步器、Python解释器、基于Web的电子表格等等,每款程序的代码量都不超过500行,并由其创建者亲自描述,以便您能从他们的经验和教训中学习。

约翰·奥斯特豪特的软件设计哲学

本书探讨软件设计的主题:如何将复杂的软件系统分解成可以相对独立实现的模块(例如类和方法)。本书首先介绍了软件设计中的一个基本问题——复杂性管理。然后,本书讨论了软件设计过程的哲学问题,并提出了一系列可在软件设计过程中应用的设计原则。此外,本书还介绍了一系列用于识别设计问题的警示信号。您可以应用本书中的理念来最大限度地降低大型软件系统的复杂性,从而更快、更经济地编写软件。

一个精妙的谜题:威尔·拉尔森的《工程管理系统》

有句俗话说,人们离开的不是公司,而是管理者。管理是任何组织的关键组成部分,然而,这门学科往往是自学的,缺乏系统性。找到应对复杂管理挑战的有效方案,对于团队而言,是成就感的来源还是挫败感的来源,最终决定着公司的成败。

威尔·拉尔森的《优雅的难题》一书聚焦于工程管理的特殊挑战——从团队规模的确定、技术债务的处理到继任计划的制定——并提供了一条通往有效解决方案的路径。拉尔森凭借其在Digg、Uber和Stripe的丰富经验,为各种规模公司各层级的领导者开发了一套深思熟虑的工程管理方法。《优雅的难题》平衡了结构化原则和以人为本的理念,旨在帮助所有领导者打造更高效、更有成就感的组织,让工程师在其中蓬勃发展。

《开源应用程序架构》,作者:Robert Chansler、Russell Bryant 等 8 人

建筑师在接受培训期间会考察成千上万座建筑,并研读大师们对这些建筑的评论。相比之下,大多数软件开发人员只熟悉少数几个大型程序——通常是他们自己编写的程序——而从未研究过历史上那些伟大的程序。结果,他们重蹈覆辙,而不是借鉴彼此的成功经验。本书旨在改变这种现状。书中,25个开源应用程序的作者阐述了他们软件的结构及其背后的原因。每个程序的主要组成部分是什么?它们之间如何交互?开发者在开发过程中又学到了什么?本书的作者们在回答这些问题的过程中,为我们提供了他们独特的思考视角。

软件架构基础:工程方法,作者:Mark Richards 和 Neal Ford

全球薪资调查经常将软件架构师列为十大最佳职业之一,然而,目前却鲜有真正指导开发人员转型成为架构师的指南。本书首次全面概述了软件架构的方方面面。无论是有志成为架构师的人士还是经验丰富的架构师,都能从中学习到架构特征、架构模式、组件确定、架构图绘制与展示、演化式架构等诸多主题。

马克·理查兹和尼尔·福特都是经验丰富的实践者,多年来一直从事软件架构课程的专业教学工作。他们专注于适用于所有技术栈的架构原则。您将以现代视角探索软件架构,并充分考虑过去十年来的所有创新成果。

《代码大全(开发者最佳实践)》作者:史蒂夫·麦康奈尔

史蒂夫·麦康奈尔的《代码大全》(CODE COMPLETE)被广泛认为是最佳编程实用指南之一,十多年来一直帮助开发者编写更优质的软件。如今,这本经典著作经过全面更新和修订,融入了前沿实践和数百个全新代码示例,生动展现了软件构建的艺术与科学。麦康奈尔汇集了来自研究、学术界和日常商业实践的知识,将最有效的技术和必备原则提炼成清晰实用的指导。无论您的经验水平、开发环境或项目规模如何,本书都将启发您的思考,帮助您构建最高质量的代码。

《代码在你脑海中的体现:软件工程启发式方法》(Code That Fits in Your Head: Heuristics for Software Engineering)作者:马克·西曼(Mark Seemann)

凭借数十年来帮助软件团队取得成功的经验,Mark Seemann 将指导您从零开始(无需编写代码),最终实现功能部署,并展示如何在添加功能、解决横切关注点、进行故障排除和优化时保持良好的开发速度。您将找到针对关键问题的宝贵理念、实践经验和流程,涵盖从检查清单到团队协作、从封装到分解、从 API 设计到单元测试等各个方面。

持续交付:通过构建、测试和部署自动化实现可靠的软件发布,作者:Jez Humble、David Farley

这本开创性的新书阐述了实现高质量、高价值新功能快速、增量交付的原则和技术实践。通过构建、部署和测试流程的自动化,以及开发人员、测试人员和运维人员之间协作的改进,交付团队可以在数小时内(有时甚至几分钟内)发布变更,无论项目规模大小或代码库复杂程度如何。

Vaughn Vernon 的领域驱动设计精髓

领域驱动设计 (DDD) 软件建模在实践中而非仅仅停留在理论层面,就能带来强大的成果,因此全球开发者正迅速转向采用它。现在,我们首次推出了一本易于理解的 DDD 基础指南:它是什么,解决了哪些问题,如何运作,以及如何快速从中获益。

《领域驱动设计精要》简洁易懂、实用性强,从不赘述细节,而是聚焦于你获得成果所需的关键知识。畅销书《实施领域驱动设计》的作者沃恩·弗农凭借其二十年来将领域驱动设计原则应用于实际案例的经验,撰写了本书。他拥有独特的优势,能够深入浅出地阐释领域驱动设计的复杂性,揭示其微妙之处,并帮助你解决可能遇到的问题。

领域建模功能化:利用领域驱动设计和 F# 解决软件复杂性问题(作者:Scott Wlaschin)

您渴望提升客户满意度、加快开发周期并减少工作浪费。领域驱动设计 (DDD) 与函数式编程的结合,正是助您实现这些目标的创新组合。在这本务实易懂的指南中,您将看到如何运用函数式编程的核心原则,设计出能够优雅简洁地模拟真实世界需求的软件——其效果通常优于面向对象方法。本书通过开源函数式语言 F# 的实用示例,以及来自熟悉业务领域的案例,向您展示如何运用这些技巧构建以业务为中心、灵活且高质量的软件。

领域驱动设计(DDD)是一种成熟的软件设计方法,它确保领域专家和开发人员能够高效协作,共同打造高质量的软件。本书首次将DDD与静态类型函数式编程技术相结合,是DDD或函数式编程新手的理想之选——书中将介绍并讲解所有必要的技术。

使用 F# 类型系统精确地对复杂领域进行建模,创建既可编译又可读的代码文档,确保代码与设计始终保持一致。将业务规则编码到设计中,从而实现“编译时单元测试”,并通过使非法状态无法表示来消除许多潜在的错误。将一系列小型、可测试的函数组装成一个完整的用例,并将这些独立的场景组合成一个大型设计。探索函数式编程和领域驱动设计 (DDD) 的结合如何自然地引导出面向服务的架构和六边形架构。最后,创建一个可与传统数据库、NoSQL 和事件存储兼容的函数式领域模型,并通过网站或 API 安全地公开您的领域。

五行代码:如何以及何时重构(作者:Christian Clausen)

《五行代码》教授的重构方法注重具体的规则,旨在将任何方法精简到五行或更少!无需晦涩难懂的术语或复杂的自动化测试技巧,只需遵循简单的指导原则和模式,并辅以详细的代码示例。

谷歌软件工程:从编程中汲取的经验教训,作者:Titus Winters、Tom Manshreck、Hyrum Wright

如今,软件工程师不仅需要掌握高效的编程技巧,还需要学习如何制定合理的工程实践,以确保代码库的可持续性和健康性。本书着重阐述了编程和软件工程之间的这种区别。

软件工程师如何管理一个不断演进、响应不断变化的需求和需求的动态代码库?基于他们在谷歌的经验,软件工程师 Titus Winters 和 Hyrum Wright 与技术作家 Tom Manshreck 共同撰写了本书,坦诚而深刻地剖析了世界顶尖的软件工程师如何构建和维护软件。本书涵盖了谷歌独特的工程文化、流程和工具,以及这些因素如何提升工程团队的效率。

Vaughn Vernon 的《实现领域驱动设计》

《实现领域驱动设计》一书采用自顶向下的方法,深入浅出地讲解领域驱动设计(DDD),并将战略模式与基础的战术编程工具流畅地结合起来。Vaughn Vernon 将指导性的实现方法与现代架构相结合,强调了在兼顾技术考量的同时,关注业务领域的重要性和价值。

本书以埃里克·埃文斯的开创性著作《领域驱动设计》为基础,通过来自熟悉领域的实例,展示了实用的领域驱动设计(DDD)技术。每个原则都辅以真实的Java示例——所有示例均适用于C#开发人员——所有内容都围绕一个案例研究展开:为多租户环境交付一个基于Scrum的大型SaaS系统。

作者带你超越了仅仅将领域设计(DDD)视为技术工具集的“轻量级”DDD方法,并向你展示如何利用限界上下文、上下文映射和通用语言,充分发挥DDD的“战略设计模式”。运用这些技巧和示例,你可以缩短产品上市时间,提高产品质量,构建更灵活、更具可扩展性且更贴合业务目标的软件。

学习领域驱动设计:软件架构与业务战略的协调一致(作者:Vlad Khononov)

“如今软件开发比以往任何时候都更加困难。作为一名开发人员,你不仅要追逐瞬息万变的技术趋势,还需要了解软件背后的业务领域。这本实用书籍为你提供了一系列核心模式、原则和实践方法,帮助你分析业务领域、理解业务战略,而最重要的是,使软件设计与业务需求保持一致。”

作者 Vlad Khononov 将向您展示这些实践如何实现稳健的业务逻辑,并帮助您打造面向未来的软件设计和架构。您将了解领域驱动设计 (DDD) 与其他方法之间的关系,以确保您做出的架构决策能够满足业务需求。您还将探索一家初创公司实施 DDD 的真实案例。

David Farley 的《现代软件工程》

在《现代软件工程》一书中,持续交付先驱大卫·法利帮助软件专业人员更有效地思考他们的工作,更成功地管理它,并真正提高他们的应用程序、他们的生活以及他们同事的生活的质量。

本书面向各个经验级别的程序员、经理和技术主管,Farley 阐明了高效软件开发的核心原则。他将这门学科提炼为两个核心练习:学习与探索以及复杂性管理。针对每个练习,他都定义了有助于提升从思维模式到代码质量等各个方面的原则,并描述了已被证明能够促进成功的方法。

操作系统:雷姆齐·H·阿尔帕奇-杜索和安德烈亚·C·阿尔帕奇-杜索著《三个简单的部分》

《OSTEP》(意为“哦,步骤”),又称“彗星之书”,是威斯康星大学麦迪逊分校计算机科学系近20年来面向本科生和研究生教授操作系统入门课程的集大成之作。本书围绕操作系统构建的三大基本概念展开:虚拟化(CPU和内存)、并发性(锁和条件变量)以及持久性(磁盘、RAID和文件系统)。如果结合认真的项目实践和课后作业,本书内容将帮助学生更深入地理解和欣赏现代操作系统。作者雷姆齐·阿尔帕奇-杜索和安德烈亚·阿尔帕奇-杜索均为威斯康星大学麦迪逊分校计算机科学系教授。他们从事计算机系统研究已有20余年,自1993年在加州大学伯克利分校开设第一门研究生操作系统课程以来便开始合作。此后,他们发表了100多篇关于现代计算机系统性能和可靠性的论文,尤其关注文件和存储系统。他们的研究成果获得了众多最佳论文​​奖的认可,他们的一些创新成果如今已应用于 Linux 和 BSD 操作系统中。

网站可靠性工程:谷歌如何运行生产系统(作者:Niall Richard Murphy、Betsy Beyer、Chris Jones、Jennifer Petoff)

在大多数科技公司,你通常会在五到八年内晋升为高级软件工程师,这是软件工程师的职业发展级别。在这个级别,公司的晋升路径并不要求你努力争取下一个职位;进一步晋升是例外情况,而非预期。这也是许多工程师首次有机会转型为工程管理人才的时期。过去几年,我们看到大量书籍涌现,帮助人们了解工程管理的职业发展道路,例如卡米尔·富尼耶的《经理之路》(The Manager's Path)、朱莉·卓的《经理的养成》(The Making of a Manager)、拉拉·霍根的《韧性管理》(Resilient Management),甚至还有我自己的《优雅的谜题》(An Elegant Puzzle)。工程管理职业道路并非坦途,但确实有一些指南可以帮助你找到方向。如果你想在不成为工程经理的情况下提升职业发展呢?技术领导力发展路径仍然相对缺乏规范,难以把握,而且在不同公司之间也存在差异。《高级工程师》(Staff Engineer)一书将指导你如何规划职业生涯,最终成为一名高级工程师,获得相应的职位,并在该职位上取得成功。

布伦丹·格雷格的系统性能

《系统性能》(第二版)涵盖了操作系统和应用程序的概念、策略、工具和调优,并以基于 Linux 的操作系统为例进行说明。对于当今的开发人员而言,深入理解这些工具和技术至关重要。实施本版中全面修订和更新的策略可以带来更好的最终用户体验并降低成本,尤其适用于按操作系统实例收费的云计算环境。

系统性能专家、畅销书作家布伦丹·格雷格(Brendan Gregg)总结了相关的操作系统、硬件和应用程序理论,即使是从未进行过性能分析的专业人士也能快速上手。格雷格随后深入讲解了最新的工具和技术,包括扩展的BPF,并展示了如何最大限度地发挥云、Web和大型企业系统的性能。

《开源应用程序架构》,作者:Amy Brown、Greg Wilson

建筑师在接受培训期间会考察成千上万座建筑,并研读大师们对这些建筑的评论。相比之下,大多数软件开发人员只熟悉少数几个大型程序——通常是他们自己编写的程序——而从未研究过历史上那些伟大的程序。结果,他们重蹈覆辙,而不是借鉴彼此的成功经验。本书旨在改变这种现状。书中,25个开源应用程序的作者阐述了他们软件的结构及其背后的原因。每个程序的主要组成部分是什么?它们之间如何交互?开发者在开发过程中又学到了什么?本书的作者们在回答这些问题的过程中,为我们提供了他们独特的思考视角。

《可读代码的艺术:编写更佳代码的简单实用技巧》(作者:Dustin Boswell、Trevor Foucher)

作为程序员,我们都见过一些代码丑陋不堪、漏洞百出,简直让人头疼。过去五年里,Dustin Boswell 和 Trevor Foucher 分析了数百个“糟糕代码”的例子(其中很多是他们自己写的),试图找出它们糟糕的原因以及如何改进。他们的结论是什么?你需要编写尽可能缩短他人理解时间的代码——即使这个人是你自己。

本书着重讲解编写代码时可以应用的基本原理和实用技巧。每章都使用来自不同语言的易于理解的代码示例,深入探讨编码的不同方面,并演示如何使代码更易于理解。

塔维什·阿姆斯特朗 (Tavish Armstrong) 的《开源应用程序的性能》

1974年,唐纳德·克努特写道:“我们应该忽略那些微小的效率提升,大约97%的时间都应该忽略:过早优化是万恶之源。”如今的计算机速度比当时快数百万倍,因此今天的程序员比上一代人更没有理由去担心节省周期和字节。但是,“更少”并不意味着“完全没有”:偶尔,榨干机器的最后一丝性能仍然至关重要。

本书由十几位开发者合著,他们都曾苦苦应对开源软件中代码运行缓慢、内存泄漏或延迟无法控制等问题。他们分享了各自的经验教训,让读者能够身临其境地了解他们是如何应对这些挑战的。书中案例涵盖了从生物信息学研究代码到网页浏览器等各种应用场景,解决方案也如同问题本身一样丰富多样。

本书将帮助初级和高级开发人员了解他们的同事是如何看待性能问题的。

Artur Ejsmont 著《面向创业工程师的 Web 可扩展性》

《面向初创企业工程师的Web可扩展性指南》向初创企业和小公司的工程师展示了如何规划和实施全面的可扩展性策略。本书全面而深入地阐述了可扩展Web应用程序的基础架构和架构。成功的初创企业常常面临可扩展性的挑战,而驱动可扩展架构的核心概念与编程语言和平台无关。

本书涵盖了基于 HTTP 的系统(网站、REST API、SaaS 和移动应用后端)的可扩展性,首先从宏观视角进行概述,然后深入探讨常见的挑战和问题。这种方法能够帮助读者全面了解问题,把握全局,并介绍不同的技术和最佳实践来解决当前问题。本书融合了作者的实践经验和专家建议,通过借鉴他人的经验教训,帮助读者节省宝贵的时间和精力。

迈克尔·费瑟斯著《高效处理遗留代码》

本书旨在帮助程序员以经济高效的方式处理常见的遗留代码问题,而无需耗费巨资重写所有现有代码。书中介绍了一系列实用策略,开发者可以利用这些策略来控制现有的软件应用程序。作者还就如何在重构或对代码库进行功能性更改时运用这些策略提供了有益的指导。本书的关键点之一是教会开发者编写测试,以确保他们在优化应用程序的过程中不会无意中更改应用程序。本书提供了 Java、C++ 和 C# 的示例,并假定读者具备一定的 UML 表示法知识。本书主要使用 UML 和 C++、Java 代码来阐述策略,而针对特定语言的用户,则会在侧边栏和附录中提供与语言无关的建议。

管理书籍

《加速:精益软件和DevOps的科学:构建和扩展高绩效技术组织》(Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations),作者:Nicole Forsgren博士、Jez Humble、Gene Kim

我们如何运用技术来创造商业价值?多年来,我们一直被告知软件交付团队的绩效无关紧要——它无法为公司带来竞争优势。妮可·福斯格伦博士、杰兹·汉布尔和吉恩·金历时四年,开展了一项突破性研究,其中包括与 Puppet 合作开展的 DevOps 现状报告的数据收集工作。他们致力于运用严谨的统计方法,寻找衡量软件交付绩效及其驱动因素的方法。本书不仅呈现了研究成果,还阐述了其背后的科学原理,使读者能够将这些信息应用于自身的组织中。
读者将了解如何衡量团队绩效,以及应该投资哪些能力来提升绩效。本书适合各级管理人员阅读。

拉拉·霍根著《韧性管理》

作为一名管理者,找到自己的定位可能会让人感到不知所措——但你无需伪装自己就能成功,也无需孤军奋战。Lara Hogan 分享了她支持和领导技术团队的秘诀——从提升你的指导和辅导技能,到学会如何坦然面对棘手的对话,再到增强团队成员之间的信任——同时,她还能在此过程中保持脚踏实地。

人件:高效项目与团队,作者:DeMarco Tom、Lister Tim

在计算机领域,很少有书籍能像《人件》(Peopleware)那样对软件管理产生如此深远的影响。这本畅销多年的书籍独到之处在于,它指出软件开发的主要问题在于人,而非技术。这些问题并不容易解决;但只要解决了它们,成功的几率就会大大提高。

计算机编程心理学(平装本),作者:杰拉尔德·M·温伯格先生

本书只有一个主要目的——开启一个全新的研究领域:将计算机编程视为一种人类活动,或者简而言之,计算机编程心理学。所有其他目标都服务于此。例如,我力求使本书内容尽可能有趣且通俗易懂,以吸引尽可能多的读者:不仅是程序员,还包括编程经理以及当今与编程相关的各种人士。我希望读者在读完本书后能够说:“是的,编程不仅仅是硬件和软件的问题。从今以后,我必须用全新的视角看待这个问题。”

《激进坦诚:如何在不丧失人性的情况下成为一位出色的老板》作者:金·斯科特

坦诚沟通已被世界各地各种规模公司中各行各业的领导者所接受。如今,它已成为一种文化准则,并被应用于各种人际关系中。

理念很简单:你不必在做个软弱可欺的人和做个混蛋之间做出选择。运用“彻底坦诚”——避免令人反感的攻击性、操纵性的虚伪和有害的同情心——你就可以同时做到既友善又清晰。

金·斯科特在加入苹果公司之前,曾是谷歌一位非常成功的领导者。在苹果公司,她开发并教授了一门管理课程。自2017年《激进坦诚》一书首次出版以来,斯科特凭借其对高效领导力的独到见解而享誉国际,并联合创办了“激进坦诚”高管培训公司,致力于帮助企业将书中的理念付诸实践。

坦诚直言意味着真心关怀,直面挑战;意味着主动寻求批评以提升领导力,同时也意味着提供指导以帮助他人成长。它重视赞扬,但并不回避批评——旨在帮助你热爱工作和与你共事的人。

软件架构师电梯:重新定义架构师在数字化企业中的角色,作者:格雷戈尔·霍普

随着数字经济改变企业运营规则,软件和IT架构师的角色也在发生转变。架构师和高级技术人员不再仅仅关注技术决策,而是需要将组织和技术知识相结合,以推动公司结构和流程的变革。为了实现这一目标,他们需要将IT核心部门与制定业务战略的高层管理团队连接起来。

在本指南中,作者格雷戈尔·霍普分享了来自实际IT转型中的宝贵经验和深刻教训。他的案例故事能够帮助架构师、高级开发人员和其他IT专业人员为在企业中承担更复杂但更有价值的角色做好准备。

高级工程师:威尔·拉尔森的管理之路之外的领导力

在大多数科技公司,你通常会在五到八年内晋升为高级软件工程师,这是软件工程师的职业发展级别。在这个级别,公司的晋升路径并不要求你努力争取下一个职位;进一步晋升是例外情况,而非预期。这也是许多工程师首次有机会转型为工程管理人才的时期。过去几年,我们看到大量书籍涌现,帮助人们了解工程管理的职业发展道路,例如卡米尔·富尼耶的《经理之路》(The Manager's Path)、朱莉·卓的《经理的养成》(The Making of a Manager)、拉拉·霍根的《韧性管理》(Resilient Management),甚至还有我自己的《优雅的谜题》(An Elegant Puzzle)。工程管理职业道路并非坦途,但确实有一些指南可以帮助你找到方向。如果你想在不成为工程经理的情况下提升职业发展呢?技术领导力发展路径仍然相对缺乏规范,难以把握,而且在不同公司之间也存在差异。《高级工程师》(Staff Engineer)一书将指导你如何规划职业生涯,最终成为一名高级工程师,获得相应的职位,并在该职位上取得成功。

团队拓扑:组织业务和技术团队以实现快速协作,作者:Matthew Skelton、Manuel Pais

高效的软件团队对于任何组织持续、可持续地创造价值都至关重要。但是,如何才能根据自身的目标、文化和需求,构建最佳的团队组织架构呢?

团队拓扑结构是一个实用、循序渐进且适应性强的组织设计和团队互动模型,它基于四种基本团队类型和三种团队互动模式。该模型将团队视为交付的基本手段,团队结构和沟通路径能够随着技术和组织的成熟而演进。

在《团队拓扑》一书中,IT顾问Matthew Skelton和Manuel Pais分享了成功的团队模式和互动秘诀,帮助读者为他们的组织选择和发展正确的团队模式,确保软件保持健康并优化价值流。

团队拓扑结构是软件组织设计领域的一大进步,它为团队互动和相互联系提供了一种明确的方式,有助于使最终的软件架构更加清晰和可持续,并将团队间的问题转化为对自我管理组织有价值的信号。

《经理人的养成之道:当所有人都仰仗你时该怎么做》朱莉·卓著

恭喜你,你当经理了!当你打开香槟,接受闪亮的新头衔,踏入职业生涯激动人心的新篇章时,真相却像迷雾一样笼罩着你:你其实并不知道自己在做什么。

朱莉·卓(Julie Zhuo)25岁刚成为一名新晋经理时,正是这种感觉。她面对着一长串繁琐的事务——从招聘到解雇,从会议到沟通,从计划到提案——无数的问题和不确定性涌上心头。她该如何将团队合作转化为价值?如何才能妥善管理下属的职业发展?在面对全新且意想不到的情况时,如何才能自信地领导团队?

如今,朱莉管理过数十个团队,每个团队的人数从几十人到几百人不等,她深知最重要的一点:优秀的管理者是后天培养的,而非天生的。如果你足够重视这一点,正在阅读这篇文章,那么你也足够重视成为一名优秀的管理者。

《经理人之路:科技领导者驾驭增长与变革的指南》(作者:卡米尔·富尼耶)

无论在哪个行业,管理人员都是一项挑战。但在科技行业,管理本身也是一门技术学科,学习曲线可能异常陡峭——尤其是在缺乏工具、书籍和框架辅助的情况下。在这本实用指南中,作者卡米尔·富尼耶(曾任技术主管,后晋升为首席技术官)将带领你逐步了解从工程师到技术经理的成长历程。

从指导实习生到与资深员工合作,本书将为你提供应对各种挑战的实用建议。无论你是新晋经理、导师,还是寻求新思路的资深领导者,本书都是你的理想之选。聆听这本有声书,学习如何成为组织中更优秀的管理者和领导者。

《工程师之路》作者:坦尼娅·雷利

多年来,企业一直将管理职位作为奖励最优秀工程师的途径。但将管理视为具备领导能力的工程师的默认发展路径,对行业和工程师自身都无益。工程师晋升路径能够让工程师在高层发挥榜样作用,推动大型项目,制定技术战略,并提升团队整体技能。

这本内容详实的书籍将指导你如何理解自身角色、管理时间、掌握战略思维,并为技术工作树立标杆。你将了解到如何在没有直接职权的情况下成为领导者,如何提前规划以做出正确的技术决策,以及如何在提升自身专业水平的同时,帮助周围的人变得更优秀。

《领悟简洁之道:用函数式思维驯服复杂软件》,作者:埃里克·诺曼德

现代软件分布在多个服务器上,难以测试,且难以修改,因此十分复杂。《理解简洁之道》是一本友好而实用的指南,它将改变你进行软件设计和开发的方式。本书介绍了一种独特的函数式编程方法,解释了为什么软件的某些特性容易变得复杂,并教授你可以用来简化这些系统的函数式编程技巧,使它们更易于测试和调试。

快速开发:驯服狂野的软件进度表 作者:史蒂夫·麦康奈尔

企业和商业软件开发团队都希望找到解决一个重要问题的方法——如何掌控高压的开发进度。在《快速开发》一书中,作者史蒂夫·麦康奈尔直面这一难题,提供了总体策略、具体最佳实践和实用技巧,帮助团队缩短并控制开发进度,确保项目顺利推进。

与熊共舞:软件项目风险管理,作者:汤姆·德马科、蒂莫西·利斯特

任何值得启动的软件项目都难免面临风险。由于高风险往往伴随着高回报,因此,逃避风险的公司很快就会发现自己落后于那些更勇于冒险的竞争对手。软件管理者如果以积极思考或“我能行”的态度为名,忽视负面结果的威胁,最终只会把公司拖入深渊。

在《与熊共舞》一书中,畅销书《人件》的作者汤姆·德马科和蒂莫西·利斯特向读者展示了如何识别并承担有价值的风险。开发者们由此得以放手,挑战极限。

发布!:设计和部署生产就绪型软件,作者:Michael T. Nygard

一次严重的软件故障就可能给公司造成数百万美元的损失,但只需对设计和架构进行简单的改进即可避免。这本畅销行业标准的最新版将向您展示如何创建运行时间更长、故障更少、且在发生故障时能够更好地恢复的系统。新增内容包括 DevOps、微服务和云原生架构。稳定性反模式已扩展到包括大型系统中的系统性问题。本书是生产系统工程领域必备的实用指南。

如果你是一名软件开发人员,并且不想余生每晚都收到警报,那么这本书能帮到你。本书结合了大量关于巨大损失(收入损失、声誉受损、时间浪费、机会错失)的案例研究,以及从惨痛经验中总结出的实用建议,帮助你避免那些导致公司损失数百万美元停机时间和声誉的陷阱。项目生命周期成本的80%都发生在生产阶段,但很少有书籍关注这一主题。

这本更新版着重探讨当今系统(规模更大、更复杂、高度虚拟化)的构建,并包含混沌工程的相关内容。混沌工程是一门运用随机性和人为压力来揭示系统性问题的学科。本书将指导您构建能够经受住真实世界考验的系统,避免停机,实现零停机升级和持续交付,并增强云原生应用的弹性。本书还将探讨如何架构、设计和构建软件(尤其是分布式系统),使其能够抵御快闪族、Slashdot 上的网络攻击或 Reddit 上的链接等突发事件的影响。本书还将深入分析那些未能通过考验的软件,并找到确保您的软件能够持续运行的方法。

《科学与工程的艺术:学会学习》理查德·W·汉明著

是什么激发和促成了伟大的想法?我们能否训练自己以一种能够带来改变世界的理解和见解的方式思考?

理查德·汉明说过,我们能做到。1986年,他以《你和你的研究》一书激励了一代工程师、科学家和研究人员。这本书振奋人心,阐述了为什么有些科学家能做出伟大的工作,为什么大多数科学家做不到,他自己为什么能做到,以及为什么你也能——而且应该——做到。《科学与工程的艺术》一书完整地阐述了《你和你的研究》的理念。这是一本关于思考的书;更确切地说,它阐述了一种孕育伟大思想的思考方式。

这本书充满了伟人做出惊人壮举的故事——但这些故事并非仅仅为了博取赞赏。相反,它们值得我们效仿、学习和超越。汉明反复提及香农的信息论、爱因斯坦的相对论、格蕾丝·霍珀的高级编程研究、凯撒的数字填充技术,以及他自己关于纠错码的研究。他还讲述了自己一些惨痛的失败经历,以此作为反面教材,告诫人们应该避免重蹈覆辙。

文章来源:https://dev.to/rockykev/the-38-books-recommended-to-me-in-the-past-few-months-1d35