Programming = Logical
There is a lot of logic involved in computer programming, just as there is in Math. In college they teach you a lot of mathematics and how to use that same logical thinking with programming. It's true that if you're good at math, you may have the potential to be good at programming.
Development = Creativity
The development aspect of building a software solution is the creative aspect to programming.
When you design or architect a software solution there is a ton of creativity involved. You need to envision what the completed system will be like, and then decide how to design each piece/component to make up the final solution. This is just like an artist composing music, or creating a beautiful painting.
Software Development = Logical Creativity
When you combine programming (Logic) with development/design (Creativity), you get Logical Creativity.
Logical Creativity is also a learned skill, that a lot of managers (whom do not have a software background) do not understand. They see it as the magic in the box, but in fact the magic is in the Developer; the individual.
If you give 10 developers the exact same requirements; you'll get 10 different designs for the same solution. Just the same as if you take 10 painters, and have them paint a portrait of the same subject.
Software Development = Logical Creativity; just think about it.