One of the reasons I'm currently studying Software Engineering (UK) is to learn about things that will not necessary be taught on a job. Topics such as logic, formal specifications, algorithms and concurrency. It's one thing to know how to use threads etc in a language but you miss out on the underlying theory. I found these topics challenging to understand and thats with a lecture and tutorial (working on exercises from the lecture). I would have given up long ago if I was trying to learn on my own.
Now, this knowledge would be useless if I'm not in a position to guide development of a product but I certainly wouldn't discount a degree (or any formal education) as only being a launching point. I think the general consensus is that the best learning mechanism is a mix of both formal education and work experience. Formal education to learn theory and work experience to solidify the knowledge.
Now, this knowledge would be useless if I'm not in a position to guide development of a product but I certainly wouldn't discount a degree (or any formal education) as only being a launching point. I think the general consensus is that the best learning mechanism is a mix of both formal education and work experience. Formal education to learn theory and work experience to solidify the knowledge.