My favorite programming books
As a software developer, continuous learning
At some point in my career, I switched more towards Udemy courses, learning by doing, documentation, and manuals. Still, I think that the books I read earlier made my approach to coding much more professional.
Here are some of my favorite programming books :
1. Code Complete by Steve McConnell
"Code Complete" offers an in-depth look at software construction. McConnell's insights into code quality and software craftsmanship
It was one of the first books I have read about programming. It has a lot of great general advice and I highly recommend it.
2. Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
"Clean Code" is an essential reading for developers who aim to enhance their ability to produce well-designed, easily maintainable code. Martin's principles and best practices guide you to write code that your colleagues will appreciate.
This book, together with the Refactoring below, will make you a kick-ass code reviewer. Sure, that skill requires practice. However, knowing the best practices and techniques for code readability
3. Refactoring: Improving the Design of Existing Code by Martin Fowler
Fowler’s book is a masterpiece that teaches how to spot opportunities for improving the structure of existing code.
4. Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma et al.
It’s a great resource for understanding object-oriented design theory
A solid understanding of software pieces that are used in every modern framework is must have. When you use Subscribers and Listeners and do not know about the Observer pattern, do you know what you are doing?
5. PHP Objects, Patterns, and Practice by Matt Zandstra and PHP Data Persistence with Doctrine 2 ORM by Michael Romer
For PHP developers, Zandstra’s book is about object-oriented PHP and it offers clear explanations of design patterns and their implementation in PHP applications.
领英推荐
I was reading this book in 2014 because I worked with PHP at that time and was interested to learn about patterns application in practice. If you still work with PHP, highly recommend it.
The second book dives into Doctrine 2 ORM and database patterns to know the difference between the Active Record and Data Mapper patterns.
6. Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans
Complex software design through Domain-Driven Design (DDD) is perfect for developers looking to tackle large projects with sophisticated business logic
This DDD together with Hexagonal architecture (Onion architecture) will help you to design and maintain big monolith projects, as well as have a standard way to organize smaller microservices.
7. Clean Architecture by Robert C. Martin
Another gem from Robert C. Martin, this book extends the principles of clean code to software architecture.
8. Professor Frisby's Mostly Adequate Guide to Functional Programming
This book offers a fun and enlightening introduction to functional programming.
It uses JavaScript and I have read it after I worked with Scala to use more of FP in my JS or TS code.
9. Refactoring to Collections by Adam Wathan
This book is about a specific library Laravel Collections, and I watched the video course as well. Why? Unfortunately, this is the only way to bring some proper FP to PHP…
Each of these books I have read for different reasons and different times of my career. They all have contributed to my growth as a developer.
Some programming book gems, such as Patterns of Enterprise Application Architecture or Designing Data-Intensive Applications are not on the list, because I am still reading them.
What are your favorite Software engineering books?