1/5
Usually if you have an example you have to refine it, either as a simpler test or just by stepping and probing.
2/5
The example, if you got one at all, was flaky.
3/5
Almost everything you learned debugging and stepping goes by the wayside: it has no good way to take up permanent residence in your mind or in the code.
4/5
We can turn this around.
We call our shot: produce the example first, ideally a tiny one.
We program until the example works.
We repeat.
We call this TDD.
5/5