Mid-level to senior engineer

Stage 2 · Lesson 6 of 8

Root causes over workarounds

Ownership and leverage

A hides the symptom, for example retrying a until it passes. A fix removes the reason it happens, for example a test that depends on the current time. To find the root cause, keep asking "why?" until you reach something you can change.

This is called the five whys technique. A good answer stops the whole kind of failure, not just this one. Then add a check so it does not come back: a lint rule (an automatic code check), a test or an . This is what separates a fix that lasts from one that returns next quarter.

Common trapstopping at the first answer that sounds right, or at "human error", which is almost never a root cause: ask why the system made the error easy.

A question to check yourself, an AI practice session and 1 cheat sheet entry come with the full roadmap. Unlock

Resources for this stage

Start with· follow one of these

  • BookFree
    Software Engineering at Google

    Titus Winters, Tom Manshreck and Hyrum Wright · Intermediate

    The chapters on testing, CI and large-scale changes: fixing problems at team scale

  • BookPaid
    The Pragmatic Programmer

    Hunt and Thomas · Intermediate · About $45

    Automation, broken windows and orthogonality: the habits behind leverage

Also worth your time

Mark this stage as not done?