Emergent design: The evolutionary nature of professional software
In this book, Scott Bain details the relationship between design patterns, testing, and maintainability of software systems. His thesis is that adopting a serious test-driven development approach coupled with intelligent application of design patterns allows the correct (at least for the moment) design of a software solution to emerge over time.
I was fortunate enough to take a multi-day test-driven development workshop led by Scott a few years back. While the workshop was ostensibly focused on the mechanics of test-driven development, the consistent throughline of the workshop was how TDD allows a maintainable system to organically establish itself over time.
This theory of development left a lasting impression on me when I was first exposed to it, and it embodies how I prefer to approach building applications. I would highly recommend this book to any engineer approaching (or already at) the βseniorβ level.