This repository contains a list of curated books that are suitable for full-stack development. This is a mixture of both free and paid books. The titles are picked based on their high ratings and positive reviews from sites like Goodreads and Amazon.
Algorithms and Data Structures
A Common-Sense Guide to Data Structures and Algorithms by Jay Wengrow
Cracking the Coding Interview by Gayle Laakmann McDowell
Grokking Algorithms by Aditya Bhargava
Introduction to Algorithms by Thomas Cormen
Think Complexity by Allen B. Downey (Free)
Design Patterns & Code Quality
Adaptive Code by Gary McLean Hall
Clean Architecture by Robert C. Martin
Clean Code by Robert C. Martin
Code Complete by Steve McConnell
Code Quality by Diomidis Spinellis
Design Patterns by Erich Gamma
Patterns of Enterprise Application Architecture by Martin Fowler
Programming Pearls by Jon Bentley
Refactoring by Martin Fowler
Refactoring to Patterns by Joshua Kerievsky
Full Stack Development
CI/CD
Continuous Delivery by Jez Humble
Continuous Delivery with Docker and Jenkins by Rafał Leszko
Continuous Integration by Paul Duvall
Grokking Continuous Delivery by Christie Wilson
Pipeline as Code by Mohamed Labouardy
Databases
Database Design by Adrienne Watt (Free)
Database Design for Mere Mortals by Michael J. Hernandez
Essential SQLAlchemy by Jason Myers
MongoDB: The Definitive Guide by Kristina Chodrow
PostgreSQL Official Documentation
Redis by Jay A. Kreibich
SQL Antipatterns by Bill Karwin
SQL Cookbook by Anthony Molinaro
The Little Book of Redis by Karl Seguin
DevOps
Ansible for DevOps by Jeff Geerling
Ansible: Up and Running by Lorin Hochstein
Cloud Native DevOps with Kubernetes by John Arundel
Cloud Native by Boris Scholl
Docker Deep Dive by Nigel Poulton
Docker for Sysadmins by Nigel Poulton
Kubernetes Best Practices by Brendan Burns
Kubernetes Patterns by Bilgin Ibryam
Kubernetes: Up and Running by Kelsey Hightower
Practical ELK Stack by Gurpreet S. Sachdeva
Prometheus: Up and Running by Brian Brazil
Terraform: Up and Running by Yevgeniy Brikman
The DevOps Handbook by Gene Kim
The Kubernetes Book by Nigel Poulton
Python
A Guide to Python's Magic Methods by Rafe Kettler (Free)
Architecture Patterns with Python by Harry Percival (Free)
Beyond the Basic Stuffs with Python by Al Sweigart
Building Skills in Object-Oriented Design by Steven Lott (Free)
CPython Internals by Anthony Shaw
Clean Architectures with Python by Leonardo Giordani
Cython by Kurt Smith
Dive Into Python 3 by Mark Pilgrim (Free)
Effective Python by Brett Slatkin
Fluent Python by Luciano Ramalho
High Performance Python by Micha Gorelick
Inside the Python Virtual Machine by Obi Ike Nwosu
Intermediate Python by Muhammad Yasoob Ullah Khalid
Practical Python Design Patterns by Wessel Badenhorst
Python 3 Object-Oriented Programming by Dusty Phillips
Python 3 Official Documentation (Online)
Python 3 Patterns, Recipes, and Idioms by Bruce Eckel (Free)
Python Cookbook by David Beazly
Python Design Patterns by Brandon Rhodes
Python Notes for Professional by goalkicker.com (Free)
Python Packages by Tomas Beuzen
Python Testing with Pytest by Brian Okken
Python for Data Analysis by Wes McKinney
Python re(gex)? by Sandeep Agarwal (Free)
Robust Python by Patrick Viafore
Test-Driven Development with Python by Harry Percival
Testing Python by David Sale
The Hacker's Guide to Python by Julien Danjou
The Hitchhiker's Guide to Python! by Kenneth Reitz (Free)
The Little Book of Python Anti-Patterns by Kayce Basques
Using Asyncio in Python by Caleb Hattingh
Rust
Command-Line Rust by Ken Youens
Hands-on Concurrency with Rust by Brian Troutwine
Hands-on Rust by Herbert Wolverson
Programming Rust by Jim Blandy
Refactoring to Rust by Lily Mara
Rust Cookbook by Vigneshwer Dhinakaran
Rust Design Patterns by E. Dunham
Rust Servers, Services, and Apps by Prabhu Eshwarla
Rust Web Development by Bastian Gruber
Rust for Rustaceans by Jon Gjengset
The Art of WebAssembly by Rick Battagline
The Rust Programming Language by Steve Klabnik (Free)
Zero to Production in Rust by Luca Palmieri
Web Architecture
AWS Lambda by Matthew Fuller
AWS Well-Architected Framework by AWS (Free)
Building Microservices by Sam Newman
Designing Data Intensive Applications by Martin Kleppmann
Distributed Systems by Maarten van Steen
Distributed Tracing in Practice by Austin Parker
Effective Kafka by Emil Koutanov
Kafka Streams in Action by Bill Bejeck
Kafka: The Definitive Guide by Gwen Shapira
Microservice APIs: With Examples in Python by Jose Haro Peralta
Microservice Patterns by Chris Richardson
RabbitMQ in Depth Gavin Roy
ZeroMQ: Messaging for Many Applications by Pieter Hintjens
Web Frameworks (Python)
Django Official Documentated Book (Online)
Explore Flask by Robert Picard Revision
Flask Web Development by Miguel Grinberg
Full Stack Python by Matt Makai (Free)
Lightweight Django: Using REST, WebSockets and Backbone by Julia Elman
Official Flask Documentation (Online)
Production-Ready GraphQL by Marc-Andre Giroux
REST APIs with Django by William Vincent
The Road to GraphQL by Robin Wieruch
Two Scoops of Django: Best Practices by Daniel Feldroy
Web Front-End
CSS in Depth by Keith Grant
Effective TypeScript by Dan Vanderkam
Learning React by Alex Banks
Programming TypeScript by Boris Cherny
You Don't know JS: Async & Performance by Kyle Simpson
React Design Patterns and Best Practices by Michele Bertoli
React Hooks in Action by Mark Tielens Thomas
Web Services
API Security in Action by Neil Madden
HTTP/2 in Action by Barry Pollard
HTTP: The Definitive Guide by David Gourley
Nginx Cookbook by Derek DeJonghe
Nginx Essentials by Valery Kholodkov
WebRTC APIs by Alan B. Johnston
Webhooks: Events for RESTful APIs by Matthias Biehl
Linux
Advanced Bash-Scripting Guide by Mendel Cooper (Free)
Bash Reference Manual by Chet Ramey (Free)
GNU sed by Sandeep Agarwal (Free)
How Linux Works by Brian Ward
Modern Vim by Drew Neil
Practical Vim by Drew Neil
Pro Git by Scott Chacon
Shell Scripting by Steve Parker (Free)
The Cathedral and the Bazaar by Eric S. Raymond
The GNU Awk User's Guide (Free)
tmux 2 by Brian Hogan
Software Engineering
A Philosophy of Software Design by John Ousterhout
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
BDD in Action by John Ferguson
Domain Driven Design by Eric Evans
Essential Scrum by Kenneth S. Rubin
Fundamentals of Software Architecture by Mark Richards
Implementing Domain Driven Design by Vaughn Vernon
Introduction to System Design by Shivam Singh
Patterns, Principles and Practices of Domain Driven Design by Scott Millett
System Design Interview by Alex Xu
The Clean Coder by Robert C. Martin
The Effective Engineer by Edmond Lau
The Mythical Man-Month by Frederick Brooks
The Nature of Software Development by Ron Jeffries
The Pragmatic Programmer by Andrew Hunt
Unit Testing Principles by Vladimir Khorikov
Web Scalability for Startup Engineers by Ejsmont A.