From Kuroshin, a nice piece on the game of Go:
“There are nine mental levels into which players are distinguished. The first is called ‘being in the spirit’, the second ‘seated in enlightenment’, the third ‘concreteness’, the fourth ‘understanding changes’, the fifth ‘applying wisdom’, the sixth ‘ability’, the seventh ‘strength’, the eighth ‘being quite inept’, and the ninth and last ‘being truly stupid’.”
This is how I feel about programming. Initially you don’t know what you’re doing. Then you reach a level of competence and you’re a worthy opponent. Then you get back to not knowing everything, and you’re doing useful work.