One of the coolest things that I like seeing at work is a really good programmer (ie. my supervisor :) do what they do. They dance around the editor knowing exactly what they're looking for, exactly how they're going to fix the problem, and before you even understand what's wrong, they've already fixed it!

Needless to say, this is the programmer I aspire to be. In complete command of what I'm doing, rather than "programming by coincidence" as I seem to stumble into doing too often, in a rush to meet deadlines.

Obviously, there's more to writing good code than writing it quickly, but in spite of that, it's a trait I'm really trying to develop. It seems that there are many factors that get in the way of providing quick answers though, namely wrapping your brain around business logic, figuring out what the guy was thinking when he wrote the code you're maintaining and, of course, the complexity of the problem.

My question to you, fellow monks, is how does one know when one is a "fast enough" programmer?

I started (and fell in love with) programming with a 1.5 year college course in March '99, and have been working in "the industry" for 6 months or so, but I still feel that my skills and certainly my speed as a developer are vastly inadequate. Am I being to hard on myself? Do other monks feel this way? What's a monk to do?