Skip to main content

Books for developers: what to read and why

Which technical book should you read? It depends on the problem you have today, not on the most famous title. If your code is hard to change, start with Clean Code and Refactoring. If you must design a system, start with Clean Architecture and Designing Data-Intensive Applications. If you are preparing for an interview, start with Cracking the Coding Interview.

This page gathers 50 books across 8 areas. Each card answers four questions: which problem it solves, who it is for and who it is not for, what it really contains and what you will be able to do afterwards. Publisher, year, pages and ISBN are those of the listed edition; topics are described without promising anything the book does not deliver.

From problem to book

All the cards

50 books found

🧮 Foundations and Algorithms Advanced

Introduction to Algorithms

Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

The problem it solves. You pick data structures and algorithms by gut feeling and cannot prove why one solution beats another. CLRS gives you the vocabulary and the proofs to reason about it.

MIT Press20221312 pg.ISBN 978-0262046305
Who it is for
Developers with some experience who want solid foundations: computer science students, people preparing for roles where complexity matters, anyone who needs a reference.
Who it is not for
Readers looking for copy-paste code or a first programming book: algorithms are in pseudocode and the maths is dense.
What it contains
  • Sorting, searching and complexity analysis with asymptotic notation
  • Data structures: heaps, hash tables, balanced search trees
  • Dynamic programming, greedy algorithms and amortised analysis
  • Graph algorithms: shortest paths, spanning trees, flows
  • NP-completeness and the limits of efficient computation
What you will be able to do
You can estimate the complexity of a solution, choose the right data structure and recognise when a problem is intrinsically hard.

Read next, or instead:Algorithms, Concrete Mathematics

🧮 Foundations and Algorithms Advanced

Structure and Interpretation of Computer Programs

Harold Abelson, Gerald Jay Sussman

The problem it solves. You can use languages but do not really grasp what a program, an abstraction or an interpreter is. SICP rebuilds those ideas from scratch.

MIT Press1996657 pg.ISBN 978-0262510875
Who it is for
Readers who want to understand programming deeply, not just syntax: curious students and developers with a few years of experience who feel the limits of framework-only knowledge.
Who it is not for
Anyone who needs a skill they can bill tomorrow on a trendy stack: the examples are in Scheme and the payoff is long-term.
What it contains
  • Procedures, recursion and computational processes
  • Data abstraction and programming with state
  • Modularity, objects and streams
  • Metacircular languages: writing an evaluator for the language itself
  • Register machines and the principles of compilation
What you will be able to do
You break problems into clean abstractions and, above all, you can write a small interpreter: frameworks stop looking like magic.

Read next, or instead:Introduction to Algorithms, Gödel, Escher, Bach

🧮 Foundations and Algorithms Advanced

The Art of Computer Programming, Volume 1

Donald E. Knuth

The problem it solves. You want to know how lists, trees and memory allocation really work, with rigorous cost analysis. Volume 1 of Knuth is the foundation of the series.

Addison-Wesley2011652 pg.ISBN 978-0201896831
Who it is for
Readers who love the mathematics of algorithms and have time for slow study: researchers, advanced students, people who enjoy rigour.
Who it is not for
Anyone who must solve a work problem this week: it is a reference to study, not a quick guide, and it uses a teaching assembly language (MIX).
What it contains
  • Basic concepts: induction, mathematical tools and the MIX teaching machine
  • Information structures: stacks, queues, linked lists, trees
  • Dynamic memory allocation
  • Graded exercises, with solutions, of widely varying difficulty
What you will be able to do
You can analyse the cost of a data structure in detail and read the classic algorithms literature without tripping over the notation.

Read next, or instead:Introduction to Algorithms, Concrete Mathematics

🧮 Foundations and Algorithms Intermediate

Algorithms

Robert Sedgewick, Kevin Wayne

The problem it solves. You want to learn classic algorithms by watching them run, not just by reading proofs. Sedgewick and Wayne implement them in Java and measure them.

Addison-Wesley2011976 pg.ISBN 978-0321573513
Who it is for
Readers who know Java (or a similar language) and want a more practical route than CLRS: students, self-taught developers, interview candidates.
Who it is not for
Anyone who does not write Java and does not want to read it, or who wants the deepest theoretical treatment available.
What it contains
  • Fundamentals: bags, stacks, queues, union-find and performance analysis
  • Sorting and priority queues
  • Searching: binary search trees, balanced trees, hash tables
  • Directed and undirected graphs, shortest paths
  • Strings: tries, substring search, regular expressions, compression
What you will be able to do
You implement the core algorithms yourself, time them, and choose between alternatives with data in hand.

Read next, or instead:Introduction to Algorithms, Cracking the Coding Interview

🧮 Foundations and Algorithms Advanced

Concrete Mathematics

Ronald L. Graham, Donald E. Knuth, Oren Patashnik

The problem it solves. The formulas needed to analyse a loop or a recurrence look like tricks. Here they become a method: sums, recurrences, generating functions.

Addison-Wesley1994672 pg.ISBN 978-0201558029
Who it is for
Readers studying algorithm analysis, cryptography or number theory who want to handle discrete maths fluently.
Who it is not for
Anyone after direct applications to everyday code: the link to programming is real, but it goes through a lot of algebra.
What it contains
  • Sums and recurrences
  • Integer functions and number theory
  • Binomial coefficients and generating functions
  • Discrete probability
  • Asymptotic analysis
What you will be able to do
You solve the recurrences and sums that appear when analysing an algorithm, instead of guessing the order of magnitude.

Read next, or instead:Introduction to Algorithms, The Art of Computer Programming, Volume 1

🧮 Foundations and Algorithms Intermediate

Gödel, Escher, Bach: An Eternal Golden Braid

Douglas Hofstadter

The problem it solves. You wonder what recursion, self-reference and "understanding" mean for a machine. GEB tackles it with dialogues, music and logic.

Basic Books1999777 pg.ISBN 978-0465026562
Who it is for
Readers curious about the foundations of intelligence and formal systems who enjoy long, playful reading.
Who it is not for
Anyone looking for techniques to apply at work: it is not a manual and it is long. The aim is a different way of thinking, not an immediate skill.
What it contains
  • Formal systems and Gödel's incompleteness theorem
  • Recursion and self-reference in logic, music and art
  • Dialogues between Achilles and the Tortoise that open each chapter
  • Reflections on mind, meaning and artificial intelligence
What you will be able to do
You gain a richer mental model of recursion and of the limits of formal systems, useful for reading the AI debate critically.

Read next, or instead:Structure and Interpretation of Computer Programs, Concrete Mathematics

🏛️ Patterns and Architecture Intermediate

Design Patterns: Elements of Reusable Object-Oriented Software

Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides

The problem it solves. You keep redesigning the same solutions to recurring object-oriented design problems. The GoF catalogued and named them, so a team can discuss them in one word.

Addison-Wesley1994395 pg.ISBN 978-0201633610
Who it is for
Developers who have written object-oriented code for a while and want a shared vocabulary for design discussions.
Who it is not for
Beginners in OOP: the style is dense and the examples are in C++ and Smalltalk. For a first pass there is Head First Design Patterns.
What it contains
  • 23 patterns split into creational, structural and behavioural
  • For each pattern: intent, structure, participants, consequences, implementation
  • A case study designing a document editor
  • UML diagrams and sample code in C++ and Smalltalk
What you will be able to do
You recognise a pattern in someone else's code, name it in a review and know when NOT to apply it.

Read next, or instead:Head First Design Patterns, Patterns of Enterprise Application Architecture

🏛️ Patterns and Architecture Intermediate

Clean Architecture: A Craftsman's Guide to Software Structure and Design

Robert C. Martin

The problem it solves. The code works, but every change breaks something and the framework is everywhere. Clean Architecture shows how to separate business rules from details.

Prentice Hall2017432 pg.ISBN 978-0134494166
Who it is for
Developers and tech leads building applications meant to last years, with several people on the code.
Who it is not for
Anyone building a two-week prototype: separating layers has a cost and on a small project it may not pay off.
What it contains
  • SOLID principles and component cohesion and coupling principles
  • The dependency rule: dependencies point towards the business rules
  • Entities, use cases and boundaries between layers
  • Databases, web and frameworks treated as replaceable details
What you will be able to do
You design an application where domain and use cases do not depend on the database or framework and can be tested without starting anything.

Read next, or instead:Domain-Driven Design, Clean Code

🏛️ Patterns and Architecture Advanced

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

Eric Evans

The problem it solves. The software does not mirror how the business thinks, and developers and domain experts speak different languages. DDD builds a shared model.

Addison-Wesley2003560 pg.ISBN 978-0321125675
Who it is for
People working on complex domains (finance, healthcare, logistics): senior developers, architects, analysts.
Who it is not for
Anyone building simple CRUD or a showcase site: DDD has a modelling cost that does not pay off there. The text is also long and abstract.
What it contains
  • Ubiquitous language and the domain model
  • Model building blocks: entities, value objects, aggregates, repositories
  • Bounded contexts and context maps
  • Strategic design and domain distillation
What you will be able to do
You design a model that expresses business rules in code and know where to draw boundaries between parts of the system.

Read next, or instead:Clean Architecture, Building Microservices

🏛️ Patterns and Architecture Intermediate

Building Microservices: Designing Fine-Grained Systems

Sam Newman

The problem it solves. You want to split a monolith or design independent services without building a distributed monolith. Newman discusses costs and alternatives.

O'Reilly Media2021616 pg.ISBN 978-1492034025
Who it is for
Architects and developers evaluating or running a service-based system, with basic experience of APIs and deployment.
Who it is not for
Anyone with a small application and one team: a well-structured monolith is often the answer, and the book says so.
What it contains
  • Modelling services and decomposing a monolith
  • Communication styles: synchronous, asynchronous, event-driven
  • Building, deploying and testing microservices
  • Observability, resilience and security
  • Scaling and organisational aspects
What you will be able to do
You decide with explicit criteria whether and where to split out a service, and you know the operational costs you take on.

Read next, or instead:Domain-Driven Design, Designing Data-Intensive Applications

🏛️ Patterns and Architecture Advanced

Patterns of Enterprise Application Architecture

Martin Fowler

The problem it solves. You are unsure how to organise domain logic, data access and the web layer in a business application. Fowler catalogues the solutions with their trade-offs.

Addison-Wesley2002560 pg.ISBN 978-0321127426
Who it is for
Backend developers designing applications with a relational database and an object model.
Who it is not for
Anyone working only with frameworks that already hide these patterns and who does not need their origin; the examples are in Java and C#.
What it contains
  • Organising domain logic: Transaction Script, Domain Model
  • Data access: Active Record, Data Mapper, Table Data Gateway
  • Object-relational behaviour: Unit of Work, Identity Map, Lazy Load
  • Web presentation: MVC, Front Controller, Template View
  • Offline concurrency and session state
What you will be able to do
You understand why an ORM behaves the way it does and choose deliberately between Active Record and Data Mapper.

Read next, or instead:Clean Architecture, Domain-Driven Design

🏛️ Patterns and Architecture Advanced

Enterprise Integration Patterns

Gregor Hohpe, Bobby Woolf

The problem it solves. You need different systems to talk through messages and are unsure how to structure channels, routing and transformations. The book gives you a precise vocabulary.

Addison-Wesley2003736 pg.ISBN 978-0321200686
Who it is for
Architects and developers working on integrations, message queues and events.
Who it is not for
Anyone building a single application with no external integrations. The pattern language dates from 2003: the ideas hold up, the products mentioned are dated.
What it contains
  • Message channels and message construction
  • Routing: routers, filters, splitters, aggregators
  • Message transformation and endpoints
  • Management and monitoring of messaging systems
What you will be able to do
You design an asynchronous integration flow using named patterns and document it in a shared language.

Read next, or instead:Building Microservices, Designing Data-Intensive Applications

🏛️ Patterns and Architecture Beginner

Head First Design Patterns

Eric Freeman, Elisabeth Robson

The problem it solves. The GoF book feels unreadable and patterns slip away from you. Head First explains them with pictures, everyday examples and exercises.

O'Reilly Media2020672 pg.ISBN 978-1492078005
Who it is for
People meeting design patterns for the first time who write Java or another object-oriented language.
Who it is not for
Anyone wanting a concise, rigorous reference: the style is deliberately chatty and repetitive.
What it contains
  • Strategy, Observer, Decorator, Factory, Singleton and Command patterns
  • Adapter, Facade, Template Method, Iterator, Composite, State and Proxy
  • Exercises, quizzes and diagrams in every chapter
  • The object-oriented design principles behind each pattern
What you will be able to do
You recognise the most common patterns, can explain them to a colleague and can then tackle the GoF with less effort.

Read next, or instead:Design Patterns, Clean Architecture

💻 Programming and Clean Code Intermediate

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin

The problem it solves. Your code works but nobody, you included a month later, can change it with peace of mind. Clean Code teaches names, functions and classes that read well.

Prentice Hall2008464 pg.ISBN 978-0132350884
Who it is for
Developers who have written their first real projects and want to raise everyday code quality.
Who it is not for
Anyone wanting indisputable rules: some prescriptions (tiny functions, no comments) are debated and must be weighed against context. Examples are in Java.
What it contains
  • Meaningful names, small functions and comments
  • Formatting, objects and data structures, error handling
  • Unit tests and classes
  • A catalogue of code smells and heuristics
  • Case studies of cleaning up real code
What you will be able to do
You spot signs of hard-to-maintain code and improve it in small, verifiable steps.

Read next, or instead:Refactoring, The Pragmatic Programmer

💻 Programming and Clean Code Intermediate

The Pragmatic Programmer: Your Journey to Mastery

David Thomas, Andrew Hunt

The problem it solves. You work well but lack the habits and reflexes of the craft: how to debug, automate, communicate and avoid drowning in duplicated code.

Addison-Wesley2019352 pg.ISBN 978-0135957059
Who it is for
Developers at any level, though it rewards a few years of experience.
Who it is not for
Anyone wanting a book about a specific language or framework: this is about craft, not particular technology.
What it contains
  • The DRY principle, orthogonality and reversible decisions
  • Tracer bullets and prototypes for exploration
  • Debugging, defensive programming and design by contract
  • Automation, tooling, editors and the shell
  • Personal responsibility, communication and career growth
What you will be able to do
You get a repertoire of concrete habits to adopt right away at work and a yardstick for assessing your own.

Read next, or instead:Clean Code, The Effective Engineer

💻 Programming and Clean Code Intermediate

Refactoring: Improving the Design of Existing Code

Martin Fowler

The problem it solves. The code has poor design but touching it is scary. Fowler shows how to improve it in small steps without changing behaviour.

Addison-Wesley2018448 pg.ISBN 978-0134757599
Who it is for
People maintaining existing code who have at least a test net to rely on.
Who it is not for
Anyone without tests who still has to write them: start with Working Effectively with Legacy Code. Examples are in JavaScript.
What it contains
  • A catalogue of code smells: when it is time to act
  • A catalogue of refactorings with step-by-step mechanics (Extract Function, Move Function, Replace Conditional...)
  • The role of tests as a safety net
  • A guided example from start to finish
What you will be able to do
You carry out a refactoring as a sequence of small, reversible steps, with green tests at each one.

Read next, or instead:Working Effectively with Legacy Code, Clean Code

💻 Programming and Clean Code Intermediate

Code Complete: A Practical Handbook of Software Construction

Steve McConnell

The problem it solves. You lack an overall picture of how quality software is built, from choosing names to designing routines. Code Complete is the encyclopaedia of construction.

Microsoft Press2004960 pg.ISBN 978-0735619678
Who it is for
Developers who want to consolidate their craft and have a reference to come back to.
Who it is not for
Anyone short on time: it is almost a thousand pages. The edition dates from 2004, so modern tooling and languages are absent, but the principles hold.
What it contains
  • Design in construction and the use of classes
  • Variables, control structures and defensive programming
  • Debugging, refactoring and code tuning
  • Style and layout, code quality, collaboration
  • Managing complexity as the unifying theme
What you will be able to do
You have explicit criteria for daily code-construction decisions and a language to discuss them with your team.

Read next, or instead:Clean Code, The Pragmatic Programmer

💻 Programming and Clean Code Advanced

Working Effectively with Legacy Code

Michael C. Feathers

The problem it solves. You inherited untested code nobody dares touch. Feathers defines legacy as "code without tests" and teaches how to make it safe.

Prentice Hall2004456 pg.ISBN 978-0131177055
Who it is for
People maintaining old systems who must change them without breaking anything.
Who it is not for
Anyone starting a new project from scratch. Examples are in Java, C++, C# and C: the value lies in the techniques, not the language.
What it contains
  • Seams: places where behaviour can change without editing the code
  • Characterisation tests to pin down current behaviour
  • Techniques for breaking dependencies
  • Sprout and wrap: adding features without rewriting
  • Strategies for giant classes and long methods
What you will be able to do
You put a slice of legacy code under test and change it with measurable risk.

Read next, or instead:Refactoring, Clean Code

💻 Programming and Clean Code Beginner

The Mythical Man-Month

Frederick P. Brooks Jr.

The problem it solves. The project is late and the temptation is to add people. Brooks explains why this often makes things worse and what software complexity really is.

Addison-Wesley1995336 pg.ISBN 978-0201835953
Who it is for
People who manage or estimate software projects, and anyone wondering why certain mistakes repeat after fifty years.
Who it is not for
Anyone seeking current practices (agile, CI/CD): the book comes out of 1960s projects and shows the roots, not today's tools.
What it contains
  • Brooks's law: adding people to a late project makes it later
  • Conceptual integrity and the architect's role
  • The second-system effect
  • The "No Silver Bullet" essay in the anniversary edition
What you will be able to do
You can argue against unrealistic deadline pressure with a solid reference and estimate more realistically.

Read next, or instead:Peopleware, The Effective Engineer

📖 Languages and Paragidms Intermediate

Effective Java

Joshua Bloch

The problem it solves. You write Java that compiles and runs but is not idiomatic: fragile APIs, wrong equals/hashCode, misused generics and streams. Bloch collects the rules.

Addison-Wesley2018416 pg.ISBN 978-0134685991
Who it is for
Java developers with solid basics who want to write robust, maintainable code.
Who it is not for
Anyone learning Java from scratch, and anyone who does not use it: the items are specific to the ecosystem.
What it contains
  • Object creation and destruction, methods common to all objects
  • Classes, interfaces, generics, enums and annotations
  • Lambdas and streams
  • Methods, exceptions and concurrency
  • Serialisation and its pitfalls
What you will be able to do
You design safer Java APIs and spot classic mistakes in equals, generics and concurrency during review.

Read next, or instead:Clean Code, Code Complete

📖 Languages and Paragidms Beginner

Eloquent JavaScript: A Modern Introduction to Programming

Marijn Haverbeke

The problem it solves. You want to learn JavaScript without skipping the fundamentals. Haverbeke starts from programming and gets to the browser and Node.

No Starch Press2024472 pg.ISBN 978-1718501874
Who it is for
Motivated beginners and developers from other languages who want to understand JavaScript properly.
Who it is not for
Anyone wanting a framework tutorial or a quick reference: the book teaches the language and the way of thinking.
What it contains
  • Values, functions, data structures and higher-order functions
  • Objects and object-oriented programming, error handling
  • Modules and asynchronous programming
  • The DOM, events, HTTP requests, Node.js
  • Hands-on projects that consolidate the chapters
What you will be able to do
You write modern JavaScript knowing what you are doing, async code included, and move to a framework with the basics in place.

Read next, or instead:You Don't Know JS Yet, Effective TypeScript

📖 Languages and Paragidms Advanced

Programming Rust: Fast, Safe Systems Development

Jim Blandy, Jason Orendorff, Leonora Tindall

The problem it solves. You want fast, safe systems code without a garbage collector, but ownership and the borrow checker block you. The book explains them starting from the reasons.

O'Reilly Media2021738 pg.ISBN 978-1492052593
Who it is for
Programmers experienced in C, C++ or a managed language who want to work in Rust.
Who it is not for
Anyone who has never programmed: Rust's learning curve is steep and the book assumes systems concepts.
What it contains
  • Ownership, references and borrowing, lifetimes
  • Traits and generics, closures, iterators
  • Error handling and collections
  • Concurrency and asynchronous programming
  • Unsafe code and interoperability with other languages
What you will be able to do
You write Rust the compiler accepts for reasons you understand, concurrent code included.

Read next, or instead:The C Programming Language, Learning Go

📖 Languages and Paragidms Intermediate

Learning Go: An Idiomatic Approach to Real-World Go Programming

Jon Bodner

The problem it solves. You come from other languages and write Go with an accent: interfaces, errors and concurrency do not follow community conventions. Bodner teaches the idiomatic style.

O'Reilly Media2021375 pg.ISBN 978-1492077213
Who it is for
Experienced developers moving to Go for backend services and cloud tooling.
Who it is not for
Anyone who has never programmed. The edition listed on the card is the first: check whether a newer one exists covering recent language changes.
What it contains
  • Types, functions and pointers
  • Interfaces and error handling
  • Goroutines and channels
  • Testing, tooling and the organisation of modules and packages
What you will be able to do
You write Go the community recognises as idiomatic and use concurrency without falling into common traps.

Read next, or instead:Programming Rust, The C Programming Language

📖 Languages and Paragidms Advanced

Fluent Python: Clear, Concise, and Effective Programming

Luciano Ramalho

The problem it solves. You write Python that works but does not exploit the language: you do not know the data model, protocols, generators and concurrency tools. Ramalho explains them in depth.

O'Reilly Media20221012 pg.ISBN 978-1492056355
Who it is for
Python developers with a few years of experience who want to go from "works" to "idiomatic".
Who it is not for
Anyone learning Python right now: the book assumes the basics and goes deep, at about a thousand pages.
What it contains
  • Python's data model and special methods
  • Sequences, dictionaries, sets, text versus bytes
  • Functions as objects, decorators, closures
  • Object-oriented programming, protocols and types
  • Iterators, generators, concurrency and asyncio, metaprogramming
What you will be able to do
You design classes that behave like built-in types and use iterators, decorators and asyncio confidently.

Read next, or instead:Effective Java, Effective TypeScript

📖 Languages and Paragidms Intermediate

Effective TypeScript: 83 Specific Ways to Improve Your TypeScript

Dan Vanderkam

The problem it solves. You use TypeScript but end up full of any and types that do not protect you. Vanderkam collects targeted advice for exploiting the type system.

O'Reilly Media2024380 pg.ISBN 978-1098155063
Who it is for
Developers who already use TypeScript and want to write it well.
Who it is not for
Anyone who does not know JavaScript yet, and anyone wanting a tutorial: the format is a list of items, each a rule with its reasoning.
What it contains
  • How the type system and inference work
  • Designing types: modelling valid states, avoiding any
  • Generics and type-level programming
  • Recipes, declaration files and migrating from JavaScript
What you will be able to do
You write types that make invalid states unrepresentable and cut the bugs that reach runtime.

Read next, or instead:Eloquent JavaScript, You Don't Know JS Yet

📖 Languages and Paragidms Intermediate

The C Programming Language

Brian W. Kernighan, Dennis M. Ritchie

The problem it solves. You want to understand what the computer does underneath a high-level language: memory, pointers, arrays. K&R is the text written by the authors of C.

Prentice Hall1988272 pg.ISBN 978-0131103627
Who it is for
Readers who want to understand systems programming, pointers and how code becomes machine instructions.
Who it is not for
Anyone looking for modern C: the book is from 1988 (ANSI C) and covers neither later standards nor today's security practices.
What it contains
  • A guided introduction to the language
  • Types, operators, control flow and functions
  • Pointers and arrays
  • Structures and input/output
  • The interface to the UNIX system
What you will be able to do
You read and write essential C, reason about pointers and memory, and better understand Rust, Go and C++.

Read next, or instead:Programming Rust, The Art of Computer Programming, Volume 1

☁️ Cloud and DevOps Beginner

The Phoenix Project

Gene Kim, Kevin Behr, George Spafford

The problem it solves. Development and operations pass the blame back and forth and releases are an emergency. The novel shows, as a story, why this happens and what changes with DevOps.

IT Revolution Press2018432 pg.ISBN 978-1942788294
Who it is for
Readers who want to understand DevOps without starting from tools: developers, sysadmins, IT managers.
Who it is not for
Anyone looking for technical instructions or configurations: it is a novel, and the narrative simplifies (sometimes too much) how organisations work.
What it contains
  • A story set in a company with IT projects in crisis
  • The Three Ways: flow, feedback, continual learning
  • The four types of work and the role of bottlenecks
  • Unplanned work as a cause of delays
What you will be able to do
You can explain to a colleague or an executive in an hour why work flow and fast feedback matter more than individual tools.

Read next, or instead:The Unicorn Project, Accelerate

☁️ Cloud and DevOps Intermediate

Accelerate: The Science of Lean Software and DevOps

Nicole Forsgren, Jez Humble, Gene Kim

The problem it solves. You want to know whether DevOps practices really improve outcomes, and which ones to measure. Accelerate reports the data of a multi-year research programme.

IT Revolution Press2018288 pg.ISBN 978-1942788331
Who it is for
Engineering managers, tech leads and developers who must argue for change with data.
Who it is not for
Anyone wanting implementation steps: it explains what to measure and why, not how to configure a pipeline.
What it contains
  • The four key metrics: lead time, deployment frequency, time to restore, change failure rate
  • The technical and cultural capabilities that move them
  • The research method, explained accessibly
What you will be able to do
You measure your team's delivery performance with the four metrics and identify where to intervene.

Read next, or instead:Continuous Delivery, The Phoenix Project

☁️ Cloud and DevOps Intermediate

Kubernetes in Action

Marko Lukša

The problem it solves. You have containers running locally and must move them into a cluster without understanding what Kubernetes does behind the scenes. Lukša starts with concepts and reaches production.

Manning2024600 pg.ISBN 978-1617297618
Who it is for
Developers and DevOps engineers who use Docker and must work on Kubernetes.
Who it is not for
Anyone who has never used containers: learn Docker first. Kubernetes versions move fast: check against the official documentation.
What it contains
  • Pods, ReplicaSets and Deployments
  • Services, Ingress and cluster networking
  • Volumes, ConfigMaps and Secrets
  • StatefulSets and stateful applications
  • Security, resources and upgrades
What you will be able to do
You deploy, expose and configure an application on Kubernetes knowing what each resource does.

Read next, or instead:Continuous Delivery, Terraform

☁️ Cloud and DevOps Intermediate

Continuous Delivery

Jez Humble, David Farley

The problem it solves. Releasing is a risky, manual, rare event. Humble and Farley describe the deployment pipeline that makes every commit a release candidate.

Addison-Wesley2010512 pg.ISBN 978-0321601919
Who it is for
Developers, QA and DevOps engineers who want to automate build, test and release.
Who it is not for
Anyone wanting configuration for a specific CI tool: the book dates from 2010 and reasons in principles, not products.
What it contains
  • The deployment pipeline as the central model
  • Version, build and dependency management
  • Automated testing strategy
  • Managing infrastructure, data and configuration
  • Branching and release strategies
What you will be able to do
You design a pipeline that takes every change from commit to release with automated tests and repeatability.

Read next, or instead:Accelerate, Site Reliability Engineering

☁️ Cloud and DevOps Intermediate

Terraform: Up & Running

Yevgeniy Brikman

The problem it solves. Cloud infrastructure is built by hand in the console and nobody can reproduce it. Brikman teaches you to describe it as code with Terraform.

O'Reilly Media2022510 pg.ISBN 978-1098116743
Who it is for
DevOps, backend and SRE engineers who manage cloud infrastructure and want it repeatable.
Who it is not for
Anyone who has not touched the cloud yet. Examples are on AWS; Terraform and its providers evolve, so check syntax against the documentation.
What it contains
  • Terraform syntax, variables and outputs
  • State management and modules
  • Loops and conditionals, zero-downtime deployment
  • Production-grade code and infrastructure testing
  • Team workflow and secrets management
What you will be able to do
You describe infrastructure as versioned code, reproduce it across environments and change it through a reviewable plan.

Read next, or instead:Continuous Delivery, Site Reliability Engineering

☁️ Cloud and DevOps Advanced

Site Reliability Engineering

Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy

The problem it solves. The service is in production and you do not know how much reliability to promise or when to stop and stabilise. Google's book defines SLOs and error budgets.

O'Reilly Media2016552 pg.ISBN 978-1491929124
Who it is for
SREs, DevOps engineers and service owners who must define and defend a reliability level.
Who it is not for
Anyone with a small application and no on-call rota: many practices assume a scale and organisation comparable to Google's.
What it contains
  • SLIs, SLOs and SLAs, and the error budget concept
  • Eliminating repetitive work (toil) through automation
  • Monitoring and alerting
  • Incident management, on-call and blameless postmortems
  • Capacity planning and system simplicity
What you will be able to do
You define measurable reliability targets and use the error budget to decide between new features and stability.

Read next, or instead:Accelerate, Terraform

🤖 Machine Learning and Data Analysis Intermediate

Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow

Aurélien Géron

The problem it solves. You want to build machine learning models that work on real data, without starting from the maths. Géron proceeds through code and projects.

O'Reilly Media2022868 pg.ISBN 978-1098125974
Who it is for
Python developers who want to move from theory to practical ML and deep learning.
Who it is not for
Anyone wanting mathematical proofs: for those you need Goodfellow or ISLR. Frameworks and APIs change: check versions.
What it contains
  • Regression, classification, SVMs, trees and ensembles with scikit-learn
  • Dimensionality reduction and unsupervised learning
  • Neural networks with Keras and TensorFlow
  • Convolutional, recurrent and language models
  • Putting models into production
What you will be able to do
You train, evaluate and tune a model on a real dataset and pick the algorithm that fits the problem.

Read next, or instead:An Introduction to Statistical Learning, Designing Machine Learning Systems

🤖 Machine Learning and Data Analysis Advanced

Deep Learning

Ian Goodfellow, Yoshua Bengio, Aaron Courville

The problem it solves. You want to understand deep learning from its mathematical foundations, not just use a library. This is the reference academic text.

MIT Press2016800 pg.ISBN 978-0262035613
Who it is for
Advanced students, researchers and engineers with a solid grounding in linear algebra, probability and calculus.
Who it is not for
Anyone wanting a tutorial with code: it has none. Published in 2016, it does not cover newer architectures such as transformers.
What it contains
  • Applied maths: linear algebra, probability, numerical computation
  • Deep networks: optimisation, regularisation, convolutional and recurrent networks
  • Research topics: autoencoders, representations, generative models
What you will be able to do
You read research papers on the topic and reason about network training at a theoretical level.

Read next, or instead:Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, An Introduction to Statistical Learning

🤖 Machine Learning and Data Analysis Intermediate

An Introduction to Statistical Learning

Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani

The problem it solves. You use statistical models without knowing when they work and when they mislead you. ISLR explains methods with intuition, without heavy proofs.

Springer2023607 pg.ISBN 978-3031387463
Who it is for
Readers with some statistics background who want to use regression, classification and resampling methods knowingly.
Who it is not for
Anyone wanting full proven theory: for that there is The Elements of Statistical Learning, which is not on this list.
What it contains
  • Linear regression and classification
  • Cross-validation and the bootstrap
  • Regularisation, decision trees and SVMs
  • Neural networks and unsupervised learning
  • Code labs (the card lists the Python edition)
What you will be able to do
You choose a suitable statistical method, assess its error with cross-validation and interpret the results.

Read next, or instead:Practical Statistics for Data Scientists, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow

🤖 Machine Learning and Data Analysis Advanced

Designing Machine Learning Systems

Chip Huyen

The problem it solves. The model works in the notebook and fails in production: shifting data, fragile deployments, no monitoring. Chip Huyen covers the whole lifecycle of an ML system.

O'Reilly Media2022388 pg.ISBN 978-1098107963
Who it is for
ML engineers, data scientists and backend developers taking models to production.
Who it is not for
Anyone still learning the basic algorithms: the book assumes you can already train a model.
What it contains
  • Scoping the problem and designing the system
  • Training data and feature engineering
  • Model development and evaluation
  • Deployment and infrastructure
  • Monitoring, data drift and continual learning
What you will be able to do
You design an ML system thinking about data, monitoring and maintenance, not just the model.

Read next, or instead:AI Engineering, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow

🤖 Machine Learning and Data Analysis Intermediate

Practical Statistics for Data Scientists

Peter Bruce, Andrew Bruce, Peter Gedeck

The problem it solves. You run A/B tests and data analyses without knowing whether the observed difference is real or noise. The book summarises the statistics you actually need.

O'Reilly Media2020368 pg.ISBN 978-1492072942
Who it is for
Data scientists, analysts and developers who work with experimental data.
Who it is not for
Anyone wanting complete mathematical theory: it is deliberately practical and concise.
What it contains
  • Exploratory analysis and sampling distributions
  • Experiments and significance testing, including A/B tests
  • Regression and classification
  • Statistical machine learning methods and unsupervised learning
What you will be able to do
You design an A/B test, interpret its results and spot conclusions the data do not support.

Read next, or instead:An Introduction to Statistical Learning, Designing Machine Learning Systems

🤖 Machine Learning and Data Analysis Intermediate

AI Engineering: Building Applications with Foundation Models

Chip Huyen

The problem it solves. You want to build an application on top of a language model and do not know how to evaluate it, when to use RAG or fine-tuning, or how to control costs. The book gives a method.

O'Reilly Media2025420 pg.ISBN 978-1098166304
Who it is for
Developers and ML engineers building applications with foundation models.
Who it is not for
Anyone wanting a recipe for one specific API: the field moves quickly, so the book reasons in principles and trade-offs.
What it contains
  • How foundation models work, as far as needed to use them
  • Evaluation methodology
  • Prompt engineering, RAG and agents
  • Fine-tuning and dataset engineering
  • Inference optimisation, architecture and user feedback
What you will be able to do
You choose between prompting, RAG and fine-tuning with explicit criteria and measure the quality of a model-based application.

Read next, or instead:Designing Machine Learning Systems, Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow

🌐 Software development for the web. Intermediate

You Don't Know JS Yet: Get Started

Kyle Simpson

The problem it solves. You have written JavaScript for years but scope, closures and this still surprise you. Simpson gives you the map of the language before going into detail.

O'Reilly Media2020143 pg.ISBN 978-1491924464
Who it is for
Developers who want to consolidate their JavaScript basics and decide whether to go deeper into the series.
Who it is not for
Anyone wanting the in-depth treatment: this volume is an introduction of about 140 pages, with the detail in the other volumes of the series.
What it contains
  • What JavaScript is and how it evolved as a standard
  • A map of the language: values, functions, comparisons, classes, modules
  • The three pillars: scope and closures, objects and prototypes, types and coercion
What you will be able to do
You have a coherent picture of the language and know which areas to deepen in the following volumes.

Read next, or instead:Eloquent JavaScript, Effective TypeScript

🌐 Software development for the web. Intermediate

Learning React: Modern Patterns for Developing React Apps

Alex Banks, Eve Porcello

The problem it solves. You want to use React but tutorials are fragmented and outdated. Banks and Porcello build the picture with components, hooks and state.

O'Reilly Media2020350 pg.ISBN 978-1492051725
Who it is for
Developers who know JavaScript and want to learn React in an orderly way.
Who it is not for
Anyone wanting React's latest features: the edition dates from 2020, so check the official documentation for later APIs.
What it contains
  • JSX, components, props and state
  • Hooks: useState, useEffect, useReducer, useContext
  • Data fetching and Suspense
  • Testing, routing and server-side rendering
What you will be able to do
You build a React application with function components and hooks, handling state and remote data.

Read next, or instead:Eloquent JavaScript, Web Performance in Action

🌐 Software development for the web. Intermediate

Web Performance in Action

Jeremy Wagner

The problem it solves. The site is slow and you do not know where to start. Wagner goes through images, fonts, CSS, JavaScript and the network, with concrete interventions.

Manning2016376 pg.ISBN 978-1617293771
Who it is for
Frontend and web developers who must speed up existing sites.
Who it is not for
Anyone wanting modern metrics: the book is from 2016 and does not cover Core Web Vitals (LCP, INP, CLS). For those, the web.dev documentation is a better fit.
What it contains
  • Image and font optimisation
  • Minification and compression of CSS and JavaScript
  • Caching and resource delivery
  • HTTP/2 and efficient loading
What you will be able to do
You find a site's bottlenecks and apply optimisations you can verify.

Read next, or instead:Learning React, System Design Interview

🌐 Software development for the web. Intermediate

System Design Interview

Alex Xu

The problem it solves. In the interview you are asked to design a scalable system and do not know where to start. Xu offers a step-by-step method and worked cases.

Independently Published2020322 pg.ISBN 978-1736049013
Who it is for
Developers preparing for system design interviews, or wanting a first contact with scalability.
Who it is not for
Anyone wanting distributed systems theory: for that there is Designing Data-Intensive Applications. The cases here are concise and interview-oriented.
What it contains
  • A four-step method for approaching the question
  • Back-of-the-envelope capacity estimation
  • Cases: rate limiter, consistent hashing, key-value store, URL shortener
  • Cases: web crawler, notification system, news feed, chat
What you will be able to do
You approach a system design question with a method, estimate loads and justify choices with explicit trade-offs.

Read next, or instead:Designing Data-Intensive Applications, Cracking the Coding Interview

🌐 Software development for the web. Advanced

Designing Data-Intensive Applications

Martin Kleppmann

The problem it solves. You must choose databases, queues and replication models and do not understand what guarantees they really give. Kleppmann explains the principles they share.

O'Reilly Media2017616 pg.ISBN 978-1449373320
Who it is for
Backend engineers, architects and anyone designing or running data-heavy systems.
Who it is not for
Database beginners: it requires a good base. It is not a manual for a specific product.
What it contains
  • Reliability, scalability and maintainability; data models
  • Storage and retrieval: B-trees, LSM-trees
  • Replication, partitioning and transactions
  • Distributed systems: faults, consistency and consensus
  • Batch and stream processing
What you will be able to do
You compare databases and messaging systems on the guarantees they offer and choose the one that fits your load.

Read next, or instead:System Design Interview, Building Microservices

🎯 Career Development and Soft Skills Beginner

The Effective Engineer

Edmond Lau

The problem it solves. You work hard and feel you have little impact. Lau proposes focusing on high-leverage activities.

Effective Bookshelf2015288 pg.ISBN 978-0996128100
Who it is for
Developers in their first years of work who want to increase their impact.
Who it is not for
Anyone wanting technical content: it is a book about how to work, with general advice to adapt to your own context.
What it contains
  • Leverage as a measure of impact
  • Priorities, iteration speed and measurement
  • Validating ideas early and estimating projects
  • Building team culture and reducing operational burden
What you will be able to do
You choose where to spend your time based on expected impact and make your iterations faster.

Read next, or instead:The Pragmatic Programmer, Staff Engineer

🎯 Career Development and Soft Skills Intermediate

Cracking the Coding Interview

Gayle Laakmann McDowell

The problem it solves. You can program but technical interviews trip you up. The book shows the kinds of problems you meet and how to reason about them out loud.

CareerCup2015687 pg.ISBN 978-0984782857
Who it is for
People preparing for interviews at companies that ask algorithm and data structure questions.
Who it is not for
Anyone wanting a study path for algorithms: it is a preparation manual and on its own does not replace continuous practice on real problems.
What it contains
  • The hiring process and how to present yourself
  • Problems on arrays, strings, lists, trees and graphs
  • Recursion, dynamic programming, bits and maths
  • Object-oriented design, scalability and testing
  • 189 problems with worked solutions
What you will be able to do
You approach an interview question with a method: clarify, work an example, choose the approach and check the code.

Read next, or instead:Algorithms, System Design Interview

🎯 Career Development and Soft Skills Beginner

Soft Skills: The Software Developer's Life Manual

John Sonmez

The problem it solves. A tech career is not only code: reputation, learning, personal finance and health matter. Sonmez covers them in a single book.

Manning2014504 pg.ISBN 978-1617292392
Who it is for
Early-career developers and freelancers who want a broad view of their career.
Who it is not for
Anyone wanting depth: coverage is broad but shallow on each topic, and some advice is personal to the author.
What it contains
  • Career and professional positioning
  • Self-marketing and personal branding
  • Learning and productivity
  • Personal finance and investing
  • Fitness and mindset
What you will be able to do
You have a checklist of career areas to work on and where to dig deeper with specialised sources.

Read next, or instead:The Effective Engineer, Staff Engineer

🎯 Career Development and Soft Skills Beginner

Peopleware: Productive Projects and Teams

Tom DeMarco, Timothy Lister

The problem it solves. Software projects fail more for human reasons than technical ones. DeMarco and Lister gather evidence and observations on organising people and workspaces.

Addison-Wesley2013272 pg.ISBN 978-0321934116
Who it is for
Anyone leading or belonging to a development team: managers, tech leads, developers.
Who it is not for
Anyone wanting agile practices or modern tooling: the text dates from the 1980s (the third edition is from 2013) and reasons in principles.
What it contains
  • Why project problems are often people problems
  • Workspace and interruptions
  • Forming and growing cohesive teams
  • Schedule pressure and overtime
What you will be able to do
You argue with established references for the importance of focus, environment and team in management decisions.

Read next, or instead:The Mythical Man-Month, An Elegant Puzzle

🎯 Career Development and Soft Skills Intermediate

Staff Engineer: Leadership Beyond the Management Track

Will Larson

The problem it solves. You want to grow as an engineer without becoming a manager and nobody explains how. Larson describes the staff engineer role and how to get there.

Independently Published2021390 pg.ISBN 978-1736417911
Who it is for
Senior developers aiming for high-level technical roles, and their managers.
Who it is not for
Early-career readers: you need experience to use it. The practices described reflect mid-to-large tech companies.
What it contains
  • What a staff engineer does and the role's different archetypes
  • How to get the role and find sponsors
  • Technical vision, strategy and influence without formal authority
  • Interviews with staff-level engineers from different companies
What you will be able to do
You have a map of the technical path beyond senior level and know which skills to build to follow it.

Read next, or instead:An Elegant Puzzle, The Effective Engineer

🎯 Career Development and Soft Skills Intermediate

An Elegant Puzzle: Systems of Engineering Management

Will Larson

The problem it solves. You are moving into leading an engineering team and do not know how to size it, hire and evaluate. Larson treats management as a systems problem.

Stripe Press2019288 pg.ISBN 978-1953953308
Who it is for
New or incoming engineering managers, and tech leads about to manage people.
Who it is not for
Anyone who does not and will not manage people. Examples come from mid-to-large tech companies.
What it contains
  • Team sizing and structure
  • Hiring and onboarding
  • Performance evaluation and growing people
  • Running an engineering organisation
What you will be able to do
You set up your team's structure and a hiring and evaluation process with explicit criteria.

Read next, or instead:Staff Engineer, Peopleware

🎯 Career Development and Soft Skills Beginner

The Unicorn Project

Gene Kim

The problem it solves. You work in a company where legacy systems and bureaucracy slow every change. The novel tells the same transformation from a developer's viewpoint.

IT Revolution Press2019352 pg.ISBN 978-1942788768
Who it is for
Developers and tech leads who want a language for describing what slows their work.
Who it is not for
Anyone wanting technical instructions: it is a novel and the natural companion to The Phoenix Project, which is best read first.
What it contains
  • A story from a developer's perspective
  • The Five Ideals: locality and simplicity, focus-flow-joy, improvement of daily work, psychological safety, customer focus
What you will be able to do
You use the five ideals as a grid for explaining and discussing what slows your team down.

Read next, or instead:The Phoenix Project, Accelerate

Frequently asked questions about the books

Which book should I start with?

It depends where you are. If you already program and want to improve your craft, The Pragmatic Programmer and Clean Code are a good first step. If you are learning JavaScript from scratch, Eloquent JavaScript. If you want to understand DevOps without starting from tools, The Phoenix Project. Each card states the level and who it is not for.

Do I have to read them all, and in what order?

No. Pick the problem you have and read one or two books from the matching row; each card also says what to read next. One book read and applied is worth more than five started.

Are the books in English?

Titles and data (publisher, year, pages, ISBN) are those of the original English edition. Check the ISBN with your bookshop or publisher before buying, since some titles also exist in translation.

Some books are old: are they still worth reading?

It depends on the book. Principles of design, algorithms and team management hold up well; tools and APIs age. Where a book is dated on a specific point, for example Core Web Vitals in the web performance book, the card says so under "Who it is not for".

Prefer a practical guide written by me?

The technical ebooks start from a concrete problem: Java and Spring Boot, Angular SSR, RAG and AI agents, European regulation. They are written in Italian.