Clueless programmers are bound to be like that forever...
...or so says this article.
The authors did some research (in UK, but personal experience tells me their results apply worldwide, or at least around here as well) on people who just got into IT... With some "funny-but-I-already-knew-that" results.
Long story made short, they found that people who have an easy time learning how to program by the very beggining of the course end up getting good grades and supposedly programming well throughout the remainder of the course. Those who have a hard time at the beginning, though, are seemingly doomed to eternal noobhood.
I go to college and I feel this is so true... There are people in the third, fourth semester with lots of professional certifications, and there are people in the last semester who have a hard time implement a factorial in C.
It is not specific to programming. Stupid people tend to remain stupid, no matter how many universities you send them to.
This paper has been discussed here not long ago.
I'm not reading the article and I don't want to be too much of a bleeding heart, but it sounds like maybe it's the class that sucks.
Honestly, most "intro to programming" courses are not very good and if you try to educate yourself it's really easy to be sidetracked and led astray, especially on the Internet. Before I went to college I did enough simple programming to breeze through the intro courses, but I still learned a lot about data structures and OO that I wouldn't have figured out myself. But if you're not really comfortable with programming as a physical activity, those principles of good design -- that they try to hammer into you in the beginning -- won't make sense. Once you get out of school, your employer spends exactly zero dollars on training and it's a crap shoot whether you have mentors that care about code quality or not.
I think education is the biggest problem in this industry.
It's more like "people with a poor aptitude for a given subject tend to do poorly in that subject."
You can take aptitude here as desire and/or inherent ability. Sometimes a strong desire can compensate for a poor ability. I don't think the reverse is as often true.