I have been a software developer for nine years. It's pretty interesting to go back and look at old code, and if there were any, read over comments to remind yourself what you were thinking at the time when trying to tackle a particular problem. I have noticed that originally I was displaying strong object-oriented design but have now regressed into a procedural developer in some aspects of my recent applications.

I am a big proponent of using frameworks such as ModelGlue and Fusebox, and I currently use Coldspring to for dependency injection. It seems though when I take a step back to look at where my code is compared to what I did in the past, I see a lot of procedural code in many of the methods I have generated lately. Part of my reasoning behind looking back at where I have grown as a developer stems from the recent changes in my development team at work and reading through Ben Nadel's attempt to learn OO.

As I look to take on a new role with my team at work, I know it will be important for me to really evaluate what I do and why I do it in the planning and design phase of software architecture. While certain software patterns seem to almost fade in the background do their expected use, such as the model-view-controller, looking when it would be useful to implement the Factory patterns, or recognizing areas to help other members of my team be aware of different useful approaches will become important. So I am glad I have at least the foundation to rely upon to know how to be a pragmatic programmer. I look forward to the new challenges that lie ahead of me, but its nice to also be able to look back and see where I have come from.