In 2005 Steve Jobs gave a commencement address at Stanford that ended with these words. Reading it for the first time on the morning after his passing brought me to tears, and led me to a few realizations. One is that I often keep thought to myself that I should share even though some will be offended. Those that are offended likely have the most to gain from hearing another point of view.
So let’s begin with this: I hate my largest current project.
The problem isn’t that it’s difficult, or that my client is a jerk. In fact my client is great, and the modifications I’m making are relatively simple, or at least should be. The real issue is I was handed an existing codebase that was largely written without any consideration given to maintainability. Parts of it are convoluted and fragile, although less so as I gradually clean it up.
The reason I hate it is I’m wasting its potential as a training ground. For all the reasons I find it tedious at times it’s the perfect environment to teach a new developer why maintainability is important. The long term value of a codebase rests on whether future developers understand the function and intent of each part so it can be adapted to ever changing business demands without undue pain and suffering.
Because some day soon you’ll be gone.





