Books

This is a long list of books I’ve really enjoyed and often recommend to others. I’ve read most of them—though there might be a few I haven’t finished entirely 😅. I always keep them close, as they serve as valuable references and guides in my day-to-day work as a developer.

Some are well-known and widely read, while others are more under the radar but still incredibly valuable (especially those not directly related to software development). I hope you find something here that you enjoy too.

The books aren’t listed in any particular order—just as they came to mind or as I added them over time.

Table of Contents

Software Development

Architecture & Design

Designing Data-Intensive Applications — Martin Kleppmann

Designing Data-Intensive Applications

Clean Architecture — Robert Martin

Clean Architecture

Building Microservices — Sam Newman

Building Microservices

Refactoring: Improving the Design of Existing Code — Martin Fowler et al.

Refactoring: Improving the Design of Existing Code

Design Patterns: Elements of Reusable Object-Oriented Software — Erich Gamma et al.

Design Patterns: Elements of Reusable Object-Oriented Software

Architecting ASP.NET Core Applications — Carl-Hugo Marcotte

Architecting ASP.NET Core Applications

Domain-Driven Design — Eric Evans

Domain-Driven Design

Testing & Clean Code

The Art of Unit Testing, Third Edition — Roy Osherove, Vladimir Khorikov

The Art of Unit Testing, Third Edition

Unit Testing Principles, Practices, and Patterns — Vladimir Khorikov

Unit Testing Principles, Practices, and Patterns

Clean Code — Robert Martin

Clean Code

The Clean Coder — Robert Martin

The Clean Coder

The Software Craftsman — Sandro Mancuso

The Software Craftsman

Test Driven Development: By Example — Kent Beck

Test Driven Development: By Example

Working Effectively with Legacy Code — Michael Feathers

Working Effectively with Legacy Code

DevOps & Production

Continuous Delivery — Jez Humble, David Farley

Continuous Delivery

Observability Engineering — Charity Majors et al.

Observability Engineering

Concurrency & Performance

Concurrency in C# Cookbook — Stephen Cleary

Concurrency in C# Cookbook

Pro .NET Memory Management — Konrad Kokosa

Pro .NET Memory Management

SQL Performance Explained — Markus Winand

SQL Performance Explained

Networking & Games

Game Programming Algorithms and Techniques — Sanjay Madhav

Game Programming Algorithms and Techniques

Computer Networking: A Top-Down Approach — James Kurose, Keith Ross

Computer Networking: A Top-Down Approach

Multiplayer Game Programming: Architecting Networked Games — Sanjay Madhav, Josh Glazer

Multiplayer Game Programming: Architecting Networked Games

Personal Development & Productivity

Ultralearning — Scott H. Young

Ultralearning

The ONE Thing — Gary Keller, Jay Papasan

The ONE Thing

Essentialism: The Disciplined Pursuit of Less — Greg McKeown

Essentialism: The Disciplined Pursuit of Less

The War of Art — Steven Pressfield

The War of Art

Deep Work — Cal Newport

Deep Work

The 5 Second Rule — Mel Robbins

The 5 Second Rule

Atomic Habits — James Clear

Atomic Habits