Mindfulness and Debugging

This is taking us a bit far afield of the Chutzpah theme, but I’ve been reading a bunch about mindfulness as background to using it as a general tool for enhancing my chutzpah and other good traits (as well as diminishing some less-desirable traits, but that’s another story).

Mindfulness is not some gushy New Age concept.  It’s a pretty understandable state of mind where you are neutral-to-friendly about what’s going on in your mind while not getting sucked into it.  Yes, you are “not attached”, but in a rather rarefied sense: you’re not exactly remaining indifferent while lovely foodstuffs or gorgeous sex partners are presented to distract you from your detachment.  You feel your hungers and you feel your lusts but you’re not drawn into them to the point that you lose your awareness of yourself.

In any case, one area where mindfulness is familiar and key to success is debugging.  I’m most familiar over the years with debugging software, since that what I did for a living for twenty-odd years and may do again someday, but if you read something like “Shop Class as Soulcraft” or “Zen and the Art of Motorcycle Maintenance” other Maker-ish stuff, you can see the same use of mindfulness and debugging, only in this case debugging shop tactics or repair.

The idea is that you can’t see the problem if your mind is clouded by attachment.  You get attached to the last thing you fixed, so you (wrongly) conclude that the problem you’re looking at now has the same cause.  You get attached to some of your presuppositions (“the problem must be in the allocation module”) and close your attention off to data that lead you away from that to the correct root cause.

Most makers of one sort or another have encountered mindfulness in this disguise.  It’s part of what I love about debugging: you’re rewarded for the rectitude of your mindfulness.