My favorite programming books

My favorite programming books

As a software developer, continuous learning is part of the journey. Reading books on software engineering is a way to build a solid foundation and understanding of best practices and principles.

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 are invaluable for understanding the nuances of efficient coding practices.

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 will make you know and notice when something can be improved. Another superpower is being able to apply a huge change in one PR, without breaking anything.

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 and a must-read for system architects.

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 by Brian Lonsdorf

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?

要查看或添加评论,请登录

Oleg Abrazhaev的更多文章

社区洞察

其他会员也浏览了