One of the things I'm not fond of is self-deprecation. Smacking yourself on the forehead when you screw up a demo is counter productive, as is calling yourself dumb compared to someone else in the same line of work. I believe that if you do enough of that it actually skews your own self image. We should recognize the areas where we're strong or weak, and when we fail to meet goals, but that's not the same as calling yourself dumb!
I've long understood that there are plenty of people in the world with more natural ability than I have, and that in turn I have more natural ability than many other people - in certain areas. Within SQL Server I'd like to think I'm competent or better, but I don't know anything about DB2 or Oracle, and not much about mountain climbing, flower arranging, and welding. I also know that my ability to accomplish things is generally limited by my willingness to work hard(er) and to do things that don't come naturally to me (marketing/PR) and to take time away from family.
There are a few 'A' list people in our business, those that by ability, hard work and a smidgen of luck have become well known. There is a much larger set of people on the 'B' list that are somewhat known, and then everyone else. There are a lot of people on the C list that could move up if they:
- Wanted to
- Understood what to do
- Could find the time (away from family)
I suspect most could climb to the B list if they really tried, far fewer would make it to the A list due to the increasing demands. That doesn't make anyone on the B or C list dumb!
Grade yourself on accomplishing your goals, it's the only measurement that matters. If you want to be on the A list, set the goal and do it! If you find satisfaction in doing what you do now, that's fine too. But you're not dumb...and neither am I!