|Cartoon Girl by PippySqueaks|
It's a constant battle. I hear people say it over and over again.
"In order to be a great programmer, you need a Bachelor of Arts degree."
The argument is that computer science is a discipline. It's not a vocation. One must study for years, learn all of the picayune details, develop mastery...
First, let me address the concept of a well rounded education. I'm a fan. Understanding a little about a lot of things is the key to understanding a lot about any one thing. The premise that you must have a B.A. degree to achieve that is B.S..
To be clear, I think that the arts should be involved in every aspect of teaching from Kindergarten right on up through a Post-Post-Uber-Doc. Learning to transform highbrow ideas into paintings, music, and poems forces you to process them and digest them, not just regurgitate them at testing time. Plus, there's the added bonus that Americans have a somewhat inherent belief that there is no "wrong" in art. Art is individual. It's a process. And as such, exploring scary things by way of an art project can take some of the fear of failure away.
That alone is not enough to accumulate a $40,000 debt in the name of your "future".
Over the course of my education, I have accumulated a debt greater than the annual GNP of some countries. I, however, still see it as a great value, because I learned a lot about myself, the world, and the way that networking gets things done. I am 100% certain that without my college experience (independent of my college "education") my life would not be anywhere near as cool as it is today.
To sum it up: For me, higher ed was vital. Being well-rounded is important, but college won't do that for everyone. Computer science is tough, but it can be made much easier (easy enough, in fact, for a toddler). And for heaven's sake, you don't need to spend $20,000/year to get a job as a Software Engineer.
Start here free.