The road to wisdom? Well, it’s plain and simple to express:
Err and err and err again, but less and less and less.
— Piet Hein
Piet Hein was a Danish mathematician, inventor, and poet. He invented the superellipse (the shape you see in iOS icons), the game Hex, and wrote thousands of “grooks” — short aphoristic poems.
This grook is the best description of learning I know. Not “learn from others’ mistakes.” Not “avoid mistakes.” But: err, err again, just a little less each time.
In programming, this hits especially hard. Your first version is always terrible. The second — tolerable. The third — actually decent. We don’t become wiser by avoiding mistakes — we become wiser by making them consciously and learning from each one.
TDD, iterative development, fail fast — all variations on Hein’s theme. Fail early, fail often, but each time with slightly better aim.