Great article "Towards an understanding of technical debt". I really found this paragraph in point 2 an interesting way to look at things:
A little discussed and poorly understood design goal for code is disposability. Given change, what design patterns can we follow that allow us to quickly expunge incorrect behavior from our codebase? Interestingly it is a much more tractable metric for measuring as opposed to more popular criteria like “elegance”. (a post for another day)
Also this from point 4:
... We often describe this code with the suck-the-will-to-live quality as messy (spaghetti), unmaintainable, or amateurish. Often what we’re describing under the surface is fear and confusion. We don’t understand the code, and when we don’t understand things, as human, we tend to get scared, tired, and angry.
I had a project where this exactly described my experience. Enlightening.
Reading Contempt Culture and thinking about my own complicity in this kind of behaviour. I do think that i have (long?) grown out of this, but it is good to be reminded to take some time and reflect on how you interact with others.
Am in the midst of a discussion about this article here.