Here is a list of books that have impacted how I write and think about software, in no particular order.

  1. Terraform: Up and Running: Writing Infrastructure as Code
  2. Designing Data-Intensive Applications
  3. Production Ready GraphQL
  4. Designing Distributed Systems
  5. The DynamoDb Book
  6. RESTful Web Services Cookbook
  7. The Imposter’s Handbook
  8. Design Patterns for Cloud Native Applications
  9. Understanding Distributed Systems
  10. Practical Process Automation
  11. Database Internals: A Deep Dive into How Distributed Data Systems Work
  12. Modern Trade-Off Analyses for Distributed Architectures
  13. Managing Cloud Native Data on Kubernetes
  14. Kubernetes Patterns: Reusable Elements for Designing Cloud Native Applications
  15. Foundations of Scalable Systems: Designing Distributed Architectures
  16. Building Event-Driven Microservices: Leveraging Organizational Data at Scale
  17. Fundamentals of Software Architecture: An Engineering Approach
  18. System Design Interview – An insider’s guide
  19. Making Sense of Stream Processing
  20. Patterns of Distributed Systems
  21. Concurrency in Go
  22. Fluent Python
  23. Hypermedia Systems
  24. Learning Go