There was a paper published about exactly this, summarized by Jeff Atwood [1]. Essentially, there appears, according to the authors, that there is a mindset that people either have or don't have that allows them to understand the very basics (variable assignment, iteration, etc) before they've had any training at all. Students were tested before 3 weeks of education and after and the results were essentially the same: the ones that got it in the beginning were the same ones that got it at the end.
This supports the original article in one way by saying that it's not for everyone and bootcamps for the general public are not going to help much, but it contradicts the secondary point which is that we should be convincing potential doctors and lawyers to start learning CS. Programming aptitude doesn't start with intelligence or background, rather from something innate.
I really wish people wouldn't link to ten-year-old drafts without checking on current research. The article Atwood links to makes some totally bombastic claims - here's the retraction and clarification of them:
While a consistent mental model for things like assignment is a good sign, not initially having it doesn't mean you can't learn how to code. Lately, researchers have found that certain pedagogical techniques (especially pair programming) are pretty effective at overcoming these deficiencies.
I wish I could understand why so many programmers are eager to assume their skills are due to something 'innate'.
> Lately, researchers have found that certain pedagogical techniques (especially pair programming) are pretty effective at overcoming these deficiencies.
That's interesting. Its interesting to me, because -- while I may or may have developed the aptitude independently later without this -- I actually spent a lot of time when I was first learning programming, in elementary/middle school in the 1980s, pair programming (though, you know, the name wouldn't be coined for quite a while) with my dad.
> I wish I could understand why so many programmers are eager to assume their skills are due to something 'innate'.
One reason might be because if anyone could learn it, programmers wouldn't be able to view themselves as special.
Another might be because if people realized everyone could learn it, programmer salaries would fall from increased competition, so programmers have financial self-interest in people not believing that most people can learn to code if they try, especially if its true.
Everybody can learn plumbing too. Doesn't mean the prices are going to fall. Programming can be very fiddly, and most people hate that. I think our jobs are safe.
> Everybody can learn plumbing too. Doesn't mean the prices are going to fall.
Well, no, because "everyone can learning plumbing" is pretty widely accepted (and has been for quite some time), so the effect of that belief being accepted is already reflected in the current market price. (OTOH, the price is lower than it would be if it were widespread belief that becoming even modestly competent at plumbing required unusual innate gifts that most people lacked, and that attempting to learn plumbing was a complete waste of time for people lacking those gifts.)
I appreciate the update you posted, I'll definitely read it. The paper mentioned just stuck in my head and it didn't occur to me to research it in-depth before posting.
> I wish I could understand why so many programmers are eager to assume their skills are due to something 'innate'.
I'm not eager to assume that but it lines up with my experience over the years learning how to program and helping others do the same. It seems like it comes easily to some and harder or not at all to others. When I first read summaries of that study, it sounded correct based on my experience.
Going a little further ... I will say there's something enticing about thinking that you have a special skill that others do not and that you've found purpose for that skill. It's a bit like "finding your soulmate" in a way. I think a lot of us, myself absolutely, want to find that thing that we're good at and were made to do.
This supports the original article in one way by saying that it's not for everyone and bootcamps for the general public are not going to help much, but it contradicts the secondary point which is that we should be convincing potential doctors and lawyers to start learning CS. Programming aptitude doesn't start with intelligence or background, rather from something innate.
[1] http://blog.codinghorror.com/separating-programming-sheep-fr...