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

54 Commits
Β 
Β 

Repository files navigation

Nonfiction Book List

Good Reads is too easy. Why do that when I can maintain a Github Repo?

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, you may find something of interest and curiosity here. If not, carry on!

Things are only loosely organized in here. 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.

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.

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 πŸ‘ βœ… πŸ“– 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.
Designing Distributed Systems
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.
Entangled Life πŸ“– βœ… ⭐ ⭐ Is it a stretch to say this is systems-related in a way that is useful for software engineering? Maybe, but probably not. IMO systems are systems, and thinking of parts in terms of the whole (and wholes in terms of their parts) is a really kick ass skill. I devoured this book over a week of PTO at the end of 2023 (which, having three kids at home, I rarely finish a 300+ page non-fiction book that quickly). I truly appreciate that a book with this title is written by a man named Merlin Sheldrake, and I appreciate that upon reading the "About the Author", he is exactly the person I would expect to write this kind of book. The writing style wanders and meanders a bit, a bit like mycelium if you will, which usually drives me nuts. It somehow worked here.
Computer Systems: A Programmer's Approach πŸ“– πŸ‘ Read as part of a course I took in Fall 2023 from Bradfield CS. I found it a great resource, though I may not have gotten as much out of it without the context of the course itself! I would recommend having some context going in... I found Code: The Hidden Language of Computer Hardware and Software 2nd Edition provided some background that helped me understand this better.

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 βœ… πŸ“– Lots 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!

Culture

Tiitle Labels Notes
No Rules Rules πŸ“– βœ… πŸ‘ This was a useful read in order to better understand the way some large, innovative companies operate internally. Opinions on whether or not this is the ideal way for a company to operate vary, but I enjoyed the information and find it useful for framing others' experiences as well as thinking about my own.
Crucial Conversations πŸ“–
Good to Great πŸ“–
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.

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.

DevOps

Title Labels Notes
The DevOps Handbook βœ… πŸ“– ⭐️ I read this one with a book club and that was a great experience! The examples given in this book really help drive home the principles they introduce. I haven't read The Unicorn Project yet, so I was concerned there might be some missing context somehow, but the two books (from what I can tell) are pretty independent of each other.

Frontend / UI / Design

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.
CSS Secrets πŸ“– βœ… Another book club book! This had some useful tidbits and is probably worth a skim. Many of the examples are a bit dated design-wise in today's world. The links to interactive examples of the CSS she was describing were pretty neat for exploring the different properties she discussed.
Envisioning Information πŸ“– βœ… This book is really very beautiful and makes a great coffee table piece. I enjoyed it more as a "pick up and read some interesting bits" type of read than a "read through cover-to-cover" read. It was a bit repetitive in my opinion, but every point he had seemed valuable.
Don't Make Me Think: Revisited πŸ“– πŸ‘ βœ… A nice quick read with useful ideas about improving usability on the web. Some of the ideas are a bit more dated (the 3rd edition was published in 2013), but overall the ideas hold true.

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

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.
Dealers of Lightning 🎧️ βœ… πŸ‘οΈ I really enjoyed this one in a similar way that I enjoyed "Where Wizards Stay Up Late". I also happened to learn that I had a close family member working at Parc Xerox during this era, so it was fascinating to read from a personal perspective, too. I find these waves of concentrated innovation that have come and gone throughout history truly fascinating and love dreaming about what that might look like in my lifetime, too.

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".

Security

Title Labels Notes
Grokking Web Application Security πŸ“–

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

  • Five Dysfunctions of a Team
  • Talk Like TED

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