Technical debt is that chore that developers owe when they go back into old code. It’s the process of cleaning up or right sizing the code that they wrote to make it more readable, efficient and remove any dead code that is not longer in use. In my day to day I jump from project to project and recently I have re-engaged in a project to fix some defects and potentially add some little enhancements. I also consider that these times of re-engagement the opportunity to pay back some of the technical debt of deliveries gone by. Yesterday was one of those days where I was reacquainting my self to the code while offering up some refactoring. The funny things is even though I have been and software developer, engineer, architect and what ever other hat I wear for so long I still found my self once and a while feeling like I had a little bit of vomit in the back of my throat while reviewing the code. I am every grateful at the pliability of code and so thankful for Refactor, or R# for allowing me to easily and efficiently re-architect pieces and parts and a very forward and pragmatic way.
Question is, when you look at some of your old code, do you leave with a warm and glowing feeling, or do you feel a little sick and ache to be able to have a bit of a do-over. I suspect if you are a professional developer the later is the more realistic response. I really believe it is in all of our natures to say, if I knew then what I know now, or shit … if I just do this, or this this thing would work better, be less coupled, provide a better experience.
Its the trade off between time, money and resources, and going through the development cycle and initial time that I suspect that will always leave us knowing that we can do even better given more time, resources.
Yesterday for me was a great day for handling technical debt, though it was long at 14 hours, by the end of the day I was happy with what was accomplished.