I’d just like to give you my steps of inspirational readings and my most turning moments so far.
There have been a few “WOW” moments in my software career. They went as follows:
Head First Design Patterns – This really opened up the world of OOP/OOD for me, an absolute staple.
Robert C. Martin – Clean Code – I didn’t sleep for days with excitement from this! As simple as it is, boy had I forgot what it meant to have clean code, and this put me right back on track.
Robert C. Martin – Agile Patterns and Practices – I now live my coding career based around these principles. The word SOLID goes through my mind for each and every piece of code I write. This in combination with Clean Code, I was affected so much by them that, I convinced my employer at the time to let me teach it to the entire company of around 15 developers. I wasn’t even a senior, good at presentations, but my enthusiasm made it happen.
My last “WOW” moment, was the discovery of TDD. I shared my realization of it with 2 other close friends who also had the same “WOW” effect. We were all hooked and now practice this as much as we can and always discuss the important of testing in the Software Development Life Cycle – better to have self verifying code than a team of much slower humans to do the testing for you ;).
One final point from me that I feel is very close to my heart, is that if you ever want a true fundamental understanding of a technology, such as a script parser, a REST library, a test framework etc, then write one! Just for fun! Not only will you enjoy it, but I’ve found that attempting to write the things I do not yet fully understand, gives me much more respect and a much much more deeper understanding of it, and forces me to understand it thoroughly.