Skip to main content

By Denys Kravchenko

What coaching taught me about debugging

The short version is plain. Coaching a movement and fixing a bug use the same loop. Watch. Change one thing. Check again.

Someone cannot get a pull up. The fix is rarely to pull harder. You watch the rep, find the weak link, change one thing, and watch again. The longer I do both jobs, the more that sounds like debugging.

Watch before you fix

I look at the whole rep before I say anything. In code I read the actual error and make the bug happen again before I touch anything. Guessing feels faster. It usually is not.

Take two people stuck on the same pull up. One piles on three cues at once. The other watches a single rep and changes the grip only. The second person can tell what helped. The first person cannot. A failing test works the same way. One change. One run.

Change one variable

If I change grip, tempo, and range of motion at the same time, I do not know which one helped.

// One change, then check
expect(result).toEqual(expected)

Regressions are normal

Skills slip after a bad week of sleep. Features break after an upgrade. That is why I like regression tests in code, and why I come back to the basic rep in training.

When a skill slips, the shout is to rebuild the whole program. The useful move is dull. Stay with the basic. Check it again. One ugly week is not a reason to throw out the practice.

Progress is small steps

CoachingDebugging
Watch the repMake the bug happen again
Find the weak linkIsolate the cause
Change one cueChange one line
Test againRun the tests again

Where I put my attention

I give the person my full attention. I watch, I listen, and I connect with them. Three things have to be clear. What they say they want to achieve. How they got to where they are. What we can do now to put them on a workable path.

When you stop doing the wrong thing, the right thing does itself.

F.M. Alexander

Sometimes the gain is not a new effort. It is stopping something.

These are scenes, not people I am writing about. One person lives on social media. Another spends the hour complaining about what they cannot change. Another could act on something in reach and stays passive. Stopping that extra thing is the change. Then we watch again.

The code is meant to be simple enough for a person to read. KISS has helped me here. When I dig in, I look for the part that got more complicated than the job. The simpler path is the one I can still follow on a tired day.

Chess has the same pressure. One move is better than another. In a session and in a bug, I am looking for that move.

Do this today

Pick one rep or one bug. Watch it. Change one thing. Check again.

Written by Denys Kravchenko. Last updated .