"Some of the best programmers i've worked with were weird dudes who learned how to program in college.
Agreed - in fact I'd say out of the best programmers I've worked with almost all had CS degree's.
"Starting early doesn't mean you're any good. 4 years of a serious, programming intensive CS degree is better training than 20 years of farting around with PHP."
Never implied 'programming for 20 years' made you better than a person that has a CS degree. I actually meant that all the good programmers I know - CS degree's or otherwise - started before college and did it because they loved it. Same guys that go home and read regular expression books for 'fun' in their spare time.
"We don't apply this criteria to other endeavors. I've been playing piano since I was 5 and I'm still not good at it. You're either good or your're not. Sometimes experience helps, sometimes it is a hindrance. Bad habits form early, too."
True, but again I never said that simply programming for 20 years made you a great coder. I simply meant that someone with this trait, who then pursues a career as a programmer (through a CS degree, or whatever) is going to have a leg up on someone who isn't really into it.
"It's also curious that programmers claim that programming since they were a kid makes them a better programmer, but they also complain whenever a job advertisement requires years of experience."
Not sure what you are talking about here. When I've had to hire a junior it seems like a lot of people with the wrong skills apply for the position, but experience-wise, if you have been programming for 20+ years that's not the issue for me. It's if you have the skills the job I'm looking to fill needs.