I'm a student too, as well as a paid developer, as well as a guy in my early 30s, as well as a person who changed careers within the past year to software development.

I've been doing this (programming) in earnest for a little over a year. Already I want to broaden my horizons beyond web development. It's getting stale, and frankly a little repetitive. Granted I'm not working on Big Problems, but that's the point, right? It doesn't take a CS degree to put together a web-based startup with a great idea, some market research, sexy CSS and some funding.

However, I'm already bumping up against the limits of what I know. I'm a ... let's say, voracious and enthusiastic autodidact. I don't think there's anything about developing for the web I either couldn't handle right now or learn rapidly. I'm talking UX, backends, servers, etc. You know, until the actually fucking difficult problems come along that aren't answered all over StackOverflow. The problems the people in IRC channels don't have a macro for answering. The problems that aren't well-documented, or, better yet, tread new ground.

On the web it seems like treading new ground is pretty tough. There are a lot of uber smart people who started a lot younger than me who had the ideas and thoughts and problems I'm having, but 15-20 years before I had them. Web development is a solved thing, it seems like. That doesn't interest me.

It seems to me that I can't do anything new if I stick to the web-startup-centric (or just web business) world. And I am not bright enough to work on new and/or unsolved problems right now. I need education, and I need the fuckin' good stuff. Discrete math, data structures, algorithms, linear algebra (hell, I don't even know how linear algebra applies to CS, but I've read a million times it's central), the stuff I can't figure out in an hour or a day or a weekend. That's why I'm going to school.

So yes, school might be boring the fuck out of you right now, but in a year or 5 or 10 you're going to want to do more, different, arguably better (more meaningful?) things than iterating a web site.

Plus, I don't know about you but I don't want to be the guy who really really really knows Python|Ruby|JavaScript (plus HTML and CSS!!!) and gets really emotional about why my high-level languages of choice are awesome or better or whatever than the others. I've seen it already among my co-workers and fellow students and tbh it bores the piss out of me. I want to know WHY Cython is slow at X while Ruby is great at Y, or why the JVM's disadvantages exist. In short, I want to be prepared so that when the day comes that I get the chance to ask a brilliant guy (or girl!) like Rich Hickey a question, I ask an awesome question.

I haven't gone back and read this over, and I feel like I sound way too grizzled for my experience level. Sorry in advance if I sound smug or condescending. Just trust me when I say it was unintentional. I fully accept the fact that I am 100% full-blown stupid and know nothing, in practical terms. And frankly I don't think I personally would ever rise to anything other than the mediocre, run-of-the-mill peon I am now on my own. That's why I'm studying the science of computing.

Don't get all frustrated about school. Trust me, part of me wants to work full-time and get the money rolling in and so forth. But shortcuts are almost always the long way around.