Skip to content

A curated, opinionated list of best-in-class books for modern software development, popular programming languages, and AI/ML.

License

Notifications You must be signed in to change notification settings

devtoolsd/DevBooks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

Awesome DevBooks

A curated, opinionated list of best-in-class books for modern software development, popular programming languages, and AI/ML.

Awesome DevBooks is a project by DevTools Directory — a community hub for developer tools, resources, and curated lists. Find us on GitHub.

Want the complete lists? Full, expanded book lists live in data/. Each section below includes a Full list link to its dedicated page.


Table of Contents


Software Engineering Essentials

Full list: data/software-engineering.md


Architecture, Data & Distributed Systems

Full lists: data/architecture.md · data/distributed-systems.md · data/databases.md

Databases

Full list: data/databases.md


System Design

Essential reading for building production-grade systems — and for navigating technical interviews.

Full list: data/system-design.md


Computer Science Foundations

These books don't expire. Invest in them once and they pay dividends forever.

Full list: data/computer-science.md


Testing & Quality

Full list: data/testing.md


DevOps, CI/CD & Infrastructure

  • The DevOps Handbook (2nd Ed.) - by: Kim, Humble, Debois, Willis, Forsgren - The definitive guide to DevOps transformation: flow, feedback, and continuous learning.
  • Accelerate - by: Forsgren, Humble, Kim - Data-driven proof of what actually makes software delivery faster and more reliable.
  • Continuous Delivery - by: Humble & Farley - The foundational book on CI/CD pipelines, deployment automation, and release confidence.
  • Infrastructure as Code (3rd Ed.) - by: Kief Morris - Principles and patterns for managing cloud and server infrastructure with code.
  • Terraform: Up & Running (3rd Ed.) - by: Yevgeniy Brikman - Hands-on Terraform for real-world infrastructure automation.
  • The Phoenix Project - by: Kim, Behr, Spafford - A novel that makes DevOps principles viscerally real — essential culture reading.

Full list: data/devops.md


Security

Full list: data/security.md


Version Control

  • Pro Git (2nd Ed.) - by: Scott Chacon & Ben Straub - The most readable Git book, from basics to power-user workflows — free online.
  • Version Control with Git - by: Jon Loeliger & Matthew McCullough - Comprehensive Git reference and best practices, from commits to collaboration workflows.
  • Learn Git in a Month of Lunches - by: Rick Umali - Bite-sized Git lessons for daily use, with practice-friendly examples.

Full list: data/version-control.md


Platforms

Full lists: data/aws.md · data/azure.md · data/google-cloud.md · data/kubernetes.md · data/docker.md · data/linux.md · data/ios.md · data/android.md


Major Frameworks

  • Learning React (2nd Ed.) - by: Alex Banks & Eve Porcello - A clean introduction to modern React (hooks + functional components) with practical patterns.
  • Django for Professionals - by: William S. Vincent - Teaches the “production mindset” for Django: security, deployment, and maintainability.
  • Spring in Action (6th Ed.) - by: Craig Walls - The most practical guide to the Spring ecosystem used in real Java backends.

Full lists: data/laravel.md · data/rails.md · data/django.md · data/spring.md · data/aspnet-core.md · data/react.md · data/vue.md · data/angular.md · data/nodejs.md · data/flutter.md


Automation

Full list: data/automation.md


Monitoring & Observability

  • Site Reliability Engineering - by: Beyer, Jones, Petoff, Murphy - The core SRE playbook: SLOs, toil reduction, and operating services at scale — free online.
  • Cloud Observability in Action - by: Michael Hausenblas - Modern observability end-to-end (logs/metrics/traces) with practical tooling examples.
  • Prometheus: Up & Running - by: Brian Brazil - The essential reference for metrics-first monitoring with Prometheus.

Full list: data/monitoring.md


APIs

  • API Design Patterns - by: JJ Geewax - Practical patterns for building reliable APIs across REST, gRPC, and GraphQL.
  • Designing Web APIs - by: Brenda Jin et al. - A pragmatic guide to building APIs developers love, with real-world design trade-offs.
  • Automating API Delivery - by: Ikenna Nwaiwu - APIOps: reviews, automation, OpenAPI, and governance that scales with teams.

Full list: data/apis.md


Cloud

Full list: data/cloud.md


Programming Languages

Python

Python has one of the richest programming book ecosystems of any language, and for good reason — it spans beginners writing their first script all the way to engineers building distributed ML systems. The books below are the best of that spectrum: Python by Example and Python Crash Course get you coding confidently from day one, Fluent Python and Effective Python make you truly fluent in the language's idioms and internals, and Architecture Patterns with Python and High Performance Python take you into production-grade territory. Together they form a complete path from first line to senior engineer.

  • Python by Example - by: Dariush Abbasi - A practical, example-driven guide to learning Python — clear explanations and real coding tasks, great for building intuition fast.
  • Python Crash Course (3rd Ed.) - by: Eric Matthes - Best beginner book — projects-first, clear, and up to date with Python 3.11+.
  • Fluent Python (2nd Ed.) - by: Luciano Ramalho - Idiomatic Python: data model, iterators, concurrency, typing, and best practices.
  • Effective Python (3rd Ed.) - by: Brett Slatkin - Sharp, practical items for writing clean, correct, modern Python.
  • Architecture Patterns with Python - by: Percival & Gregory - DDD, ports & adapters, and event-driven architecture in Python — free online.
  • High Performance Python (2nd Ed.) - by: Gorelick & Ozsvald - Profiling, optimization, concurrency, and making Python fast when it needs to be.

Full list: data/python.md


JavaScript / TypeScript

JavaScript is the only language that runs natively in every browser on the planet, and that ubiquity has spawned a remarkably deep body of literature. The challenge isn't finding a JS book — it's finding ones that teach the language honestly rather than glossing over its genuinely strange parts. The books here do exactly that: Eloquent JavaScript builds real understanding from the ground up, You Don't Know JS Yet goes deep on the mechanics most developers never fully grasp, and Programming TypeScript gives you the type-level tools to scale JavaScript into large, reliable codebases. Pair any two of these and you'll understand JavaScript better than most working professionals.

Full lists: data/javascript.md · data/typescript.md


Java

Java's longevity — over 30 years and still powering much of the world's enterprise infrastructure — has produced a small canon of genuinely great books that have stood the test of time. Effective Java is the consensus best book on any object-oriented language, not just Java. Java Concurrency in Practice remains unmatched for writing safe concurrent code, even as the language has evolved. Modern Java in Action bridges the gap to Java 17+ idioms, and Spring in Action covers the framework that most production Java systems actually run on. Read them in order and you'll write Java that senior engineers respect.

Full list: data/java.md


Go

Go's philosophy is deliberate simplicity — small language, fast compiler, opinionated tooling — and its best books reflect that ethos. The Donovan & Kernighan classic covers the language thoroughly and remains the clearest introduction to Go's concurrency model. Learning Go brings it up to modern idioms for developers arriving from Python or JavaScript. 100 Go Mistakes is the most efficient way to level up after the basics: a clear catalog of the patterns that trip up even experienced Go developers. These three books together are all you need to write professional, idiomatic Go.

  • Boring Go! - by: Hassan Aminfar - If you’ve ever felt that Go’s simplicity is a feature—not a limitation—Boring Go! puts words, examples, and confidence behind that instinct.
  • The Go Programming Language - by: Donovan & Kernighan - Clear, thorough coverage of Go from core language to concurrency.
  • Learning Go (2nd Ed.) - by: Jon Bodner - Modern, idiomatic Go for developers coming from other languages — updated for Go 1.21+.
  • 100 Go Mistakes and How to Avoid Them - by: Teiva Harsanyi - A catalog of real Go pitfalls with clear explanations and fixes.
  • Powerful Command-Line Applications in Go - by: Ricardo Gerardi - Build real CLI tools in Go — great for systems and DevOps developers.

Full list: data/go.md


Rust

Rust's ownership model is genuinely unlike anything in other mainstream languages, which means most developers need to unlearn before they can learn. The books below are carefully sequenced for that journey. The Rust Programming Language (universally called "the book") is one of the best official language guides ever written — free, clear, and comprehensive. Programming Rust goes deeper for real systems work, and Rust for Rustaceans takes you into advanced territory once the fundamentals click. Zero to Production is the practical capstone: building a real production API end-to-end, where all the theory becomes concrete.

Full list: data/rust.md


C / C++

C and C++ sit at the foundation of almost everything in computing — operating systems, compilers, databases, game engines, embedded systems — and their best books reflect that depth and weight. K&R's The C Programming Language is one of the finest technical books ever written: 272 pages that explain more than most 800-page volumes. For C++, Scott Meyers' Effective Modern C++ remains the clearest guide to writing safe, performant code with the modern language features, and Stroustrup's Tour of C++ gives you an authoritative overview of the whole language in compact form. These aren't weekend reads — they're references you'll return to for years.

Full lists: data/c.md · data/cpp.md


C#

C# has evolved faster than almost any other mainstream language over the past decade — nullable reference types, records, pattern matching, async/await, source generators — and its literature has kept pace. Jon Skeet's C# in Depth is the gold standard for understanding why the language works the way it does, not just how to use it. Stephen Cleary's concurrency cookbook is the most practical guide to async programming patterns that C# developers face daily. Together with a current reference like Mark Price's comprehensive guide to .NET 8+, these three books cover C# from its design principles through modern production patterns.

Full list: data/csharp.md


Kotlin

Kotlin has become the dominant language for Android development and a serious contender on the JVM server side, offering a modern, expressive alternative to Java with full interoperability. Its book ecosystem is compact but high quality. Kotlin in Action — written by two JetBrains engineers who designed the language — is the authoritative starting point, covering the language idioms and patterns you'll actually use. Effective Kotlin is the natural follow-up: a distillation of what writing production Kotlin well actually looks like, item by item. Two books; more than enough to be confident in the language.

Full list: data/kotlin.md


Swift

Swift is Apple's language for the entire Apple platform — iOS, macOS, watchOS, tvOS — and since its introduction in 2014 it has matured into a genuinely elegant, safe, and performant language. The official Swift book from Apple is unusually good for official documentation: clear, current, and always kept up to date with new language releases. Swift in Depth goes further, covering generics, protocol-oriented design, and the advanced patterns that distinguish fluent Swift from translated Objective-C. The Big Nerd Ranch iOS guide rounds it out with the best hands-on project-based learning for building real apps.

Full list: data/swift.md


Ruby

Ruby is a language designed above all for developer happiness — expressive, flexible, and famously elegant — and its best books capture that spirit while building serious engineering depth. Sandi Metz's Practical Object-Oriented Design is required reading regardless of which language you work in: it uses Ruby to teach OOP more clearly than any other book in any language. The Well-Grounded Rubyist is where you go to truly understand how Ruby works under the hood — objects, blocks, closures, and the metaprogramming that makes Rails possible. The Pickaxe (Programming Ruby 3.2) is the definitive reference once you need to go deeper.

Full list: data/ruby.md


Elixir

Elixir sits on top of the Erlang VM — one of the most battle-tested runtimes for fault-tolerant, distributed systems ever built — and brings a modern, Ruby-influenced syntax to that proven foundation. It's the best language available for building systems that must stay up, handle concurrency gracefully, and recover from failure automatically. Dave Thomas' Programming Elixir is the joyful introduction the language deserves. Saša Jurić's Elixir in Action takes you into OTP, processes, and real production architecture. And Programming Phoenix shows how it all comes together in web applications with real-time features that would be painful to build anywhere else.

  • Programming Elixir 1.6 - by: Dave Thomas - The best starting point for Elixir's functional and concurrent programming model.
  • Elixir in Action (3rd Ed.) - by: Saša Jurić - Production-grade Elixir: OTP, concurrency, and building real fault-tolerant systems.
  • Programming Phoenix 1.4 - by: McCord, Tate, Valim - Building real-time web apps with Phoenix and LiveView — collaborative app development at its best.

Full list: data/elixir.md


Scala

Scala is the most ambitious language on the JVM: it fuses object-oriented and functional programming into a single, expressive type system, and it runs on the Java runtime with full interoperability. That ambition makes it powerful and also genuinely demanding to learn well. Programming in Scala — co-authored by the language's creator, Martin Odersky — is the authoritative guide and the right place to start. Functional Programming in Scala is one of the finest FP books ever written in any language: rigorous, demanding, and transformative for how you think about code. The Scala Cookbook fills in the practical day-to-day gaps that the theory books leave open.

Full list: data/scala.md


PHP

PHP powers a remarkable share of the web — WordPress, Wikipedia, Facebook's original stack — and despite its reputation, modern PHP is a genuinely capable, well-designed language. The challenge is that there is a vast amount of outdated PHP code and outdated PHP advice floating around the internet, making good books especially valuable here. Josh Lockhart's Modern PHP is the essential reset: it shows what PHP actually looks like written well in 2026 with modern tooling. Matt Zandstra's PHP Objects, Patterns and Practice builds the object-oriented and design-pattern foundation that serious PHP work requires. Laravel: Up & Running covers the framework that defines professional PHP web development today.

Full list: data/php.md


Functional Programming

Functional programming is less a language and more a way of thinking — one that makes programs easier to reason about, test, and compose. These books are language-agnostic in spirit even when they use a specific language as their vehicle. Haskell is the natural home for pure FP learning because it enforces the discipline that other languages only encourage, and Learn You a Haskell is the most enjoyable entry point the language has. Category Theory for Programmers goes deeper into the mathematical structures that underlie all of functional programming. Scott Wlaschin's Domain Modeling Made Functional is the sleeper hit of the list: it applies FP and DDD to real business problems in F# with unusual clarity, and its lessons transfer to any language.

Full list: data/functional-programming.md


Shell & Command Line

The command line is the universal interface of software development — every language, every platform, every server. Developers who are fluent at the shell move faster, debug more effectively, and automate repetitive work that slows everyone else down. The Linux Command Line is the best starting point: methodical, clear, and free online. Once you're comfortable there, sed & awk opens up serious text processing power, and Classic Shell Scripting covers the portability and reliability patterns that distinguish production scripts from quick hacks. These aren't glamorous books — but they pay dividends every single day.

Full list: data/shell-command-line.md


More Languages (Full Lists Only)

In addition to the languages highlighted above, the data/ directory includes focused book lists for many more languages and ecosystems:

Frontend & Web Development

  • CSS: The Definitive Guide (5th Ed.) - by: Meyer & Weyl - The most comprehensive and current CSS reference — covers Grid, Flexbox, and custom properties.
  • Every Layout - by: Pickering & Bell - Reframes CSS layout as composable, algorithmic design primitives — changes how you think about CSS.
  • HTTP: The Definitive Guide - by: Gourley et al. - Deep understanding of HTTP — essential for every web developer.
  • Web Performance in Action - by: Jeremy Wagner - Practical techniques for making real-world websites significantly faster.
  • Web Scalability for Startup Engineers - by: Artur Ejsmont - Pragmatic guide to scaling web architecture from day one through millions of users.

Full list: data/frontend.md


Mobile Development

Full list: data/mobile.md


Data Engineering

Full list: data/data-engineering.md


AI / Machine Learning

Big-Picture AI & Fundamentals

Full list: data/ai-fundamentals.md


Deep Learning & Modern Practice

Full list: data/deep-learning.md


AI Engineering, LLMs & Agents

⚡ The fastest-moving section of the list. These books reflect how AI is actually being built in production in 2025–2026.

  • AI Engineering - by: Chip Huyen (2025) - The definitive guide to building production AI systems with LLMs — foundation models, RAG, fine-tuning, agents, and evals. Start here.
  • Build a Large Language Model (From Scratch) - by: Sebastian Raschka (2024) - Builds a GPT-style LLM step by step in PyTorch — the best way to truly understand what's inside any model.
  • The LLM Engineering Handbook - by: Iusztin & Labonne (2024) - End-to-end guide for shipping LLM applications: RAG, vector search, prompt chaining, fine-tuning, evals, and LLMOps.
  • Prompt Engineering for LLMs - by: Berryman & Ziegler (2024) - Systematic prompt engineering from two core GitHub Copilot engineers — treats prompts as first-class engineering artifacts.
  • Designing Multi-Agent Systems - by: Victor Dibia (2025) - Framework-agnostic guide to building reliable AI agent systems: orchestration patterns, memory, evaluation, and failure modes.
  • Generative AI Design Patterns - by: Cihan Biyikoglu (2025) - 32 reusable patterns for RAG, reasoning chains, multi-modal systems, and agentic architectures.

Full list: data/ai-engineering.md


ML Systems & MLOps

Full list: data/mlops.md


Career, Communication & Engineering Culture

  • The Staff Engineer's Path - by: Tanya Reilly - How to grow as a technical leader without becoming a manager — highly practical.
  • Staff Engineer - by: Will Larson - Real stories and frameworks from engineers who made it to Staff and beyond.
  • The Manager's Path - by: Camille Fournier - A technical leader's guide from tech lead to CTO — worth reading even if you never want to manage.
  • An Elegant Puzzle - by: Will Larson - Engineering management systems: team design, hiring, incident management, strategy.
  • Peopleware (3rd Ed.) - by: DeMarco & Lister - The argument that most software failures are social, not technical — still disturbingly accurate.
  • The Clean Coder - by: Robert C. Martin - Professionalism, estimates, pressure, and how to behave when things go wrong.
  • Software Engineering at Google - by: Winters, Manshreck, Wright - How Google thinks about maintainability, testing, and operating at scale — free online.
  • Thinking in Systems - by: Donella Meadows - Systems thinking fundamentals — applies to codebases, teams, and organizations alike.

Full list: data/career.md


Further Reading

Curated book lists that go deeper on specific topics:

  • AI Books - Broad coverage of AI, ML, and deep learning books and resources.
  • GoBooks - Large, curated collection of Go books, tutorials, and learning resources.
  • JavaScript Books - Books and learning resources for JavaScript.
  • PostgreSQL Books - Books and guides for PostgreSQL.
  • Python Books - Python books, tutorials, and learning materials.
  • Free Programming Books - The largest curated list of free programming books across every language and topic.

Related Projects

Other curated lists from DevTools Directory and the AI for Developers community:

  • Awesome DevTools - A curated list of the best developer tools across every category — editors, debuggers, productivity, and more.
  • Awesome Cloud - The best cloud platforms, services, and infrastructure tools for developers and DevOps.
  • Awesome AI Coding Tools - Curated list of AI-powered coding assistants, code generators, and developer copilots.
  • Awesome VibeCoding - Resources, tools, and guides for the emerging vibe coding movement — building with AI as a co-pilot.

Contributing

PRs are welcome! When adding a book, please:

  • Keep the list format consistent with existing sections.
  • Prefer official or free links when available.
  • Write a one-line description that explains why it's worth reading, not just what it covers.
  • Note the edition and year if it matters — especially for fast-moving topics like AI.
  • For the AI Engineering section, always include the publication year since the field moves quickly.

Releases

No releases published

Packages

 
 
 

Contributors