Reading List for 2023

Everyone has different ways to learn new things. While I found learning by doing is most practical way to learn Programming and Software construction, for me nothing helped improve critical thinking skills more than reading some high quality books. Also, reading books is something I enjoy more. Here is my wishlist of books I want to read or re-read this year. My main focus is design and development of backend systems.

Go Programming

  1. Learning Go
  2. Concurrency in Go
  3. Efficient Go
  4. Cloud Native Go
  5. Effective Go
  6. Shipping Go
  7. 100 Go Mistakes and How to Avoid Them


  1. PostgreSQL Up and Running
  2. The Art of PostgreSQL
  3. MongoDB Definative Guide

Distributed Systems

  1. Designing Data Intensive Applications
  2. Software Architecture Fundamentals
  3. Software Architecture : Hard Parts
  4. Software Architecture Metrics
  5. Evolutionary Architecture
  6. Building Microservices

Containers and Orchestrators

  1. Docker Deep Dive
  2. Kubernetes In Action
  3. Core Kubernetes

Web APIs

  1. The Design Of Web APIs
  2. RESTful Web APIs Patterns and Practices
  3. Principles of Web API Design
  4. Mastering API Architecture
  5. gRPC Microservices with Go


  1. Learning Domain Driven Design
  2. Domain Driven Design
  3. The Power Of Go Tests
  4. Powerful Command Line Applications in Go
  5. Domain Driven Design with Golang

Engineering Practices

  1. Software Engineering at Google
  2. Modern Software Engineering

Go : Example Driven Books

  1. Interpreter in Go
  2. Compiler in Go
  3. Build an Orchestrator in Go (From Scratch)