I should also probably mention that software developers, unlike computer scientists to some degree, need to have very well-rounded general educations, too. Their ability to communicate – and not just through code – as well as their ability to reason and quickly learn in a wide range of problem domains requires more than just coding skills. It is possible to be a successful computer scientist and not know how the futures market works or how gas propogates through pipelines or what the tax laws are pertaining to international online sales. As a freelance developer, I worked in everything from engineering to corporate law, via retail, TV and banking. Without a good general “classical” education, I think I might have struggled to wrap my mind around some of the domains I’ve been parachuted in to fast enough to get anything useful done.
This paradigm applies to anyone who is not tracked into a narrow corporate/government position immediately after graduation. Many older educational models assumed that the graduate would be essentially an independent professional.