Since I was a kid, I've had a natural bent toward technology. When I learned of programming, my interest exploded in that specific category and I've never looked back.
I still find myself wondering what I'd be doing right now had that interest been applied to some other subject. John Mayer once responded to a fan question about his process of learning the guitar, and I really identified with his response:
I was lucky in that I found something that mostly came easy to me, and when it didn’t, it was fun to work it out.
I'm certainly not the John Mayer of programming, but the idea is similar. Just like any other skill, programming takes time and practice. For whatever reason, I have a natural inclination to enjoy the struggle of working it out.