Root Cause

Updated: Feb 26, 2018

I found this about a mile up hill from here in the Santa Fe National Forest. A strange remnant of a tree's existence. It had obviously burned down without taking surrounding forest with it, possibly ignited by lightning strike. It had burned so completely, no black bits of partially burned wood were anywhere in sight nearby. Incessant winds had carried away all of the ash. Sight of it set me to recalling my early career doing software quality assurance work where my primary goal was always finding root cause. Secondary goal was convincing programmers their code was defective, something they never liked to hear.

Using debuggers and code instrumentation tools, many nasty little bugs were ferreted out and squashed throughout millions of lines of code. Most were easy to track down due to lazy, sloppy design and programming practices. Others were more difficult to find and sometimes irksome to fix.


Programmers never thanked me for finding their bugs, no matter how easy or involved the debugging process was. Instead, they regarded me with no small amount of unsuppressed distain. It became obvious very few of them ever ran their code through a debugger at all, especially software which started several separate processes all running simultaneously. Many of the programmers had clearly never learned how to attach debuggers to multiple processes, asking how I did some of the things I did with my QA toolkit but rarely ever applying what I gladly showed them to improve their own code–their small-minded low regard for me and my work overriding any common sense drive to cut down on bug counts.


Finding root cause was always fun work.