That said, you can learn an awful lot from school. You say it is tedious -- that suggests to me you're underchallenged. Have you tried learning a foreign language yet? Like, really learning a foreign language, rather than learning to say "Yo quiero una cerveza" like I assume your high school Spanish has taught you? It is incredibly rewarding, in all possible senses of the term rewarding, and you'll never get a better opportunity than the next four years. (Dedicated instructors, plenty of time not occupied by the demands of job and family, social push to complete studies, possibility of study abroad bankrolled by someone else and unrestricted by visa concerns, etc etc etc...)
You can also learn quite a bit about programming during college, even if actually doing it is a much better teacher. (Although, again, we're subsidizing all your activities for four years -- you show up for 3 hours of classes 5 days a week, the rest of the time is yours, program as much as you want to program.)
Incidentally, I hate to sound like An Official Adult, but just trust me on this one: the job market for young Americans sucks right now, and you absolutely do not want to be facing it without a degree. Degrees are not just for boring megacorps coding Blub: even cool companies which code Lisp look for people who can carry tasks to completion, and not possessing a degree when we hand them out like candy on Halloween suggests "I am insufficiently motivated to do clearly beneficial things when they require non-trivial amounts of actual work. Please employ me -- you will find me excellent at everything you assign me to do, provided none of it is actual work."
As an American it might not be immediately obvious but if you ever want to get a work visa in another 1st world country, having a degree in something useful is just about required. With the current state of the world and the US in particular, this could turn out to be a very important thing.
I'm already fluent in Russian, and I am learning my native language, Armenian, at the moment.
And I wouldn't say that I'm under challenged. College seems like a lot of work, but that thrill of a challenge is missing. It's also a tough time for my family, so I'm also working as much as I can. I guess my main dilemma is the lack of free time. It might have been unclear in my post, but I was thinking that my time would be better spent coding than trying to be an overachiever in school.
Nevertheless, I really appreciate the advice!
It still sounds to me like you might not be studying the right stuff. If your classes remind you of a tedious treadmill leading toward the Blub Factory you need better classes.
Or a better major. Perhaps you're making the mistake of letting your chosen career dictate your choice of classes. The universal secret to school is: Take the best classes you can find, from the best people, regardless of subject. If the local comp sci offerings remind you of Javaschool, do something else. I have lots and lots of colleagues who can attest that you don't need a major in comp sci, or even a single class, to spend your career working on software.
The best bang for the buck in college is the stuff that you can't get anywhere else. Stuff that requires expensive facilities or hardware, for example. Take lab courses -- unlike programming, these are things that are hard to self-study. Biology, physics, chemistry, electronics, mechanical engineering, even art and design (which I suspect is best done with physical materials and a live teacher). Or be a productive dilettante: As I said above, find the best professors in the university and take their courses, regardless of the field. I discovered linguistics that way, and it turns out that intro-level linguistics is a really nice thing to know if you're going to work with languages all the time.
If I were to go back I'd probably still take a lot of physics and electronics, which is what I did before, but I'd also be all over the biology and biochemistry. Molecular biology is the ultimate machine language. And I wouldn't neglect statistics: Study as much stats as you can stand.
Of course, nontechnical subjects are also important, because they make you write essays. You'd be surprised how useful a skill essay-writing can be. I had a minor in history, and I don't regret it.
The good news is that if the OP finds that he doesn't enjoy comp sci, at least he'll know that it isn't because the local department is objectively terrible.
I think this is great advice. If I had the opportunity to do college now I would probably try to major in my second (or third!) career choice. Having mobility in where you could have a career could turn out important.
2- Social License - The first paragraph of Patio11s response, subsidy, is incredibly important. For the time and cost of attending college it is possible to take a huge number of alternatives . Buy & run a Jakuzzi installation business, start & run a preschool in a developing country. I have a feeling this is the line of thinking inspiring your question.
The problem is that you (and the vast majority of other people) probably won't do that. That's mostly because of this social license. Only an extremely radical parent would give their child a hard earned $100k and 4 years room & board to go buy a Jacuzzi business that will most likely go bust but amount to a tremendous learning opportunity. Everyone would think that they're nuts. Nevermind financial support, you are unlikely to find moral support. Not from society. Not anywhere near the support you receive for bumming through the most meaningless of University degrees.
I'm not advocating the easiest option. I actually think there is no excuse not to learn a lot at University. I'm also not advocating going where social norms dictate. Far from it. Just pick you battles and be realistic about opportunity costs. Most of the people who don't do the incredible things that you could be doing instead of College aren't not doing them because they went to college instead.
I minored in CS and so just took some of the more advanced classes, a graduate class on computer graphics, a grad class on computer vision, one on mechatronics, one on Lisp. I don't think I would have been able to learn that stuff as rigorously without a professor. The other courses I would recommend - Operating Systems and Compilers will teach you a LOT. I passed on them but I know people who took them and got a lot out of them.
Also about your free time, I know it seems like you are pressed for it right now but college is only 4 years. You wil graduate at 22 and have 43+ years of a career. I work 60-80 hours a week on school stuff and find plenty of time for my own side projects, partying, I was even on a sports team for 3 years. You can do it (you don't sleep much though unlike in the movies where everyone sleeps until 3pm). After graduation I'm going to be working exactly 40, max 50, with a 5 minute commute. Thats it. I'm going to have so much free time to do my side projects that I don't mind missing out on them for the last 4 years when I learned so many other things.
I'm not sure what colleges only require 3 hours of class a day. I only went to one school...my week was a solid 60 hours of class, homework, labs, and test prep. I do sometimes recommend to others not to go to a tough as nails engineering school ;). When I compare notes with folks that went to other schools it does seem they had lots of leisure time.
I also don't know where your point of subsidizing comes from. Most colleges are expensive. I do think many are worth the cost but its not a free ride for most.
At the age of 22 will I be a more valuable programmer by staying in school, or by entering the work force?
Couple that with the price of NYU and the choice was clear...
I've been working since I was 15, so I had/have a pretty decent resume to drop out on, so I wouldn't suggest it if you don't have significant intern (programming intern, not coffee xerox intern) experience probably stick with school: it's a safe path to at least a $60k a year job when you graduate. But since I've dropped out I've had a chance to work with really smart people and learn at a much faster rate, and I have a LOT more freedom. YMMV of course, but for me I just wish I'd done it sooner.
Theres no reason you can't do this things on your own, but Universities provide an environment which makes these much easier, puts you in touch with other students and professors, provides you with resources and also helps you prove to future employers that you have the drive to stick with something. For these reasons, I think University is more valuable than the paper you get at the end.
That being said, college can do wonders if you don't already have a social network. I already had plenty of connections in the (albeit small) technology world in my hometown, but getting close to professors has opened a few more doors. I'm definitely appreciative that I stuck around long enough to get to know a few professors and work for them. I'd imagine that's going to pay huge dividends when I do actually graduate as professors often have connections far beyond their city of residence or college.
For most people, I'd suggest going to college just as proof that you are able to finish something non-trivial. If you already have proof of that in pet projects or work experience, and you really don't feel like going, don't.
College is a lot better than high school, but there are still similarities. There are classes I have to sit through that I could easily teach myself because the professor keeps attendance. Then there are the classes that I'd go to whether or not I had to, just because the professor and the material are both interesting to me. You'll have a few classes you love and a few classes you abhor. Hopefully the ones you love outweigh the ones you don't.
Not everyone can afford to go to college, much less go without a job. Even if you are able to secure loans to cover tuition and all living expenses, this would easily run 100k at a public university. I'm at a bit of a loss regarding your attitude towards the price of attending college...could you please elaborate?
You know how hard it is to get $21k worth of angel funding? And the kind of terms people will want? Getting $21k of student loans requires a) filling out a form and b) signing up to pay $200 a month for the next ten years, after you've graduated and (presumably) have paying work. Seriously, you will never be offered money on terms this good ever again. (I ended up paying my loans a few years ahead of schedule, with business profits. That probably wasn't economically rational but debt grates on me psychically.)
Obviously I wouldn't suggest taking out $100k in loans (~ $800+ in monthly payments) to get a degree in Studies of the Subaltern: Literature In Post-Colonial Uruguay, but if you're already decided on programming I have little worry that you'll walk down that path.
I went to a school which ran around $40k a year at the time, half of which the school paid for me on my behalf, purely based on financial need not scholarship. I worked hard, got a bunch of outside scholarships, and then landed a TA job my final year which paid for my final year of school. I graduated with around $40k in debt, which I've barely made a dent in two years later, but it's obviously the best money I've ever spent.
For one, I met my cofounders there, and started a company that I love working at. I also learned how to program. I went in to school never having written anything other than a calculator app for my TI 83. Maybe I could have learned everything I did on my own, but I doubt it would have been as effective or as efficient.
Your posts in this thread have been spot on.
On the contrary; nobody has ever even asked me where I went to school. I do not have a degree.
On this point I disagree. I think that much of the value of college comes from things that don't really seem valuable at the time: sports, clubs, experiences with friends, or even study groups. As such, I'd really recommend limiting the programming a bit, and forcing himself to engage with other students first, and program second.
And as a corollary to that, I'd recommend trying to find ways to get to know students who aren't other people with identical interests and socioeconomic backgrounds. The more one stays in one's bubble, the less one is going to get out of school.
"I am insufficiently motivated to do clearly beneficial things when they require non-trivial amounts of actual work.
This is huge. Absolutely huge.
I have very little interest in hiring somebody who thought, at age 18, that he knew everything college could teach him; nor one who could not spare the time to give himself such a clear advantage.
It seemed stupid and I couldn't get over myself to go out on a limb and try something completely different and new. Boy was I wrong.
From a more clinical point of view, it's also a good place to get proof of 'can function as part of a team' - which is another thing employers care about.
Boy, if these things were not around I would have died of boredom. There is just so much to do, organize workshops take part in projects. We even opened another club so we can encourage new projects. I am in center of all this and am just in the first year. Sometimes it feels too much to do, and also maintain and improve my grades, but I think all this has made me more mature as well as professional.
One of the main advantages of joining clubs like IEEE is that you get to know other people from different colleges also. Now when I enter other student branch colleges I have a plethora of contacts who can help me.
"I am insufficiently motivated to do clearly beneficial things when they require non-trivial amounts of actual work."
This is huge, but it has nothing to do with college...