I used to be an avid book reader. For some years, university education made me hate reading for fun, but since graduating I’ve started enjoying a book again.
Here’s a list of books that I’ve read since early 2019, along with tweet-long comments. Titles in bold are ones that I would highly recommend.
Hope you can find something interesting here as well!
- Snow Crash by Neal Stephenson
It’s been a couple of months since I finished a book. Snow Crash was just fun! Turns out, I’ve missed that factor!
- The Five Dysfunctions of a Team: A Leadership Fable by Patrick Lencioni
Patrick uses a story to ‘teach’ some fundamentals about dysfunctions appearing within a team, and how they can be overcome. While at the time I did not enjoy the writing style too much (didn’t flow for longer periods, and sometimes sounded like Buzzfeed headlines), I liked the presented ideas and solutions. He managed to pass through his points clearly enough, and I was able to relate with situations in my current and previous teams. So, overall, it was short and useful enough to leave a good impression, and I might try reading other similar books!
- How To Brew by John Palmer
I got into a new hobby this year! Palmer’s excellent book answered all the questions I had, provided a new view for me when tasting beer, and fueled me with new ideas for experimentation!
- Zen and the Art of Motorcycle Maintenance: An Inquiry Into Values by Robert M Pirsig
To be honest, I kinda left this in the middle. Looking forward to resuming it once I get a feel for it again. I think I prefer not being compulsive with finishing books, like I was in the past. There’s a time for each and every thing.
The Design of Everyday Things: Revised and Expanded Edition by Don Norman
The first book I finished this year, and it was awesome. I found new respect for professional designers. Whether you need to design better smartphones, APIs, cooking utensils, or just vent about difficult-to-use elevators or stovetops, this is for you.
Clean Code by Robert C. Martin
Domain-Driven Design Distilled by Vaughn Vernon
Unfortunately, not what I was looking for. Maybe the material was too distilled, and needed that extra context and depth
Cloud Native Patterns: Designing change-tolerant software by Cornelia Davis
Overall a solid book, and it picked up the pace as it went on. Even though it doesn’t cover any greenfield advances, it succinctly describes most of the things I’ve learned by practice when working with distributed software and not in a shallow way. Huge +1 for the hands-on examples that exist.
- Radical Candor by Kim Scott
- Team Geek by Brian W. Fitzpatrick, Ben Collins-Sussman
- Driving Technical Change by Terrence Ryan
- Managing Humans: Biting and Humorous Tales of a Software Engineering Manager by Michael Lopp
Designing Data-Intensive Applications by Martin Kleppmann
A masterpiece. Whether you’re designing distributed systems, want to learn more about how databases work, or are just interested in software, it’s a must-read. It’s a bit on the heavy side, but it tied together so many ideas in a beautiful way.
Building Microservices by Sam Newman
I read it immediately after “Data-Intensive Applications”; the two had some material overlap so I was drawing comparisons. Honestly, it was a bit scrappy, overall meh. I didn’t enjoy the style, but still conveyed some cool ideas in an approachable way.
The Go Programming Language by Alan A. A. Donovan, Brian W. Kernighan
The Mythical Man-Month by Frederick Brooks
I’ve lost count of how many times I’ve seen people recommend “The Mythical Man-Month”. I borrowed it from a friendly library, and blasted through it during the January vacation. It indeed is “the classic book on the human elements of software engineering”.
Cracking the Code Interview by Gayle Laakmann McDowell
The Pragmatic Programmer
It’s one of the books I wish I had read a few years earlier. I crunched through one of the earlier editions; while the tech mentioned might be outdated, I feel it still is one of the must reads for anyone trying to enter the field.
The Three-Body Problem by Cixin Liu
If possible, go through it without being spoiled (don’t even read the back cover). I enjoyed the original translation as it was able to maintain a lot of exotic elements of the author’s native chinese and didn’t read like “just a book in English”.
So Good They Can’t Ignore You by Cal Newport
This book changed the way I see my career, and software engineering in general. It helped me create a mental path of who I want to become, and how to achieve the goal to hone my craft and become an expert software engineer (it’s a long conversation).
Powerful: Building a Culture of Freedom and Responsibility by Patty McCord
L’Étranger (The Stranger) by Albert Camus
A small book I read during a car trip. It put me in thoughts and provided hours of conversations. What more could I ask for?
ADP 6-22 Army Leadership and the Profession by United States Government US Army
A little too militaristic at times, but it was actually very well written, and with minimal-to-none self-help crap. I was impressed that I could relate to both good and bad leadership examples that I’ve encountered in the real world. I would definitely re-read it.
Soft Skills: The software developer’s life manual by John Sonmez
A little more self-help-y than I’d like; I will admit I gave up on the last chapters about hitting the gym etc. But as far as building a career, and a name for yourself, I’m glad I read it soon, and wish I had read it even sooner.
How to Win Friends and Influence People by by Dale Carnegie
I had avoided reading this book, solely due to its title. I still cringe a little when I see it on my bookcase, or when recommending it to people; but I’m actually recommending it! After all these years, it continues being relevant, although many times I thought to myself “this could be summed as be a good person”. Don’t feel guilty about skimming over some of the example the author poses to strengthen their advice.