Minds are plastic, and people choose to fill them however they like. If you practice musical performance, you become more musical no matter how much "natural talent" you start out with. Though there are people with physical limitations and true tone deafness, they are few and far between.
Becoming better with practice holds for the development of problem solving strategies and heuristics as well; all anecdotal evidence aside, improving visualization ability and learning from experience is the formula for making "those who code well". What we lack in our education process today is teaching the ability to think critically and logically and the process of breaking larger problems into smaller, manageable ones - and this is why we have people who think they can't code, or simply won't code even if they have the honed mental tools to do the job well. The fact is, it is very hard to think in the abstract for extended periods and most people just don't want to do it.