I'm a self taught Engineer. I had no problem getting a job; my professional educational experience has not been an issue so far. I've taken over projects from CS graduates that break just about every solid design principle I've learned (when its actually capable of running, that is).
CS degrees are certainly useful, but in my experience they do not make a good engineer on their own. A self-motivated learner will always outpace one without such qualities, regardless of credentials.
See we can all give anecdotal examples?
Besides I was talking about engineering, not programming which often more far more formal in industry then programming is.
Self-taught implies a lot of motivation. What people learn depends on where the motivation was directed. And on the other hand, I'd be willing to bet a majority of people going through college treat things like compiler theory and more advanced discrete mathematics as ordeals to be endured, rather than tools to be used in the rest of their career.
I think he meant an Engineer.
http://en.wikipedia.org/wiki/Engineer
The kind that build things that aren't made of computer code.
Good luck teaching yourself that.
PS: Granted, not a scientific study but my sample size is over 30 and the difference is fairly dramatic.
The mechanical engineer would have a better time. It's one of the reasons vocational/on-the-job educated people end up with lower wages; generally educated people can go where the money is.
This is slightly complicated by the fact that people going to well-known colleges get a head start on the network. A decent education on its own has more dubious value. Most companies want experience. I know that when I evaluate someone, relevant experience is way more important than if or where they went to college.
That's what a general education in the subject is for.
Thats not a win at all, its a loss.
Experience relies heavily on ones own bias judgement. It can also lead to doing things without understanding them (i.e. writing shit code that works vs. writing good and efficient code) and can lead to nasty habits. Experience is also a slow teacher.
College is advantageous is that you are taught why things are by an experienced individual. You are able to gain a fundamental knowledge base and terminology that can be applied rather than wasting time being taught on-the-job. Plus you are taught things that won't and can't work in your field and why. All a person with experience can tell you is that they won't work and give some superficial reason why. Thus, the experienced person opens a book and has to acquire fundamental knowledge that they could have learn in uni.