Reading List

Here’s a list of technical books that I’ve read and found helpful.

C Link to heading

  • Algorithms in C (Robert Sedgewick)
  • Modern C (Jens Gustedt)

Concurrency Link to heading

  • The Little Book of Semaphores (Allen B. Downey)
  • Using Asyncio in Python - Understanding Python’s Asynchronous Programming Features (Caleb Hattingh)

Cryptography Link to heading

  • Serious Cryptography, 2nd edition (Jean-Philippe Aumasson)

Databases Link to heading

  • Database Management Systems (Raghu Ramakrishnan and Johannes Gehrke)
  • NoSQL Distilled - A Brief Guide to the Emerging World of Polyglot Persistence (Pramod J. Sadalage and Martin Fowler)

Data Structures and Algorithms Link to heading

  • Algorithmic Thinking - Learn Algorithms To Level Up Your Coding Skills (Daniel Zingaro)

Distributed Systems Link to heading

  • Distributed Systems (Maarten van Steen and Andrew S. Tanenbaum)

Docker Link to heading

  • Docker Deep Dive - Zero to Docker in a Single Book (Nigel Poulton)

Kubernetes Link to heading

  • Kubernetes Up and Running, 3rd edition (Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson)

Javascript Link to heading

  • The Javascript Language (Ilya Kantor)

Git Link to heading

  • Pro Git - Everything You Need To Know About Git (Scott Chacon and Ben Straub)

Go Link to heading

  • Distributed Services with Go (Travis Jeffery)
  • Know Go - Generics (John Arundel)
  • Let’s Go! (Alex Edwards)
  • Let’s Go Further! (Alex Edwards)
  • Microservices with Go (Alexander Shuiskov)
  • Network Programming with Go (Adam Woodbeck)
  • Writing a Compiler in Go (Thorsten Ball)
  • Writing an Interpreter in Go (Thorsten Ball)

gRPC Link to heading

  • gRPC Go for Professionals (Clement Jean)

Infrastructure as Code Link to heading

  • Terraform Up and Running - Writing Infrastructure as Code (Yevgeniy Brikman)

Linux Link to heading

  • Efficient Linux at the Command Line - Boost Your Command-Line Skills (Daniel J. Barrett)

Natural Language Processing Link to heading

  • Natural Language Processing with Spark NLP - Learning to Understand Text at Scale (Alex Thomas)
  • Speech and Language Processing (Daniel Jurafsky and James H. Martin)

Operating Systems Link to heading

  • Operating System Concepts (Abraham Silverschatz, Peter Baer Galvin, and Greg Gagne)

Python Link to heading

  • Building Data Science Applications with FastAPI - Develop, Manage, and Deploy Efficient Machine Learning Applications with Python (François Voron)
  • Fluent Python - Clear, Concise, and Effective Programming (Luciano Ramalho)
  • Intro to Python for Computer Science and Data Science (Paul Deitel and Harvey Deitel)
  • Python Testing with pytest - Simple, Rapid, Effective, and Scalable (Brian Okken)

Rust Link to heading

  • Command Line Rust (Ken Youens-Clark)
  • The Rust Programming Language (Steve Klabnik and Carol Nichols)
  • Rust Web Development (Bastian Gruber)

Software Design Link to heading

  • Designing Data-Intensive Applications (Martin Kleppmann)