Maybe a difficult question, but how would you describe 'the knack' of programming?
Donald Knuth, from the April 1996 Dr. Dobbs (Dr. Dobbs used to be worth reading)DDJ: Is the profile of a programmer (which we were discussing earlier) one of an individual who needs this sort of control?
DK: That's an interesting concept, the need for power! I've always thought of it more in other terms, that the psychological profiling is mostly the ability to shift levels of abstraction, from low level to high level. To see something in the small and to see something in the large.
I'd say it's a good indicator if you enjoy it enough that you work on projects because you want to, not because you have to. If you like programming that much, you will get good at it eventually. The process will be arduous, but your motivation will carry you onward.
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) :