The limiting factor for people isn't some innate attribute, it's time.
You need x amount of time coding, debugging, refactoring before you can call yourself a programming 'expert'. This is time that could have been spent learning some other skill like how to cook, how to fly a jet, how to bungee jump while flying a jet, etc.
The real question is, how much time is the person willing or able to invest in learning how to program?