I'm a good programmer. Many people I know professionally may call me more than that.
I have a friend who, when he does stuff, I can look at and say that there is no-way I would ever come up with that. Once I've seen it, I can say that I could repeat that, given some time, but that isn't the same as coming up with the original idea and implementing it really well
That is a great programmer.