In my limited experience, you don't need to have an "aptitude" for programming to get good at it. It just requires a lot of time and patience.
I learned how to play pool and my skill level increased very rapidly. People thought I was just "a natural," when in fact I just deliberately practiced (not just played) a couple of thousand hours in a relatively short time period (a year or so).