100 Best Software Architecture Books of All Time

We've ranked the best software architecture books using expert recommendations, sales data, and millions of reader ratings. At Shortform, we know books. Our book guides are the best in the world. Learn why.

Clean Architecture book cover1

Clean Architecture

Robert C. Martin

5.0
Building upon the success of best-sellers The Clean Coder and Clean Code, legendary software craftsman Robert C. "Uncle Bob" Martin shows how to bring greater professionalism and discipline to application architecture and design.
As with his other books, Martin's Clean Architecture doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to ma
Clean Code: A Handbook of Agile Software Craftsmanship book cover2

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin

4.9
Even bad code can function. But if code isn t clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn t have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with
The Mythical Man-Month: Essays on Software Engineering book cover3

The Mythical Man-Month: Essays on Software Engineering

Frederick P. Brooks Jr.

4.9
Few books on software project management have been as influential and timeless as The Mythical Man-Month. With a blend of software engineering facts and thought-provoking opinions, Fred Brooks offers insight for anyone managing complex projects. These essays draw from his experience as project manager for the IBM System/360 computer family and then for OS/360, its massive software system. Now, 20
The Pragmatic Programmer: From Journeyman to Master book cover4

The Pragmatic Programmer: From Journeyman to Master

Andrew Hunt and David Thomas

4.9
-- Ward Cunningham Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques fo
Building Microservices: Designing Fine-Grained Systems book cover5

Building Microservices: Designing Fine-Grained Systems

Sam Newman

4.9
Distributed systems have become more fine-grained in the past 10 years, shifting from code-heavy monolithic applications to smaller, self-contained microservices. But developing these systems brings its own set of headaches. With lots of examples and practical advice, this book takes a holistic view of the topics that system architects and administrators must consider when building, managing, and
Designing Data-Intensive Applications book cover6

Designing Data-Intensive Applications

Martin Kleppmann

4.9
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change.

Proven approaches such as service-oriented and event-driven architectures are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream processing. Many of these patterns are successful by thems
Patterns of Enterprise Application Architecture book cover7

Patterns of Enterprise Application Architecture

Martin Fowler

4.8
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their develop
Domain-Driven Design: Tackling Complexity in the Heart of Software book cover8

Domain-Driven Design: Tackling Complexity in the Heart of Software

Eric Evans

4.8
"Eric Evans has written a fantastic book on how you can make the design of your software match your mental model of the problem domain you are addressing. "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric th
Windows Internals, Part 1: User Mode book cover9

Windows Internals, Part 1: User Mode

Pavel Yosifovich, Mark E. Russinovich, et al.

4.7
Delve inside Windows architecture and internals - and see how core components work behind the scenes. This classic guide has been fully updated for Windows 8.1 and Windows Server 2012 R2, and now presents its coverage in three volumes: Book 1, User Mode; Book 2, Kernel Mode; Book 3, Device Driver Models.

In Book 1, you'll plumb Windows fundamentals, independent of platform - server, desktop, tablet
10

Code Complete

Steve McConnell

4.7
Widely considered one of the best practical guides to programming, Steve McConnell's original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices--and hundreds of new code samples--illustrating the art and science of software construction. Capturing the body of knowledge availab
11

The Clean Coder: A Code of Conduct for Professional Programmers

Robert Martin

4.6
Programmers who endure and succeed amidst swirling uncertainty and nonstop pressure share a common attribute: They care deeply about the practice of creating software. They treat it as a craft. They are professionals. In The Clean Coder: A Code of Conduct for Professional Programmers, legendary software expert Robert C. Martin introduces the disciplines, techniques, tools, and practices of true
Design Patterns: Elements of Reusable Object-Oriented Software book cover12

Design Patterns: Elements of Reusable Object-Oriented Software

Erich; Helm John Gamma

4.6
Capturing a wealth of experience about the design of object-oriented software, four top-notch designers present a catalog of simple and succinct solutions to commonly occurring design problems. Previously undocumented, these 23 patterns allow designers to create more flexible, elegant, and ultimately reusable designs without having to rediscover the design solutions themselves.

The authors begin by
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions book cover13

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Gregor Hohpe, Bobby Woolf

4.6
Enterprise Integration Patterns provides an invaluable catalog of sixty-five patterns, with real-world solutions that demonstrate the formidable of messaging and help you to design effective messaging solutions for your enterprise. The authors also include examples covering a variety of different integration technologies, such as JMS, MSMQ, TIBCO ActiveEnterprise, Microsoft BizTalk, SOAP, and XSL.
14

Fundamentals of Software Architecture: An Engineering Approach

Mark Richards

4.6
Although salary surveys worldwide regularly identify software architect as one of the top ten best jobs, no decent guides exist to help developers become architects. Until now. This practical guide provides the first comprehensive overview of software architecture's many aspects. You'll examine architectural characteristics, architectural patterns, component determination, diagramming and presenti
15

Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith

Sam Newman

4.5

How do you detangle a monolithic system and migrate it to a microservice architecture? How do you do it while maintaining business-as-usual? As a companion to Sam Newman’s extremely popular Building Microservices, this new book details a proven method for transitioning an existing monolithic system to a microservice architecture.

With many illustrative examples, insightful migration patterns, and a

16

Software Architecture in Practice

Len Bass, Paul Clements, Rick Kazman

4.5

This award-winning book, substantially updated to reflect the latest developments in the field, introduces the concepts and best practices of software architecture—how a software system is structured and how that system's elements are meant to interact. Distinct from the details of implementation, algorithm, and data representation, an architecture holds the key to achieving system quality, is a r

Refactoring: Improving the Design of Existing Code book cover17

Refactoring: Improving the Design of Existing Code

Martin Fowler

4.5
Fully Revised and Updated-Includes New Refactorings and Code Examples"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
--M. Fowler (1999) For more than twenty years, experienced programmers worldwide have relied on Martin Fowler's Refactoring to improve the design of existing code and to enhance software maintainability, as well as to
18

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation

Jez Humble and David Farley

4.4
Winner of the 2011 Jolt Excellence Award!

Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration betwe
The Soul of a New Machine book cover19

The Soul of a New Machine

Tracy Kidder

4.4
The computer revolution brought with it new methods of getting work done—just look at today's news for reports of hard-driven, highly-motivated young software and online commerce developers who sacrifice evenings and weekends to meet impossible deadlines. Tracy Kidder got a preview of this world in the late 1970s when he observed the engineers of Data General design and build a new 32-bit minicomp
20

Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)

Michael T. Nygard

4.4
Whether it's in Java, .NET, or Ruby on Rails, getting your application ready to ship is only half the battle. Did you design your system to survivef a sudden rush of visitors from Digg or Slashdot? Or an influx of real world customers from 100 different countries? Are you ready for a world filled with flakey networks, tangled databases, and impatient users?

If you're a developer and don't want to b
21

Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives

Nick Rozanski, Eóin Woods

4.4
Rozanski and Woods explain what software architecture is all about, and why the architect's role is vitally important to successful project delivery. This practical, practitioner-oriented guide explains how to design successful architectures for information systems and to see these through to their successful implementation.
Head First Design Patterns book cover22

Head First Design Patterns

Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson

4.4
You're not alone.

At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you
Accelerate: Building and Scaling High-Performing Technology Organizations book cover23

Accelerate: Building and Scaling High-Performing Technology Organizations

Nicole Forsgren PhD

4.4
Does technology actually matter? And how can we apply technology to drive business value? For years, we've been told that the performance of software delivery teams doesn't matter--that it can't provide a competitive advantage to our companies. Through four years of groundbreaking research, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to find a way to measure software delivery performance
24

Software Architect's Handbook: Grow in your career to think and function as a Software Architect

Joseph Ingeno

4.3
25

A Philosophy of Software Design

John Ousterhout

4.3
Architecture Patterns with Python: How to Apply DDD, Ports and Adapters, and Enterprise Architecture Design Patterns in a Pythonic Way book cover26

Architecture Patterns with Python: How to Apply DDD, Ports and Adapters, and Enterprise Architecture Design Patterns in a Pythonic Way

Harry Percival, Bob Gregory

4.3
As Python continues to grow in popularity, projects are becoming larger and more complex. Many Python developers are now taking an interest in high-level software architecture patterns such as hexagonal/clean architecture, event-driven architecture, and strategic patterns prescribed by domain-driven design (DDD). But translating those patterns into Python isn't always straightforward.

With this pra
27

Building Evolutionary Architectures: Support Constant Change

Neal Ford, Rebecca Parsons, Patrick Kua

4.3
The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it ev
28

The Software Craftsman: Professionalism, Pragmatism, Pride

Sandro Mancuso Mancuso

4.3
Be a Better Developer and Deliver Better Code Despite advanced tools and methodologies, software projects continue to fail. Why? Too many organizations still view software development as just another production line. Too many developers feel that way, too--and they behave accordingly. In The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso offers a better and more fulfillin
Practical Object Oriented Design in Ruby book cover29

Practical Object Oriented Design in Ruby

Sandi Metz

4.3
The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications Ruby's widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using
Microservice Patterns book cover30

Microservice Patterns

Chris Richardson, Aiden Humphreys, et al

4.3
The monolithic architecture works well for small, simple applications. However, successful applications have a habit of growing. Eventually the development team ends up in what is known as monolithic hell. All aspects of software development and deployment become painfully slow. The solution is to adopt the microservice architecture, which structures an application as a services, organized around
Site Reliability Engineering: How Google Runs Production Systems book cover31

Site Reliability Engineering: How Google Runs Production Systems

Niall Richard Murphy, Betsy Beyer, et al.

4.3
The overwhelming majority of a software system's lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems?

In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle
32

37 Things One Architect Knows

Gregor Hohpe

4.3
Working Effectively with Legacy Code book cover33

Working Effectively with Legacy Code

Michael Feathers

4.3
Get more out of your legacy systems, more performance, functionality, reliability, and manageability.Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts.

In this book, Michael Feathers offers start-t
97 Things Every Software Architect Should Know: Collective Wisdom from the Experts book cover34

97 Things Every Software Architect Should Know: Collective Wisdom from the Experts

Richard Monson-Haefel

4.3
In this truly unique technical book, today's leading software architects present valuable principles on key development issues that go way beyond technology. More than four dozen architects -- including Neal Ford, Michael Nygard, and Bill de hOra -- offer advice for communicating with stakeholders, eliminating complexity, empowering developers, and many more practical lessons they've learned from
35

Implementing Domain-Driven Design

Vaughn Vernon

4.3
Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations.
Computer Organization & Design: The Hardware/Software Interface book cover36

Computer Organization & Design: The Hardware/Software Interface

David A. Patterson, John L. Hennessy

4.3
The performance of software systems is dramatically affected by how well software designers understand the basic hardware technologies at work in a system. Similarly, hardware designers must understand the far-reaching effects their design decisions have on software applications. For readers in either category, this classic introduction to the field provides a look deep into the computer. It demon
Software Engineering at Google: Lessons Learned from Programming Over Time book cover37

Software Engineering at Google: Lessons Learned from Programming Over Time

Titus Winters, Tom Manshreck, et al.

4.3
38

The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations

Gene Kim, Patrick Debois, John Willis, Jez Humble, John Allspaw

4.2
Increase profitability, elevate work culture, and exceed productivity goals through DevOps practices.

More than ever, the effective management of technology is critical for business competitiveness. For decades, technology leaders have struggled to balance agility, reliability, and security. The consequences of failure have never been greater whether it's the healthcare.gov debacle, cardholder data
39

Just Enough Software Architecture: A Risk-Driven Approach

George H. Fairbanks

4.2
This practical guide seeks to make architecture relevant to all software developers. Developers need to understand how to use constraints as guiderails that ensure desired outcomes, and how seemingly small changes can affect a system's properties.
40

Agile Software Development, Principles, Patterns, and Practices

Robert C. Martin

4.2
Written by a software developer for software developers, this book is a unique collection of the latest software development methods. The author includes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application--
41

Game Programming Patterns

Robert Nystrom

4.2
Game Programming Patterns brings the benefits of reusable design patterns to the world of game programming. Commercial game development expert Robert Nystrom presents an array of general solutions to problems encountered in game development. For example, you'll learn how double-buffering enables a player to perceive smooth and realistic motion, and how the service locator pattern can help you prov
But How Do It Know? - The Basic Principles of Computers for Everyone book cover42

But How Do It Know? - The Basic Principles of Computers for Everyone

J Clark Scott

4.2
Finally, this brand new book exposes the secrets of computers for everyone to see. Its humorous title begins with the punch line of a classic joke about someone who is baffled by technology.

It was written by a 40-year computer veteran who wants to take the mystery out of computers and allow everyone to gain a true understanding of exactly what computers are, and also what they are not.

Years of w
43

Designing Software Architectures: A Practical Approach

Humberto Cervantes, Rick Kazman

4.2
Designing Software Architectures" will teach you how to design any software architecture in a systematic, predictable, repeatable, and cost-effective way.
This book introduces a practical methodology for architecture design that any professional software engineer can use, provides structured methods supported by reusable chunks of design knowledge, and includes rich case studies that demonstrate
44

Software Estimation: Demystifying the Black Art

Steve McConnell

4.2
Often referred to as the "black art" because of its complexity and uncertainty, software estimation is not as difficult or puzzling as people think. In fact, generating accurate estimates is straightforward--once you understand the art of creating them. In his highly anticipated book, acclaimed author Steve McConnell unravels the mystery to successful software estimation--distilling academic infor
45

Patterns Principles and Practices of Domain Driven Design

Scott Millett and Nick Tun

4.2
This book distils the ideas and theories of the Domain-Driven Design (DDD) philosophy into a practical play-book that you can leverage to simplify application development for complex problem domains. A focus is placed on the principles and practices of decomposing a complex problem space as well as the implementation patterns and best practices for shaping a maintainable solution space.
Web Scalability for Startup Engineers book cover46

Web Scalability for Startup Engineers

Artur Ejsmont

4.2
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.
Design and build scalable web applications quicklyThis is an invaluable roadmap for meeting the rapid demand to deliver scalable applications in a startup environment. With a focus on core concepts and best pract
47

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development

Craig Larman

4.2
Applying UML and Patterns is the world’s #1 business and college introduction to “thinking in objects” - and using that insight in real-world object-oriented analysis and design. Building on two widely acclaimed previous editions, Craig Larman has updated this book to fully reflect the new UML 2 standard, to help you master the art of object design, and to promote high-impact, iterative, and skill
48

Beyond Software Architecture: Creating and Sustaining Winning Solutions

Luke Hohmann

4.2
Contains insights and lessons about creating winning software solutions in the context of a real-world business. This book provides practical techniques that development executives can employ to improve the productivity of their software organization. It deals with issues like licensing, deployment, installation, configuration, and support.
Digital Design and Computer Architecture, RISC-V Edition: RISC-V Edition book cover49

Digital Design and Computer Architecture, RISC-V Edition: RISC-V Edition

Sarah Harris, David Harris

4.2

The newest addition to the Harris and Harris family of Digital Design and Computer Architecture books, this RISC-V Edition covers the fundamentals of digital logic design and reinforces logic concepts through the design of a RISC-V microprocessor. Combining an engaging and humorous writing style with an updated and hands-on approach to digital design, this book takes the reader from the fundamenta

50

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Martin Fowler

4.2
More than 300,000 developers have benefited from past editions of UML Distilled . This third edition is the best resource for quick, no-nonsense insights into understanding and using UML 2.0 and prior versions of the UML. Some readers will want to quickly get up to speed with the UML 2.0 and learn the essentials of the UML. Others will use this book as a handy, quick reference to the most common
51

Essential Software Architecture

Ian Gorton

4.2
Job titles like "Technical Architect" and "Chief Architect" nowadays abound in the software industry, yet many people suspect that "architecture" is one of the most overused and least understood terms in professional software development.

Gorton's book helps resolve this predicament. It concisely describes the essential elements of knowledge and key skills required to be a software architect. The e
52

Pattern-Oriented Software Architecture Volume 1: A System of Patterns

Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal

4.2
Pattern-oriented software architecture is a new approach to software development. This book represents the progression and evolution of the pattern approach into a system of patterns capable of describing and documenting large-scale applications. A pattern system provides, on one level, a pool of proven solutions to many recurring design problems. On another it shows how to combine individual patt
Digital Design and Computer Architecture book cover53

Digital Design and Computer Architecture

David Harris, Sarah Harris

4.2
Digital Design and Computer Architecture is designed for courses that combine digital logic design with computer organization/architecture or that teach these subjects as a two-course sequence. Digital Design and Computer Architecture begins with a modern approach by rigorously covering the fundamentals of digital logic design and then introducing Hardware Description Languages (HDLs). Featuring e
54

Mastering Xamarin.Forms: App architecture techniques for building multi-platform, native mobile apps with Xamarin.Forms 4, 3rd Edition

Ed Snider

4.2
55

Design It!: From Programmer to Software Architect

Michael Keeling

4.2
Don't engineer by coincidence-design it like you mean it! Filled with practical techniques, Design It! is the perfect introduction to software architecture for programmers who are ready to grow their design skills. Lead your team as a software architect, ask the right stakeholders the right questions, explore design options, and help your team implement a system that promotes the right -ilities. S
56

NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence

Pramod J. Sadalage

4.1
The need to handle increasingly larger data volumes is one factor driving the adoption of a new class of nonrelational "NoSQL" databases. Advocates of NoSQL databases claim they can be used to build systems that are more performant, scale better, and are easier to program." ""NoSQL Distilled" is a concise but thorough introduction to this rapidly emerging technology. Pramod J. Sadalage and Martin
Test Driven Development: By Example book cover57

Test Driven Development: By Example

Kent Beck

4.1
Follows two TDD projects from start to finish, illustrating techniques programmers can use to increase the quality of their work. The examples are followed by references to the featured TDD patterns and refactorings. This book emphasises on agile methods and fast development strategies.
The Elements of Computing Systems: Building a Modern Computer from First Principles book cover58

The Elements of Computing Systems: Building a Modern Computer from First Principles

Noam Nisan and Shimon Schocken

4.1
In the early days of computer science, the interactions of hardware, software, compilers, and operating system were simple enough to allow students to see an overall picture of how computers worked. With the increasing complexity of computer technology and the resulting specialization of knowledge, such clarity is often lost. Unlike other texts that cover only one aspect of the field, The Elements
59

Brutal Refactoring: More Working Effectively with Legacy Code

Michael Feathers

4.1
Most software professionals spend much of their time working with someone else's brutally imperfect code. When you consider the serious constraints that legacy code was created under, it's no surprise it looks so bad. The question is: now what? In Brutal Refactoring, Michael Feathers starts with code bases "as they are," not as "we pretend them to be" - and shows how to aggressively reshape them t
Computer Architecture: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design) book cover60

Computer Architecture: A Quantitative Approach (The Morgan Kaufmann Series in Computer Architecture and Design)

John L. Hennessy, David A. Patterson, Christos Kozyrakis

4.1

Computer Architecture: A Quantitative Approach, has been considered essential reading by instructors, students and practitioners of computer design for nearly 30 years. The seventh edition of this classic textbook from John Hennessy and David Patterson, winners of the 2017 ACM A.M. Turing Award recognizing contributions of lasting and major technical importance to the computing field, along with n

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# book cover61

Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#

Scott Wlaschin

4.1
You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and c
62

Terraform: Up & Running: Writing Infrastructure as Code

Yevgeniy Brikman

4.1
Terraform has become a key player in the DevOps world for defining, launching, and managing infrastructure as code (IaC) across a variety of cloud and virtualization platforms, including AWS, Google Cloud, Azure, and more. This hands-on second edition, expanded and thoroughly updated for Terraform version 0.12 and beyond, shows you the fastest way to get up and running.

Gruntwork cofounder Yevgeniy
63

Refactoring to Patterns

Joshua Kerievsky

4.1
In 1994, "Design Patterns" changed the landscape of object-oriented development by introducing classic solutions to recurring design problems. In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutiona
64

Performance Modeling and Design of Computer Systems: Queueing Theory in Action

Mor Harchol-Balter

4.1
Computer systems design is full of conundrums: -Given a choice between a single machine with speed s, or n machines each with speed s/n, which should we choose?
-If both the arrival rate and service rate double, will the mean response time stay the same?
-Should systems really aim to balance load, or is this a convenient myth? -If a scheduling policy favors one set of jobs, does it necessarily hur
Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers book cover65

Bare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers

Israel Gbati

4.1

Become proficient in designing and developing embedded systems and reduce reliance on third-party librariesGet With Your Book: PDF Copy, AI Assistant, and Next-Gen Reader FreeKey FeaturesLearn to develop bare-metal firmware for Arm microcontrollers from scratchUnderstand hardware intricacies to minimize your dependency on third-party librariesNavigate microcontroller manuals with ease and learn to

66

Documenting Software Architectures: Views and Beyond

Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford

4.1
For all but the most trivial software systems, you must pay close attention to its architecture, the conceptual glue that holds every phase of a project together.
Building Your Own Computer Made Easy: The Step By Step Guide (Computers Made Easy) book cover67

Building Your Own Computer Made Easy: The Step By Step Guide (Computers Made Easy)

James Bernstein

4.1
The Azure Cloud Native Architecture Mapbook: Design and build Azure architectures for infrastructure, applications, data, AI, and security book cover68

The Azure Cloud Native Architecture Mapbook: Design and build Azure architectures for infrastructure, applications, data, AI, and security

Stéphane Eyskens

4.1

EndorsementsWhether you’re a developer who’s become architecture-curious, an architect who wants to go deeper into Azure-native tooling, or a leader looking to design solutions that don’t just survive but thrive, this book has something for you. -Scott Hanselman, Vice President, Developer Community, MicrosoftBuild modern, secure, and scalable cloud-native solutions on Azure with expert-guided arch

69

The Architecture of Open Source Applications, Volume II

Amy Brown, Greg Wilson

4.1
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well - usually programs they wrote themselves - and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's success
Understanding Distributed Systems, Second Edition: What every developer should know about large distributed applications book cover70

Understanding Distributed Systems, Second Edition: What every developer should know about large distributed applications

Roberto Vitillo

4.1

Learning to build distributed systems is hard, especially if they are large scale. It's not that there is a lack of information out there. You can find academic papers, engineering blogs, and even books on the subject. The problem is that the available information is spread out all over the place, and if you were to put it on a spectrum from theory to practice, you would find a lot of material at

71

Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java

Tom Homberg

4.1
72

Production-Ready Microservices: Building Standardized Systems Across an Engineering Organization

Susan Fowler

4.1
One of the biggest challenges for organizations that have adopted microservice architecture is the lack of architectural, operational, and organizational standardization. After splitting a monolithic application or building a microservice ecosystem from scratch, many engineers are left wondering what s next. In this practical book, author Susan Fowler presents a set of microservice standards in de
Head First Software Architecture: A Learner's Guide to Architectural Thinking book cover73

Head First Software Architecture: A Learner's Guide to Architectural Thinking

Raju Gandhi, Mark Richards, Neal Ford

4.1

What will you learn from this book? If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. From the authors of Fundamentals of Software Architecture, Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of software architecture. You'll learn the distinction between arch

74

Digital Computer Electronics

MALVINO MN

4.1
75

Windows Kernel Programming

Pavel Yosifovich

4.1
There is nothing like the power of the kernel in Windows - but how do you write kernel drivers to take advantage of that power? This book will show you how.The book describes software kernel drivers programming for Windows. These drivers don't deal with hardware, but rather with the system itself: processes, threads, modules, registry and more. Kernel code can be used for monitoring important even
Enterprise Architecture As Strategy: Creating a Foundation for Business Execution book cover76

Enterprise Architecture As Strategy: Creating a Foundation for Business Execution

Jeanne W. Ross, Peter Weill, David Robertson

4.1
Does it seem you’ve formulated a rock-solid strategy, yet your firm still can’t get ahead? If so, construct a solid foundation for business execution—an IT infrastructure and digitized business processes to automate your company’s core capabilities. In Enterprise Architecture as Strategy: Creating a Foundation for Business Execution, authors Jeanne W. Ross, Peter Weill, and David C. Robertson show
77

Spring Microservices in Action

John Carnell

4.1
With microservices, you build applications from very small, loosely coupled, and distributed services. Spring Boot and Spring Cloud offer Java developers an easy migration path from traditional monolithic Spring applications to microservice-based applications that can be deployed to multiple cloud platforms. The Spring Boot and Spring Cloud frameworks let you quickly build microservices that are r
Compilers: Principles, Techniques, and Tools book cover78

Compilers: Principles, Techniques, and Tools

Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman

4.0
This introduction to compilers is the direct descendant of the well-known book by Aho and Ullman, Principles of Compiler Design. The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state mach
79

Growing Object-Oriented Software, Guided by Tests

Steve Freeman, Nat Pryce

4.0
Foreword by Kent Beck "The authors of this book have led a revolution in the craft of programming by controlling the environment in which software grows." --Ward Cunningham "At last, a book suffused with code that exposes the deep symbiosis between TDD and OOD. This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas i
Refactoring: Ruby Edition, Adobe Reader book cover80

Refactoring: Ruby Edition, Adobe Reader

Jay Fields, Shane Harvie, et al

4.0
Computer Architecture: A Quantitative Approach book cover81

Computer Architecture: A Quantitative Approach

John L. Hennessy, David A. Patterson

4.0

The computing world today is in the middle of a revolution: mobile clients and cloud computing have emerged as the dominant paradigms driving programming and hardware innovation today. The Fifth Edition of Computer Architecture focuses on this dramatic shift, exploring the ways in which software and technology in the cloud are accessed by cell phones, tablets, laptops, and other mobile computing d

82

Object-Oriented Design Heuristics

Arthur J. Riel

4.0
Provides a set of metrics that helps determine the quality of object-oriented models. This book offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design.
83

Scalability Rules: 50 Principles for Scaling Web Sites

Martin L. Abbott, Michael T. Fisher

4.0
"Once again, Abbott and Fisher provide a book that I'll be giving to our engineers. It's an essential read for anyone dealing with scaling an online business."--Chris Lalonde, VP, Technical Operations and Infrastructure Architecture, Bullhorn "Abbott and Fisher again tackle the difficult problem of scalability in their unique and practical manner. Distilling the challenges of operating a fast-grow
Engineering a Compiler book cover84

Engineering a Compiler

Keith Cooper

4.0
The proliferation of processors, environments, and constraints on systems has cast compiler technology into a wider variety of settings, changing the compiler and compiler writer's role. No longer is execution speed the sole criterion for judging compiled code. Today, code might be judged on how small it is, how much power it consumes, how well it compresses, or how many page faults it generates.
85

Software Design X-Rays: Fix Technical Debt with Behavioral Code Analysis

Adam Tornhil

4.0
Are you working on a codebase where cost overruns, death marches, and heroic fights with legacy code monsters are the norm? Battle these adversaries with novel ways to identify and prioritize technical debt, based on behavioral data from how developers work with code. And that’s just for starters. Because good code involves social design, as well as technical design, you can find surprising depend
86

The Design of Design: Essays from a Computer Scientist

Frederick P. Brooks Brooks

4.0
Making Sense of Design Effective design is at the heart of everything from software development to engineering to architecture. But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions. These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inhe
87

Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects

Douglas Schmidt, Michael Stal, Hans Rohnert, Frank Buschmann

4.0
Designing application and middleware software to run in concurrent and networked environments is a significant challenge to software developers. The patterns catalogued in this second volume of Pattern-Oriented Software Architectures (POSA) form the basis of a pattern language that addresses issues associated with concurrency and networking.

The book presents 17 interrelated patterns ranging from
Java 8 in Action: Lambdas, Streams, and Functional-Style Programming book cover88

Java 8 in Action: Lambdas, Streams, and Functional-Style Programming

Raoul-Gabriel Urma, Mario Fusco, et al.

4.0
Summary

"Java 8 in Action" is a clearly written guide to the new features of Java 8. The book covers lambdas, streams, and functional-style programming. With Java 8's functional features you can now write more concise code in less time, and also automatically benefit from multicore architectures. It's time to dig in!

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats f
89

Learning Malware Analysis

Monnappa K A

4.0
The Art of Systems Architecting (Systems Engineering) book cover90

The Art of Systems Architecting (Systems Engineering)

Mark W. Maier and Eberhardt Rechtin (deceased)

4.0
91

Computer and Information Security Handbook

John R. Vacca

4.0
The second edition of this comprehensive handbook of computer and information security serves as a professional reference and practitioner s guide providing the most complete view computer security and privacy available. It offers in-depth coverage of security theory, technology, and practice as they relate to established technologies as well as recent advancements. It explores practical solutions
Solutions Architect's Handbook: Kick-start your career with architecture design principles, strategies, and generative AI tec book cover92

Solutions Architect's Handbook: Kick-start your career with architecture design principles, strategies, and generative AI tec

Saurabh Shrivastava, Neelanjali Srivastav, Rajesh Sheth, Kamal Arora, and Rohan Karmarkar

4.0
93

Couscous and Other Good Food from Morocco

Paula Wolfert

4.0
Since it was first published in 1973, Couscous and Other Good Food from Morocco has established itself as the classic work on one of the world’s great cuisines, and in 2008 it was inducted into the James Beard Cookbook Hall of Fame. From the magnificent bisteeyas (enormous, delicate pies composed of tissue-thin, buttery layers of pastry and various fillings) to endless varieties of couscous, Paula
94

Neural Networks and Deep Learning

Charu C. Aggarwa

4.0
Neural Networks and Deep Learning is a free online book. The book will teach you about:
* Neural networks, a beautiful biologically-inspired programming paradigm which enables a computer to learn from observational data
* Deep learning, a powerful set of techniques for learning in neural networks

Neural networks and deep learning currently provide the best solutions to many problems in image recognit
95

The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise

Martin L. Abbott, Michael T. Fisher

4.0
A Comprehensive, Proven Approach to IT Scalability from Two Veteran Software, Technology, and Business Executives In "The Art of Scalability, " AKF Partners cofounders Martin L. Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managin
96

Software Architecture: Foundations, Theory, and Practice

R. N. Taylor, N. Medvidovic, E. M. Dashofy

4.0
Software architecture is foundational to the development of large, practical software-intensive applications. This brand-new text covers all facets of software architecture and how it serves as the intellectual centerpiece of software development and evolution. Critically, this text focuses on supporting creation of real implemented systems. Hence the text details not only modeling techniques, but
How Computers Work: The Evolution of Technology, 10th Edition (How It Works) book cover97

How Computers Work: The Evolution of Technology, 10th Edition (How It Works)

Ron White and Timothy Edward Downs

4.0
Platform Engineering: A Guide for Technical, Product, and People Leaders book cover98

Platform Engineering: A Guide for Technical, Product, and People Leaders

Camille Fournier and Ian Nowland

4.0

Until recently, infrastructure was the backbone of organizations' operating software they developed in-house. But now that cloud vendors run the computers, companies can finally bring the benefits of agile custom-centricity to their own developers. Adding product management to infrastructure organizations is now all the rage. But how's that possible when infrastructure is still the operational lay

A Practical Guide to Sysml: The Systems Modeling Language book cover99

A Practical Guide to Sysml: The Systems Modeling Language

Sanford Friedenthal

4.0
100

Laravel: From Apprentice To Artisan

Taylor Otwell

4.0
Written by the creator of Laravel, this is the definitive guide to advanced application development with Laravel 4. Learn about dependency injection, interfaces, service providers, SOLID design, and more while exploring practical, real-world code examples. Whether you're building a robust, large application with the Laravel framework, or just want to sharpen your software design chops, this book w