What follows is a non-ordered & non-exhaustive list of great programming books that I’d recommend every ambitious software engineer. The language specific ones are obviously not for everyone.

Disclaimer: I have not read all of these from cover to cover. I’ve read most, but some are on my list of books to read next based on suggestions and/or reviews from people I trust.

General Link to heading

Golang Link to heading

  • The Go Programming Language โ€” Kind of obvious, this one. But a great classic! I remember enjoying the chapter about UTF-8 a lot, as well as the generally thorough explanations of how and why Golang behaves.
  • Concurrency in Go: Tools and Techniques for Developers โ€” This is a truly great programming book! Even though Golang is made for concurrency, it’s still very possible to mess up. This book shows you how it’s done. What’s a bit cool (๐Ÿค“) is that it predates the context.Context interface, and as such suggests using a manual “done channel” to enable canceling of coroutines. It shows the author’s insight that an exact pattern like that was introduced with the Context.Done() method introduced later in the language. For more on that, check out this git diff, on a small golang utility library I started on way back.
  • Feel free to skip this one, though: Learning Functional Programming in Go โ€” This book should, IMHO, rather have been a tweet. Something like this: “Go is not really suited for functional programming, I’d advice you not to do it at scale.” Fun fact: this book is actually what got me into Kotlin. All that talk about tail call optimization (and how Golang is not doing that…) got me searching for more functional fun outside of Elm, Haskell and Lisp.

Python Link to heading

Kotlin Link to heading

Lisp Link to heading

React Link to heading

  • Advanced React: Deep dives, investigations, performance patterns and techniques โ€” I’ve actually read (or at least skimmed) quite a few books on React โ€” I even started writing one, way back โ€” but this is the only one I think is worth recommending. If you’re a complete beginner there are probably other/better options, but given that you’re at least semi-familiar with thinking in React, this is The One.

Rust Link to heading

  • The Rust Programming Language โ€” “The Book”, as official as it gets, and quite good at that.
  • Programming Rust โ€” Less official, but a fine resource regardless. The two complement each other (and of course overlap a bit as well).

Warning: I might add more later.