当前位置: 首页 > 科技观察

2021年您应该阅读的10本软件工程书籍

时间:2023-03-16 01:54:57 科技观察

随着2020年尘埃落定和新的一年开始,很明显我们将在年初的大部分时间再次在室内度过。还有什么比学习和读书更好的消费方式呢?在本文中,我将与您分享2021年对软件工程感兴趣的人应该阅读的10本书。有些书是相当技术性的,但总的来说,这个清单应该对任何人开放。榜单的顺序不是从最好到最差,而是按照书籍的顺序。让我们开始吧!大声朗读云从光开始,ForrestBrazeal的《朗读云》将自己描述为内部技术的无辜指南。如果您从未听说过“云”及其对IT的影响,那么这本书就是为您准备的!>ForrestBrazeal的TheReadAloudCloud这本书完全以押韵和卡通的形式写成,解释了云是如何在幕后工作的,以及人们正在做什么来保持云的运行。这听起来可能很愚蠢(有时确实如此),但即使您没有IT知识,这本书实际上也很好地解释了技术概念。它也是一个很好的对话开场白,很适合向您的父母或配偶解释您整天在电脑前做什么。RobertC.Martin(俗称“Bob大叔”)的CleanCode被许多人认为是软件开发人员的经典读物。这本书摘录了什么是干净的代码以及如何编写它。干净的代码很重要,因为它是我们对抗大规模混乱的唯一武器。如果您曾经发现自己在第十个项目中重写遗留代码库只是为了重新投入其中而陷入困境;这本书是给你的。>RobertC.Martin的CleanCode虽然我应该警告你,但请引用作者的话:“当你阅读这本书时,请尽力而为。这不是一本好书,你可以在飞机上阅读并在着陆前阅读完成.这本书会让你努力工作。实践中的软件架构无论您担任何种角色,您都会在职业生涯的某个时刻遇到软件架构。这是一个存在很多问题的复杂领域:象牙塔建筑师、泥泞的瀑布、瀑布工程的趋势等等。这就是为什么我认为人们在软件架构方面的实践教育比设计模式更重要。>LenBass、PaulClements和RickKazman合着的《软件架构实践》是对软件架构的出色概述。这不仅仅是一本教您微服务如何工作的“模式”书。相反,本书侧重于可用于构建架构的过程和技术:与利益相关者的讨论、需求如何与架构相关以及如何就架构进行交流。因为从本质上讲,这就是架构的全部内容:传达是什么驱动要构建的系统,以及需要构建什么来实现这些要求。这本书更像是一本参考手册,不应从头到尾阅读。本书的前言中有一个读者指南,其中列出了您应该阅读的章节,具体取决于您的背景。精益创业作为软件工程师或开发人员,您最关心的是构建能够以尽可能最有效的方式解决问题的系统。然而,你有没有想过你正在构建的东西可能实际上并不能解决真正的问题,因此是不必要的?>埃里克·里斯(EricRies)的《精益创业》(TheLeanStartup)在此前提下,《精益创业》(LeanStartup)提出了一种开发新产品的方法和创新产品的方法,并仔细考虑您是否正在构建正确的产品。并非所有公司都是初创公司。但即使是大型组织中的创新项目和部门也可以学习和应用创业技术。这本书邀请你退后一步,看看我们在解决具体问题时往往会忘记的大局。领域驱动设计另一个经典著作,埃里克埃文斯(EricEvans)写了一本关于如何将软件设计与你试图解决的问题领域的心智模型相匹配的书。领域驱动设计是软件开发的核心:解决业务问题。>域驱动设计:EricEvans着的解决软件复杂性这本书涵盖了如何思考问题域、用于讨论它们的语言以及它们的组织方式。您的软件以反映您对软件不断增长的了解。结合简洁的代码和软件架构,这些技术应该成为每个软件工程师解决实际软件问题的工具箱。ProjectPhoenixBill是PartsUnlimited的IT经理。那是星期二早上,比尔开车去办公室时,接到了首席执行官打来的电话。该公司代号为PhoenixProject的新IT计划对PartsUnlimited的未来至关重要,但该项目远远超出预算且已延迟。CEO希望Bill直接向他报告并在90天内解决问题,否则Bill的整个部门将被外包。>ThePhoenixProject作者:GeneKim、KevinBehr和GeorgeSpaffordPhoenixProject讲述了一个IT组织偏离轨道的故事,以及让它重回正轨的过程。我知道这本书是关于IT运营的,而不是最令人兴奋的话题。但是《凤凰计划》将一个枯燥的话题变成了一个可以理解的叙述。再退后一步,看看那些花哨的未开发项目之外的大局,并考虑如何维护和操作您的编写软件。SiteReliabilityEngineering沿袭前本书的趋势,SiteReliabilityEngineering也关注设计和开发之后的软件生命周期。SRE解释了Google的运作方式,并且它们允许开发人员拥有他们构建的软件的日常健康状况。>站点可靠性工程:Google运行生产系统的方式旨在弥合希望尽快交付产品的开发团队与不想将任何东西投入生产的运营团队之间的差距。在本系列文章中,Google站点可靠性团队的主要成员解释了他们对整个生命周期的承诺如何以及为何使公司能够成功构建、部署、监控和维护世界上一些最大的软件系统。ThePracticalProgrammerThePracticalProgrammer涵盖了广泛的主题,从对工作和专业发展的个人责任到使代码灵活和可维护的架构技术。>ThePragmaticProgrammer作者AndrewHunt和DavidThomas如果我列表中的其他书籍看起来不合适,那么ThePragmaticProgrammer提供了对软件工程领域的更全面的介绍,并涉及其他书籍涵盖的许多更详细的主题。RedoReWork是此列表中较轻的书籍之一。从某种意义上说,这本书不像传统小说那样写。这本书更像是作者在37Signals期间收集的见解的集合。>JasonFried和DavidHeinemeierHansson的改造37Signals(现在称为Basecamp)是世界上较小的公司之一,但也是世界上最著名的网络公司之一,部分原因是他们发明了一个RubyonRails框架。鉴于故意将小公司和大公司结合起来的奇怪组合,Rework的作者对当今的工作和业务状况提供了独特的视角和见解。设计数据密集型应用软件工程时代,数据无处不在,数据为王。越来越多的不仅仅是设计出色的应用程序,还包括从这些应用程序中创建和捕获数据流以获取业务洞察力。>设计数据密集型应用程序,作者MartinKleppmann设计数据密集型应用程序提供了一种小型数据工程百科全书。它涵盖了相当广泛的主题,并讨论了数据密集型分布式系统的许多原则和问题。鉴于数据变得越来越重要,提高您在该领域的知识绝对有用。结论接下来,我建议你作为软件工程师在2026年读读这10本书。这里是我过去读过的一些书,我计划在来年读一些。希望这份清单能激发您选择其中一本书并学习新知识。如果您有自己的书籍建议,请访问评论,我们很乐意听取他们的建议!原文链接:https://medium.com/codex/10-software-engineering-books-to-read-in-2021-181a4f093e60