Top 9 Books That Every Web Developer Needs to Read in 2020
Bring your code and architecture to the next level, step away from tutorials, and read these essential books on clean code, larger application architectures, and fundamental software design.
This article is more written towards the web (application-)developer since there tons of dry coding books. This is an essential list of books every developer should own and read someday.
The first list of books is not specifically web related but rather for coding in general. A lot of examples are written in languages you are either not familiar with or not interested in, but I noticed that reading those books and being open to other visions of different languages really improved my coding and ability to think like a developer.
This article does not contain any affiliate links, all books are easily available online
The tutorial pit-fall
A lot of junior and middle developers get stuck in the land of tutorials and walkthroughs. While this is a great way to introduce yourself to an idea, a language, or just get the job done, it also keeps you stuck at a certain level.
Thinking about the broader picture, about different languages and concepts of coding in general makes you smarter, faster, and better equipped for the job you need to do. Trust me on this, give it a try and you will find an enormous amount of knowledge, new motivation, and new ideas to think about and grow.
Essential books to read
#1 The Pragmatic Programmer by David Thomas and Andrew Hunt
This is one of the most significant books I read on coding. It’s not specific to the languages I use, and not all topics were new to me. But it was absolutely something I use by far the most in my daily life as a developer. I re-read the newest 20th-anniversary edition which was for sure a great refresher and could easily be a book I should read or at least scan through on a yearly basis.
Concepts covered like developer mindset, communication, expectation management, and more technical concepts like orthogonality, DRY principle, approaches for prototyping, and much much more. Be far my #1 favorite developer book.
#2 Clean Code by Robert c Martin
This book handles more the code side of things, how to structure functions, write code comments, data structures testing, and more. If you want to go a little deeper a sure must-read!
#3 Patterns of Enterprise Application Architecture by Martin Fowler
Martin Fowler is a very well know the writer and has multiple amazing books like Refactoring and Domain-specific languages. both worth a read as well. This book has a lot of relation to the Ruby on Rails framework and will surely appeal to those developers. But this book is not meant to be only for Ruby developers. I mainly write in PHP and find it very interesting.
If you want to build your application from scratch or want to use frameworks like Laravel or Ruby on Rails this book will help you understand decisions made in those frameworks for certain patterns. This book covers things like Domain mode, Transactions, Sessions, MVC, and Application Controllers.
#4 The Art of Computer Programming by Donald Knuth
This book is actually an entire series. A very theoretical approach to Computer Science. If you are serious in programming its something that has to sit on your shelves. Standford uses it in their CS curriculum.
These books really go into depth into Vol1 Fundamental Algorithms, Vol2 Seminumerical Algorithms, Vol3 Sorting and Searching, Vol4 Combinatorial Algorithms.
#5 Structure and interpretation of computer programs by Harold Abelson, Gerald Jay Sussman, Julie Sussman
Another very theoretical book only for the real serious developers out there. This book is from the Massachusetts Institute of Technology MIT university. I have to be honest the book lays on my shelve, read parts I found interesting but it was to dry for me to read it all. But it's a well-known and respected book and if you can motivate yourself to get through it, you will for sure have the edge over 90% of your colleague developers.
#6 Refactoring: Improving the Design of Existing Code Martin Fowler
Another Martin Folwer book, this was a book on a topic I am really passionate about. As written in the Pragmatic programmer book,
“Allways leave your code better than when you found it”
Refactoring is probably a developers daily task and this book has a lot of awesome examples about this.
A book that is easily read in parts or when you feel like it. in covers a lot of known refactoring techniques you need in your toolbelt.
More web-related essential books
Often I work with colleagues that are very skilled but only use the basis of GIT, and that's a waste. It’s such an important tool we use every day. When I notice my team members are not up to speed on this I will definitely send them over this free book to read.
This book covers all the basics from committing, stashing and reverting to more advanced topics like rebasing and cherry-picking.
#3 99 bottles of OOP by Sandi Metz
As you read my entire article I'm not a ruby developer. But still, this book was very amusing and learned a ton of it. As I wrote before in this article, opening up to other languages makes you a way better developer.
99 Bottles of OOP learn you in an entertaining way when code is beautiful and understandable. With smart examples and explanations, a must-read also for non-ruby developers.