I'm not really sure - for some people programming just seems to come easy, and I'm one of those people. When I was entering University (1982), I had no idea what I wanted to do, and had never programmed anything. Enrolled as a general "Engineering" student, thinking 'maybe aerospace engr?'. We had to learn C as an introductory ENGR class, and it just clicked with me. I could see that most of the other students were really struggling but it all made sense to me; I helped a lot of other students through that class, because it just seemed easy to me. Switched majors that semester and never looked back.
That sounds like a love story. I had done a free C cource at UCC a couple years ago, similar story. I was helping anyone that I wasn't too shy to approach. It was a fairly short, pretty basic course but it was the first step to hopefully a long future of programming.
For a long time I had this printed out and hanging in my cubicle (it's from "The Mythical Man-Month", which every programmer must read) :