These days I find myself reading more, and have become a staunch advocate of the SOLID principles and TDD. I find that they make my life as a developer maintaining the code easier, and also improve readability and architecture. There is much more satisfaction to be had as a developer writing code that you know to be sound. The people that have come up with these principles have struggled through the waters of architecture and design previously and have set out a path to avoid the obstacles that we commonly face. I find it amazing that given such an opportunity people would still stray off the road and into the woods.