The Top 5 Must-Read Books for Software Developers
There’s a very good chance that if I’m not programming, I’m reading. I love reading and have been a book nerd since I was a kid. Today I find myself reading a lot more technological books to help me in my career as a software developer.
It’s true that some books become outdated very quickly, especially when they focus on a specific language or framework. The books on this list have stood out because they withstand the test of time and carry in them lessons that transcend languages. Each book on this list was chosen because they carry valuable insights into building not just better, safer, faster, and simpler software, but better processes for our jobs and our lives.
Without further ado, and in no particular order, here are the top 5 books that every software developer should read.
You Don’t Know JS Yet - Kyle Simpson
It may seem odd putting a book about JavaScript on this list, given in the introduction I said that these books go beyond languages. You Don’t Know JS Yet stands out because it’s not a book about how to program in JavaScript, but instead about what makes JavaScript tick. In return, you learn how to build better, more robust JavaScript apps that use the language to its fullest. There are no-frills, not frameworks, not even browsers. This helps You Don’t Know JS Yet to stand apart from other language-specific books and against the test of time.
In the You Don’t Know JS Yet series, Kyle Simpson provides a fantastic look at JavaScript and why it works the way it does. The second editions of these books are currently being worked on and as of right now, only books 1 and 2 are available for purchase. Book 1 gives a great overview of JavaScript and breaks down some of its more complicated aspects. Book 2 focuses specifically on Scope and Closures. The rest of the books, once available, will follow suit with doing a deep dive into specific aspects of programming in JavaScript.
I can’t recommend You Don’t Know JS Yet enough. It provided me with a much deeper and richer understanding of how JavaScript works. Check You Don’t Know JS Yet out at the Amazon link below!
The Unicorn Project - Gene Kim
This book, along with its sister book The Phoenix Project, was one of the first books I read once I got a series about software development. The Unicorn Project is a book about developers, working in a fictional company that’s going through its digital transformation and trying to rebuild and launch new products in order to stay relevant against their competitors.
There is a lot to unpack in this book. From internal processes to cloud computing, to DevOps, and even to functional programming, there is a lot going on here. It can be a bit overwhelming at times.
With that being said, this book offers a lot of great insights into building better software, faster. I still try and apply a lot of the principles from it in my full-time job and my freelancing projects. I recommend reading this along with The Phoenix Project, which focuses more on the IT side of the house. You can find The Unicorn Project at Amazon with the link below.
Algorithms to Live By - Brain Christian and Tom Griffiths
Algorithms to Live By is not directly related to software development but instead focuses on how we humans do the things we do. It talks about how we can apply computer algorithms to our everyday life. We live in a world where we are constantly being bombarded with information and have to make choices quickly. How do we organize the data we are constantly being hit with? How do we decide which option is the best? These are only a few of the many topics this book covers.
I adored Algorithms to Live By the first time I listened to it. It’s a fantastic look into human psychology and how we can apply solutions that were found for computer problems to our everyday thinking. This is a fantastic book not just for software developers, but for anybody with an interest in human decision-making. The Amazon links for Algorithms to Live By can be found below.
The Pragmatic Programmer - David Thomas and Andrew Hunt
The Pragmatic Programmer is a book I would consider a classic for software developers. This book covers a wide variety of topics that help you will develop your skills as a developer. The book does not focus on a language or piece of tooling specifically but instead focuses on ideas and how you can apply those ideas to your own code and processes.
I read through The Pragmatic Programmer one day laying on the beach, but also picked up the audio version of the book. I would recommend picking up the audio version, as the authors get to add and interject a little bit more of their thoughts into it. It’s incredibly well done and feels more like a podcast than a book. It keeps you engaged the entire time you’re listening. Pick up the audio, or physical copy, of The Pragmatic Programmer at the links below.
Clean Code - Robert C. Martin
Clean Code is another classic among developers. While The Pragmatic Programmer, I feel, talks about more higher-level things inside and outside of a codebase, Clean Code dives deep into what makes code good or bad. This includes things like naming variables, detecting code smells, and even code formatting. This book goes into great detail about how to write better code. Having clean code helps to increase code longevity.
Fair warning, Clean Code tends to be a little bit on the drier side. The information in it is great but the book itself does tend to drag, in my opinion. I recommend picking up the audio version but be cautioned that it comes with a caveat. While it doesn’t contain any of the author’s additional commentary, the audio version of Clean Code is still really well done. The downside to this is that you do lose the ability to actually see the code presented in the example problems. I personally own both versions so it isn’t a huge deal, but it is something to keep in mind. Both versions can be found on Amazon at the links below.
Conclusion
Thank you so much for reading! I hope you were able to add some new books to your reading list. If you enjoyed this article, please consider sharing it on social media and supporting me by Buying me a Coffee. If you have any books that you think every developer should read, feel free to share them with me on Twitter.
Happy coding everybody!