When you wake up in the morning, tell yourself: the software and processes I will deal with today will be buggy, broken, undocumented and written in contexts whose traces have been lost forever. The tests I am working with today can’t tell the difference between buggy and functional code. But I have recognized the beauty of correctness, and the ugliness of complexity, and have recognized that the spaghetti code is remarkably like myself. We both share aspects of the other: time, growth, and change. And so none of it can frustrate me, or give me anxiety. It is simply natural for software to exist in this state, and we are meant to patch and update it. To feel anger at this, to give up on maintaining it: this is unnatural.

Inspired by this post