A non-exhaustive list of nonfiction books that I find interesting and may or may not have helped me as a software engineer/human being.
book-list's Introduction
Nonfiction Book List
Good Reads is too easy. Why do that when I can maintain a Github Repo?
Bear in mind, this is not an exhaustive list of recommendations. In fact, these are really based on my own interests and rabbit holes I've fallen down. Some of them may not even be great recommendations for you. My hope is that everyone finds that small handful of topics they just can't stop learning about. If yours align with mine, may you find something of interest and curiosity here. If not, I am not offended!
Also bear in mind that I am a serial book abandoner. If it doesn't spark joy, odds are I will ditch it 60-120 pages in. Doesn't mean it's a bad book per se, it just means it wasn't a right fit for where I was at. I often pick abandoned reads back up weeks, months, or years later. I often just let them rot, also.
I've tried to provide links to books on bookfinder as a fairly neutral source for finding a place to purchase your books. Some of these works are also available (ethically) for free online. In those cases, where known, I have linked directly to the book, such as Eloquent JavaScript. But please check your local libraries! I was able to read many of these books on Libby for free with my public library card. I get nothing for listing any of these books. None of the links below are affiliate. This is purely me. Broadcasting my love of reading to whoever will listen.
All books follow an emoji-based labeling system as follows:
Good read for some overall patterns, practices, etc. Some of the information is a bit dated (this book is coming up on 5 years old) so I do hope they'll update some of the content soon! Still made a valuable primer.
This book was recommended all over when I was watching Tech Twitter while I was in bootcamp. You can find practice technical interview problems all over on the internet, but what I loved about this book and what those sites don't have is (a) the chapters explaining the how/why of tech interview processes (b) the explanations for solutions.
My undergrad degree was Language, Literacy, and Cultural Studies with a focus on education. This was a thoughtful look into effectively working on global teams and in global markets.
Great for both those honing their skills as a manager, but also for anyone who has a manager to hone the skill of "managing up" and in general giving helpful feedback.
Lot's of folks love it. It wasn't for me. The descriptions of cloud infrastructure remained more surface-level and repetitive than I was hoping they'd be. That one's on me as the title quite clearly explains it's a basic primer!
Really similar review to "97 Things Every Programmer Should Know". Enjoyable, small, digestible pieces that lead to great conversations. I did this as part of a book study and the articles really served as a nice jumping off place to discussing the persona of a data engineer. This is a great series by O'Reilly Guides
Started this one with some background knowledge in Reverse ETL looking to explore other pieces of the data pipeline and that's exactly what I'm getting so far. The example workflows outlined are easy to follow.
This is an amazing series. Little bite size chunks of knowledge that make the book easy to pick up at times when you have just a minute or two between other things. Nice pieces to think on and discuss with others. Just overall excellent little nuggets of wisdom.
This is a FUN read. In under 500 pages it manages to walk from "Hey! You can do morse code with a flashlight! Neat!" to "Here's how a computer program actually works" which is honestly super impressive (both how a program works and the fact that so much information was fit into such a digestible book!)
It may have just not be the right step in my journey when I picked this up. I did glean some good ideas and pick up some standard industry knowledge, it just wasn't my favorite read for a handful of reasons. I feel like I broke some unwritten law by writing that. Don't @ me.
This book feels like sitting down for a cup of coffee with a trusted friend and getting some solid career and coding advice. The topics make great pieces for team conversation as well. I re-read this one in 2022 for an engineering book club and it was just as good the second time! π₯
Pretty much what the title says π. I'm reading this one with a book club and I appreciate the rich conversations that it inspires. Lots of good discussion around how/where/when these principles might (or might not) be applied, critical thinking about projects we're involved with, etc. Not sure I would enjoy it so much reading it on its own -- reading with others is fun!
I linked the physical book, but the audible version of this was really enjoyable. I liked listening along with the narrative. This one checked a lot of boxes for me -- contemporary US history (especially the 70s) and some nerdy awesomeness? Yes please! I loved the insight into what challenges they faced and how they worked them out.
My favorite was the delve into the startup bubble in the early 2000s as I lived through that from a much younger person's perspective (a kid with a dad in startups). It was fun to see what was actually going on behind the rollercoaster (and crash) and what we can learn from it and how it informs or can inform practices today. I enjoyed getting at least one person's perspective on the "startup headspace", especially since this is a book I see referenced a lot in Twitter threads.
Bought it for the beautiful peacock on the cover, stayed for the fun deep dive into JavaScript. I read this around when I was also in a coding bootcamp using JavaScript and it really helped reviewing and expanding on some fundamentals. Also, the e-book is available free in the link to the left.
Fun book. Enjoyed working through it. This was my first introduction to a language outside of the JavaScript/TypeScript ecosystem aside from reading some samples in Java and C# online. I enjoyed in and found it super fun to begin to connect the dots on "these are some of the fundamental things languages can and should be able to do and here's the tradeoffs of implementing them differently".
Useful background information. It felt a bit repetitive, which made the audiobook easier to get through! It was a nice general primer for thinking about how folks interact with what one builds.
To be quite honest, I'm not sure if I'd recommend it or not! It gave some great overview of different levels of testing, their purpose, and a high level comparison of types of tooling for browser automation (I was focusing on the E2E UI testing section). However, the author really only went into detail about their preferred tools which was unfortunate. For sure worth a good skim for some context at the least!
Useful background information. A lot of the topics covered are honestly things that one may not need to think about in day-to-day programming because they're either obscured by frameworks or TypeScript, and in general the resources seem skewed towards the Next.js ecosystem. That said, I read it with a group and it inspired a lot of great conversations, so I enjoyed it for that.
Another book I read with a book club. While reading, some of the topics felt obvious (OF COURSE bold and bright text demand more attention). HOWEVER this book has been a huge help to me as a frontend developer, especially when I've had to develop without a designer to work with. I have found myself reaching back here as I'm building out UIs and applying principles ranging from visual hierarchy to color theory to spacing that I picked up in this book. I very highly recommend this read as these "muscles" would have otherwise taken a long time to grow.
Yes, I double highly recommend. I don't know exactly when I started becoming fascinated with the number zero, but it's just a seriously fun topic to ponder. This book crossed of my history interests, my interests in the value of zero and infinity, and a number of other cool ideas along the way. I was fascinated to really grasp how recent of an idea the number zero really is, at least in the way that it's accepted today!