Here are some of our favourite books. They each cover different aspects of code quality and code organization.
A Philosophy of Software Design – John Ousterhout
The author makes a good case for simplification. The book has lots of examples in code, and is a practical, easy read.
Learning Domain Driven Design – Vlad Khononov
An absolute stand-out book for explaining DDD. A must read.
Code Complete – Steve McConnell
Steve’s magnum opus has everything you’ll ever need around how to write good code.
Test-Driven Development by Example – Kent Beck
TDD is a foundational skill in modern coding. Learn it, practice it, and become a better programmer.
The Mythical Man-Month – Fred Brooks
This is an oldie, but a real classic. Mythical man-month is often quoted for project management truths, but at heart it is full of engineering best practices.
Structured Design – Ed Yourdon and Larry Constantine
The seminal work on Coupling and Cohesion. Maybe not an easy read now, as the tech is very dated, but the concepts remain spot on.