Skip to content

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.

Notifications You must be signed in to change notification settings

teallarson/book-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

46 Commits
Β 
Β 

Repository files navigation

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:

  • πŸ“– reading or read a paper or e-book version
  • 🎧️ reading or read an audiobook version
  • πŸ‘οΈ recommend
  • ⭐️ highly recommend
  • βœ–οΈ abandoned
  • ⏭ want to read soon
  • βœ… completed

CATEGORIES

Architecture and Systems Thinking

Tiitle Labels Notes
Designing Data-Intensive Applications πŸ“–
Designing Distributed Systems πŸ‘ βœ… πŸ“– 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.
Software Architecture in Practice Cannot for the life of me remember where I heard about this title, but they raved about it and the title stuck with me.

Career

Title Labels Notes
Cracking the Coding Interview πŸ“– βœ… πŸ‘ 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.
The Culture Map πŸ“– βœ… ⭐️ 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.
The Manager's Path πŸ“– βœ… ⭐️ 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.
Never Split the Difference 🎧 βœ… ⭐️ Negotiation tips from a former FBI hostage negotiator. Enough said really.

Cloud

Title Labels Notes
Explain the Cloud Like I'm 10 βœ… πŸ“– 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!

Data

Title Labels Notes
97 Things Every Data Engineer Should Know πŸ“– βœ… ⭐️ 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
Data Pipelines Pocket Reference πŸ“– βœ… πŸ‘ 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.

General Software Engineering

Title Labels Notes
97 Things Every Programmer Should Know πŸ“– ⭐️ βœ… 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.
Code: The Hidden Language of Computer Hardware and Software 2nd Edition πŸ“– ⭐️ 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!)
Clean Code πŸ“– 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.
Range: Why Generalists Triumph in a Specialized World
The Pragmatic Programmer πŸ“– ⭐️ βœ… 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! πŸ’₯
Refactoring: Improving the Design of Existing Code πŸ“– πŸ‘ 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!

Industry History and Culture

Title Labels Notes
Just for Fun: The Story of an Accidental Revolutionary Linux history
Move Fast and Break Things 🎧 βœ… Not my favoritem but great for getting some context!
The Cathedral and the Bazaar πŸ“– βœ… ⭐️ A fun look into the history of Linux and Open Source. Quick read!
Where Wizards Stay up Late 🎧️ βœ… ⭐️ 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.
Zero to One: Notes on Startups or How to Build the Future 🎧️ βœ… πŸ‘οΈ 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.

Language-Specific

Title Labels Notes
Effective TypeScript πŸ“– βœ… πŸ‘ Nice read diving a bit into TypeScript's type ecosystem. Learned some bits I was able to immediately apply to code I was writing.
Eloquent JavaScript πŸ“– βœ… ⭐️ 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.
Python Crash Course πŸ“– βœ… ⭐️ 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".

Frontend / UI specific

Title Labels Notes
The Design of Everyday Things πŸ“– 🎧 βœ… 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.
React Hooks in Action πŸ“– βœ… πŸ‘ Nice explanation of some common patterns with React hooks. The code examples were somewhat lengthy for my taste, but probably helpful.
Testing JavaScript Applications πŸ“– βœ… 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!
100 Things Every Designer Needs to Know About People (Voices that Matter) πŸ“– Recommended by my tech lead as little tidbits to get you thinking about how folks perceive and interact with software.
Patterns πŸ“– βœ… 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.
Refactoring UI πŸ“– ⭐️ βœ… 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.

Mathematics / Generally Nerdy Things

Title Labels Notes
The Simpsons and their Mathematical Secrets πŸ“– πŸ‘ I think my favorite genre is just "nerds doing things they're excited about". This is great.
Zero: The Biography of a Dangerous Idea βœ… πŸ“– ⭐️ ⭐️ 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!

TBD/to categorize/saving for later

  • No Rules Rules
  • Five Dysfunctions of a Team
  • Talk Like TED
  • Crucial Conversations

About

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.

Resources

Stars

Watchers

Forks