I don’t know to what degree innate talent is important in programming ability. I tend to agree that most people would be capable of learning to lot of things that are generally thought to require innate talent.
However, I’m not sure that “effort” is the most important hurdle stopping the learning from happening. First, people may not even believe that they can learn—they go from finding something hard to understand to assuming that they aren’t the sort of person that is good at this. Secondly, they have to find out what to learn. In the case of programming an average set of lecture notes or a “teach yourself language X” probably won’t do the job. A really good textbook may—but it won’t quickly diagnose misunderstandings, which a good tutor will (I lectured and tutored computer science and programming for a number of years).
Yes, I attempted to infer this when saying that it requires “much more effort”. First, they need to make an effort to be more aware of themselves, then to be able to learn and develop new mental models of their own accord on things of their choosing, in a conscious manner.
Then, they need to, as you say, find out what to learn. This can be achieved through the effort of looking for resources (including “human resources”) that can help you figure it out or give you the right information.
Notice that at every step, there is effort required. You might call it a “meta-effort”, in a sense, since you also need to make the effort of doing effort, but I like to simplify and just say that it’s a lot of effort that most people aren’t willing to make. After all, I’m usually explaining this to the very people who aren’t, in an ultimate play to get them to either start gearing up for a long trek into Better-Person-Hood or give up about becoming a programmer/researcher/etc.
I don’t know to what degree innate talent is important in programming ability. I tend to agree that most people would be capable of learning to lot of things that are generally thought to require innate talent.
However, I’m not sure that “effort” is the most important hurdle stopping the learning from happening. First, people may not even believe that they can learn—they go from finding something hard to understand to assuming that they aren’t the sort of person that is good at this. Secondly, they have to find out what to learn. In the case of programming an average set of lecture notes or a “teach yourself language X” probably won’t do the job. A really good textbook may—but it won’t quickly diagnose misunderstandings, which a good tutor will (I lectured and tutored computer science and programming for a number of years).
Then you need the effort.
Yes, I attempted to infer this when saying that it requires “much more effort”. First, they need to make an effort to be more aware of themselves, then to be able to learn and develop new mental models of their own accord on things of their choosing, in a conscious manner.
Then, they need to, as you say, find out what to learn. This can be achieved through the effort of looking for resources (including “human resources”) that can help you figure it out or give you the right information.
Notice that at every step, there is effort required. You might call it a “meta-effort”, in a sense, since you also need to make the effort of doing effort, but I like to simplify and just say that it’s a lot of effort that most people aren’t willing to make. After all, I’m usually explaining this to the very people who aren’t, in an ultimate play to get them to either start gearing up for a long trek into Better-Person-Hood or give up about becoming a programmer/researcher/etc.