Published on 2020-11-08 by John Collins. Please follow me on Twitter for more:
I like to maintain my small garden as I find it relaxing. Periodically I need to remove the weeds from my lawn and flower beds, but I am totally at ease with that. Weeding does not bother me, actually I find it very therapeutic to know that with each weed I uproot, I am making my garden better.
In recent years in my software career, I am trying to adopt the same weeding approach to software bugs. Rather than letting them bother me, I see software bugs as an inevitable by-product of the software development process. I accept them as a fact of life, shrug my shoulders, and go about "uprooting" them methodologically.
As a leader, I am also training my colleagues to have the same attitude to bugs. Rather than getting stressed about it, or worse-case blaming one another, instead I want them to simply fix the bugs with the minimum of fuss, and move past it. I want them to feel the same satisfaction in closing a bug that I get from uprooting a weed: it is making the overall product better.
Human beings make mistakes. Human beings also write software code. So, mistakes and the resulting bugs are inevitable. You can mitigate with better testing procedures and tooling, but you will never completely remove the weeds from your garden. Learn to love fixing them.