The prouder you are of your abilities as a programmer, the more of a challenge it will be to accept evidence of the times that you demonstrate that you're not as good as you would like to believe. But this selective bias will in turn blind you to how to improve and become better.
I have personally known quite a few very, very good programmers. The ones I have known best and respected most, were uniformly modest about their skills. And that sincere modesty is because they knew what they had left to improve, which is key to continuing to improve. This constant awareness of current limitations keeps them from being arrogant about their existing abilities.
Ever noticed that the people you see exercising are generally the ones who don't need to? The same is true about improving. That also works if you flip it around. If you can't point to concrete improvements that you have made in the last 6 months, then you're probably not someone who is in the habit of improving. Which in turn means that you're probably nowhere near as good as you think you are.