This is a list of book that I’ve read with a super brief overview of what I think about them.
The Pragmatic Programmer
This book has a plethora of advice for career developers. It covers all sorts of advice, from career growth to software development.
It’s a well-known classic and definitely worth the read!
Working Effectively with Legacy Code
This book is about working in a code base without tests (it defines “legacy code” as code without tests). The author lays out some great advice for refactoring untestable code as well as adding tests to untested code.
There are definitely some hacky suggestions that should be avoided if you have control over all of the source code that you use, but overall it’s a helpful book. Definitely worth the read, but don’t be shy with applying your own thoughts and opinions over the author’s suggestions.
Designing Data-Intensive Applications
This book covers everything from database implementation details to what transactions actually mean in a large scale distributed system. Since I never took a database class and don’t have previous experience with stateful distributed systems (before my current role) I found this book very informative. It helped me better understand the performance profile of my systems and the guarantees that I can provide (as well as common methods to provide them).
It can be a pretty dense book, so you may not need to read every page right away, but definitely worth the read!