Subsequent to the Technical Debt workshop, Chris Sterling posted on the IT Manager’s Dilemma, concluding that they make “rational” decisions to get where they get. Matt Heusser offers some thoughts suggesting that technical people need to make more principled decisions when they estimate and do their work.
I’m not optimistic about people making principled decisions, as a rule. We don’t seem to be wired for it. If our manager is pushing for more features, and the penalty for writing bad code is to get to write more bad code, it is a reasonable response just to go ahead and do it. Anything else will be painful, and we were built to avoid pain.
I don’t work for a living, and do not hope to any time soon. So I don’t know whether, under pressure, I’d be less inclined to write crappy code than I used to be. My guess is that I’d do better than I used to, for two reasons:
- I'm just better at it. I'm more sensitive to bad things arising, and know more and easier ways to make things clean. So I'm guessing I'd do better just because I'm a bit less messy by habit.
- I'm more clear in my mind about where my joy comes from: from doing the work as well as I can. So I'm guessing I'd be a little less sensitive to the temptations of the situation.
But I really don’t know. Still, I think that the notions above are just about our only hope when it comes to keeping tech debt down. We need to become better at seeing debt and removing it, and we need to care more about our craft.
We can get help with the first of those. As for caring … I don’t know how to help you with that.