My Ultimate Reading List
Reads Worth Their Weight When Moving
This list doesn’t encompass everything I’ve read, mostly just things I’ve read to pick up new skills and my recommendations.
It has two sections:
There’s a gray area between the two list, things I wouldn’t actively recommend but didn’t strongly dislike either. I don’t bother including those.
The Good Stuff
Stuff I recommend divided by category.
Design and Concepts
Books that talk about abstract concepts, system design, and idea worms that’ll have you thinking differently.
-
The Cathedral and the Bazaar (Raymond)
- The classic scoop on why open-source is kick-butt.
-
- I continue to revisit this book, and it continues to give me those aHa! moments.
-
- Not as much of a page turner as Clean Code and Clean Architecture but glad I listened to it. It was good as an audiobook.
-
- Listening as audiobook. Seems more like a memoir. I honestly did not absorb this well.
-
The Pragmatic Programmer (Thomas and Hunt)
- Just read in piecemeal. Reread as an audiobook, good the second go around.
-
Design Patterns: Elements of Reusable Object-Oriented Software (Gamma et al.)
- Not a particularly fun book IMO, and a little old, but still applicable.
-
Designing Data-Intensive Applications (Kleppmann)
- Interesting examination on things like relational databases vs no-sql DBs, reliability vs access, stream vs batch.
-
- The battle-hardened guidelines.
-
Site Reliability Engineering (Murphy, Beyer, et el)
- This is a slow read.
-
How to Win Friends and influence People
- Good as Audio book.
-
- Great primer on web page design, SEO, and page element.
-
- Simple message, well packaged, method of developing your brand.
-
- Loved it, new way of thinking about things I encounter on a daily basis.
-
- Loved that it’s essentially a picture book, should have just stole from the library
-
- Wish it talked about Django more
-
Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith
- OK, but really enjoyed this books younger (bigger) brother (below)
-
Building Microservices: Designing Fine-Grained Systems
- I actually come back to this book as a reference, I don’t even write microservices
Technical Skills
These were books I read to pick up a new skill.
-
- Good (free) comprehensive guide everyone who uses Git should read.
-
The Kubernetes Book - 2022 edition (Nigel Poulton)
- Great, up-to-date, core concepts of K8. Good as an ebook.
-
- Well written coverage of how Docker works under the hood, not a full API/CLI reference but really takes Docker from the abstract to the concrete. Cheap, and gets updates frequently. Good as e-book.
-
The C Programming Language (Kernigan and Ritchie)
- On the back burner, not using C a lot right now.
-
The Go Programming Language (Donovan and Kernighan)
- If Kernighan wrote The C programming Language like this, I see why it’s a classic. Fantastic explainations.
-
Unit Testing: Principles, Practices and Patterns (Khorikov)
- I really apprecaited the section on identifying what makes a quality unit test and doesn’t just push the idea that you should have 100% code coverage.
-
- Great intuitive bits on unique(ish) parts of Go like interfaces and goroutines with a primer on different types of cloud computing
-
- The self-proclaimed classic intro. Good as an ebook. Will make any programmer think.
-
- Just as long as it needs to be and easy. Good as e-book.
-
- This was a great intro to web dev with Go’s, but I wish it dealt with more advanced topics.
-
Learning PHP, MySQL & JavaScript
- This one is on here for sentimental reasons, one of my first hands-on introductions to web development.
-
The Unix and Linux System Administration Handbook (Nemeth +)
- A classic reference to have on hand.
-
Introducing Python - Modern Computing in Simple Packages (Lubanovic)
- Good as an all around reference for the language
-
Object-Oriented Python: Master OOP by Building Games and GUIs (Kalb)
- A great intro to OOP for pythonistas. Made me appreciate interfaces in Golang much more. I skipped the gui/game making sections.
-
Rust for Rustaceans (Gjengset)
- Helped me start contributing quality code, as a collaboator, to my first open source Rust project.
-
Javascript - The Definitive Guide (Flanagan)
- This is a questionable inclusion, the section on the DOM was a little lacking.
-
Kubernetes Best Practices (Burns et al)
- This is a slow read.
-
Terraform: up and running (Brikman)
- Seems a little long, it meanders into thing it should just assume the reader knows, but I like the writing style so far.
-
Web Security for Developers: Real Threats, Practical Defense
- A short, but practical primer. I enjoyed it because it’s a level deeper than common documentation goes
Fun
Fun stuff I just couldn’t leave off the list.
-
Team of Rivals - Unabridged (Goodwin)
- Good as Audiobook
-
How the Internet Happened (Brian McCullough)
- enjoyable romp through recent history.
-
The Phoenix Project (Kim, Behr, & Spafford)
- Oddly entertaining narative on why devops is beneficial. Would only do as an Audiobook.
Save your money
This is books I usually felt that I could have done without, or maybe there was a better place to find the information.
-
Most books published by Packt. Their price tags and title are usually enticing but I’ve yet to read one that I thought either didn’t deliver on content or there was a better alternative.
-
Python for Devops (Gift et al.)
- Couldn’t even finish, just ramblings with little useful info on using python for devops or automation that can’t be found in a python 101 book.
- Alternative: unknown
-
Learning React (Banks and Porcello)
- Plenty of technical mistakes, they must not have run the code they put in the book.
- Alternative: The React team is putting together more up-to-date docs on using functional components.
-
Docker for Developers (Bullington-McGuire et al)
- Not bad necessarily, but not worth the dosh. I wish I had just went with Docker Deep Dive initially.
- Alternative: see Docker Deep Dive by Poulton.
-
Wicked Cool Shell Scripts (Taylor)
- I have mixed feelings about this one; the shell scripts may be cool, but that doesn’t mean they’ re useful.
-
- Again, like most books to come out of Packt publishing, it’s not bad but offers little material that you couldn’t just pick up online the documentation.
-
Think Java: How to Think Like a Computer Scientist
- I only take issue with the title, which should be “basics of programming with java”. Not bad if that’s what you’re looking for.
-
CPython Internals: Your Guide to the Python 3 Interpreter
- I wanted this to be less abstract. It’s enough for someone more curious, but I wanted more.
~Vim Pirate