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.
-
The Clean Code Series
- These get a lot of flack for being too dogmatic, but I still consider them required reading. The best advice I heard was, read and ingest the ideas, then “let them go.”
- Clean Code (Martin)
- Clean Architecture (Martin)
- The Clean Coder
- Not a page turner like Clean Code and Clean Architecture, but glad I listened to it.
- Good as an audiobook.
- Clean Agile
- Listening as audiobook. Seems more like a memoir. I honestly did not absorb this well.
-
Design Patterns: Elements of Reusable Object-Oriented Software (Gamma et al.)
- Not particularly fun, and a little old, but still the OG source for code design patterns.
-
Designing Data-Intensive Applications (Kleppmann)
- Interesting examination on things like relational databases vs. no-sql DBs, reliability vs. access, stream vs. batch.
-
- Not a book, but a must-read one pager.
-
Observability Engineering(Charity Majors)
- Maybe a little more verbose that it needs to be.
-
How to Win Friends and influence People
- Good as an Audio book.
-
- Great primer on web page design, SEO, and page element.
-
- Simple message, well packaged, method of developing your brand.
-
- Loved it, a new way of thinking about things I encounter daily.
-
- 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.
-
Unit Testing: Principles, Practices and Patterns (Khorikov)
- I really appreciated the section on identifying what makes a quality unit test and doesn’t just push the idea that you should have 100% code coverage.
-
- Just as long as it needs to be and easy. Good as e-book.
-
Python Concurrency with asyncio (Matthew Fowler)
- A good explanation of how to use asyncio, directly helped me with a project at work.
-
- 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.
-
[] Secrets of a JavaScript Ninja—2nd Ed. (Resig, et. al.)
- Haven’t had a change to finish yet, but so far I’m liking the deep-diving nature of the book.
-
The Kubernetes Book - 2022 Ed. (Nigel Poulton)
- Great, up-to-date, core concepts of K8. Good as an ebook.
-
- The self-proclaimed classic intro. Good as an ebook. Will make any programmer think.
-
- This was a great intro to web dev for me, and my first intro to Golang.
-
Rust for Rustaceans (Gjengset)
- Helped me start contributing quality code, as a collaborator, to my first open source Rust project.
-
Learning PHP, MySQL & JavaScript
- This one is on here for sentimental reasons, one of my first hands-on introductions to web development.
-
[] Node.js Design Patterns (Casciaro and Mammino)
- In progress, but I like it so far.
-
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 explanations.
-
Test Driven Development (M. Fowler)
- Classic! But I personally prefer Unit Testing: Principles, Practices and Patterns.
-
- Great intuitive bits on unique(ish) parts of Go like interfaces and goroutines with a primer on different types of cloud computing
-
- Good (free) comprehensive guide everyone who uses Git should read.
-
The Unix and Linux System Administration Handbook (Nemeth +)
- Not a page turner, but good 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 that helped me. Solidified the concept of programming to an interfaces for me.
-
JavaScript—The Definitive Guide (Flanagan)
- This is a questionable inclusion, it focuses on the language but includes little about using it with Node.js or in the browser.
-
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.
-
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)
- I enjoyed this romp through recent history, but maybe it’s not for everyone.
-
The Phoenix Project (Kim, Behr, & Spafford)
- Oddly entertaining narrative on why devops is beneficial. Would only do as an Audiobook.
-
The Lord of the Rings (I, II, and III) (J. R. R. Tolkien)
- Check out the Andy Serkis narrated audiobook, a treat for the ears.
-
The Guns of August (Tuchman and Massie)
- Something history buffs will enjoy, not for everyone.
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.
-
Learning React (Banks and Porcello)
- Plenty of technical mistakes, they must not have run the code they put in the book, and already outdated.
-
Docker for Developers (Bullington-McGuire et al)
- Not bad necessarily, but not worth the cash. I wish I had just stuck with Docker Deep Dive.
-
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.
-
- It’s not bad but offers little material that you couldn’t just pick up from online docs.
-
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.
-
Microservice APIs: Using Python, Flask, FastAPI, OpenAPI and more(Jost Peralta)
- Way more beginner oriented than it should be since its targeted audience is people using/learning microservices.
-
[] Distributed Systems with Node.js (Hunter)
- I would recommend getting Node.js Design Patterns instead.
-
Boost your Django DX (A. Johnson)
- While I really appreciate Adam Johnson’s work in the Django community, I found the price to be a little steep for how basic the content was.
-
Speed Up your Django Tests (A. Johnson)
- While I really appreciate Adam Johnson’s work in the Django community, I found the price to be a little steep for how basic the content was.
In the Backlog
Books I want to read, but never seem to make it to the top of the list.
-
Site Reliability Engineering (Murphy, Beyer, et el)
- This is a slow read. Not sure if I will ever get to this.