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
| Coaching | Debugging |
|---|---|
| Watch the rep | Make the bug happen again |
| Find the weak link | Isolate the cause |
| Change one cue | Change one line |
| Test again | Run 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.
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 .