The newsletter The Autodidacts wrote about troubleshooting as a vital but overlooked skill that’s relevant across industries and settings.
I’ll define troubleshooting as systematically determining the cause of unwanted behaviour in a system, and fixing it.
Troubleshooting is often learned tacitly, in the process of explicitly learning “the skill”. Troubleshooting is rarely discussed as a skill unto itself. But many features of an effective approach to troubleshooting are domain-agnostic.
[…] The way I do it, troubleshooting mostly boils down to scratching my head, Googling the error message, and thinking up and testing hypotheses to narrow the search space.
Basic approaches:
- Form a hypothesis about the problem.
- Rule out the easiest and most likely problem areas first. Things that are meant to be serviced, have failed before, or are subject to mechanical stress. Good systems are designed to make what’s likely to break easy to service.
- Find the simplest way to falsify the hypothesis. Generally, this means “cutting” the system immediately upstream/downstream of where you think the problem is, and testing for functionality at the cut-points.
Source: Troubleshooting: The Skill That Never Goes Obsolete — The Autodidacts