Every few years, I learn a new approach to software development or a new set of tools, that once mastered, leaves me thinking that I finally really understand how to do my job. Instead of being concerned that up to that point I hadn’t really known what I was doing, I am reassured that now, finally, I have a firm grasp of whatever it is that I think I should be doing. But, as I said, I seem to go through this every few years, and as I’ve discussed this with other software developers, it seems that I am not alone.
I have come to look forward to these periods of graduated evolution in my career, and I think that perhaps by the end of 2007, I may have completed another of these phases. So, in this post, rather than embarrass myself making belated predictions for what will be hot in 2007, and almost certainly getting it wrong, I’d like to reflect on a few things the value of which I have slowly begun to realize and which I would like to incorporate into my development practices in the near future.