>So, what is a good programmer? I think everyone will have a different definition, but how about this one: Someone with a natural analytical ability who has the desire to continue increasing his/her knowledge and improving his/her skills. It's just like anything else. If you don't care, you're no good. Whether or not you use a wizard has no bearing.
After re-reading this thread, I've come to a definition of a bad programmer: will not learn.
After sixteen years of experience in six development teams and a few task groups, actually the only kind of programmers I don't want to work with is the guys who think they know enough and don't want to learn more. IMO, they are dead in the water and won't last in this field. Or, they may last, but shouldn't be surprised if their work becomes monotonous - or extinct. Either way, they won't get far, unless they become CEOs :)