1. About
  2. Features
  3. Explore

I am most of the way through my freshman year at Washington State University, pursuing a BS in Computer Science. Going away to school has been rough, and I have been pretty depressed for most of the time there. Right now, I am leaning towards not wanting to continue my education, but my parents are strongly opposed.

Why I don't think I need college

One of the main factors that is pushing me away from school is the fact that I already spend plenty of time working on my own software projects. On my own, I have gained extensive knowledge and experience with web application development, using platforms that are far too new to have a undergraduate class that teaches them. These are platforms used in real workplaces and production software, and I would not gain these skills in school.

Second, I have lost a lot of faith in my school after seeing so much incompetency from people who are meant to be educating me. The professors outsource a majority of their work to their TA's, who I feel I know more than. My Computer Science class is really just an entourage of TA's parroting the words of the professor, with embarrassingly little of their own understanding.

Another big reason is that for 10 weeks this summer, I will be travelling to Silicon Valley to take part in a 'startup accelerator program'. This is a program where already-established tech entrepreneurs and investors help people who are new to the game with building their product and starting their company. At the end of the 10 weeks, investors decide how much they want to put into each company, in exchange for some equity. Of the companies that go through these kinds of programs, a very high amount succeed. I feel that if the developers I am working with and I do well here (no, it is not guaranteed that we will make money), college is pointless for me.

What college is like for me now

College has been hard for me. Not because I am not capable of understanding the material, and not because I don't have enough time to get all my work done. I have been suffering in my classes because instead of going to class or finishing assignments, I work on my own projects.

Of course, if I forced myself to put time and effort into this work, I would achieve satisfactorily. However, that is much easier said than done.

In order to start caring about school, I would need to drop all my other software side-projects (or at least greatly limit the time I spend on them). Essentially, this is a choice, and right now I will always pick my own projects over school.

Do I really need school?

After all that I have seen about the limited job market (even for degree-holders) and all that I have experienced in school, I am really questioning whether I need to stay in school. Convince me whether or not I really need a BS, or any other advice you can give about the subject.

Thank you so much for taking the time to read and answer this. I normally feel bad taking time away from other people for my own benefit, but this is a major life-decision, and I cannot properly come to consensus on my own.

1 Answer 1

TL;DR:

If you want to learn things you would never be exposed to otherwise and actually have some grokness without strings attached: Stay in school, but deliberately seek difficult courses on old-fashioned topics such as compiler design, operating systems, electrical engineering media fabrication (actually way cool), graph theory, set theory, etc. Elif you just want a paycheck for the next few years working in some cool framework or other flavor-of-the-week: Drop out *in good standing* and get a job in some startup company with the prior knowledge that it will fail, and if it doesn't a little success will transform the place you liked into a place you don't, and if not then you will eventually go from solving trivial problems you do know how to solve to solving non-trivial problems you lack the grokpower to tackle because you neglected to pay your intellectual dues. Else: Change major, because this stuff just isn't for you, and I can't bear to knowingly recommend that someone of obvious intelligence relegate themselves to being another member in the Mole Man Army. 

There are some interesting responses here; I can only tell you what I have experienced myself. What follows is a huge digression, but one that will hopefully illustrate the fact that you can't know the future, opportunity is entirely random, and old-fashioned hard work (often academic in nature) is the only way to satisfy the "preparedness" part of the luck/genius equation.

I got involved in phreaking and computers when I was quite young, wrote quite a bit of useful software as a kid, never did homework but aced all my tests in school, did well in sports by hiding my inner geek from the rest of the team, etc. I was (and still am) obsessed with the idea of eventually starting my own computing services (hardware, software, everything) company. I studied a lot on my own on subjects not taught in my school and my grades (ironically) sometimes suffered from it. An emotional/social rift opened between me and the idea of school, me viewing it as worthless, the system viewing me as a misfit. Probably not entirely different from you, though the threads of the tapestry no doubt differ.

Recognizing this wasn't a sustainable situation I requested that my father send me to a military school so I could be forced into a regimented program. I wound up attending a great military high school where the high school classes were taught by the same faculty as the college classes and learned a great deal about myself, the world, and the nature of opportunity. I also learned just how amazing great educators can be -- a lesson that didn't stick until a decade of reflection had passed. I also decided to not attend college against the advice of my mentors and advisers. My parents, however, let me do whatever I thought best.

My family is a bit plain: if I fail they won't help me because I've proven that I was a bad egg; if I succeed, however, I will be celebrated and given responsibility. I thought this terribly cold when I was younger, but have come to realize this is how the successful parts of the world work, except in the real world there is a strong chance nobody will subsidize your food or shelter (and if someone does it is usually a sign of an impending systemic failure). Though this has seen me in a few tight situations I have to say it has taught me a lot, and if my siblings and our general family relationship are any indication, it seems to work amazingly well.

I didn't land an awesome programming job after turning down university acceptance letters. I got interested in the larger world and spent almost the next two decades traveling, teaching (yeah, weird), or in this or that military (most recently involved in the whole GWOT thing, first in the Army, then in a few different contract organizations). My ultimate goal of running a computing company was always in the back of my mind, but the time was never right and I was so involved in other things it just seemed like a different world.

Until I got out. Now I have started that company, things are finally beginning to pick up (after a long dry stretch, survivable mostly because of the community surrounding my ex-military relationships), and I can see a tiny bit of light at the end of this long, extremely difficult, lonely tunnel.

Which brings me back to school and my not having been exposed to much of it. Because I didn't go to school I didn't even know there were canonical references to a huge set of problem spaces. I didn't know how freaking important it was to learn the precise differences between analog and digital data before trying to solve a really expensive customer problem that requires a customized hardware solution (and before you think that is a simple difference, go study up on it). I didn't really understand that the hyped frameworks are basically giant cake-sacks of leaky abstractions which fail the moment a new real-world requirement is thrown at them (usually something innocuous, like a customer saying "in the next version, we really need screen X to show Y" -- and of course you, not realizing how scary a statement that is, simply say "sure!"). I had no idea how prolific operating systems are, or how fleeting their lives in the market. I didn't understand exactly how software is the thing that lets us emulate different machines within other hardware machines, and why that nugget of esoteric knowledge is so incredibly central to everything I will likely be doing for the next few decades of my life (and I say "life", not "career", deliberately). I hadn't even matured enough as a programmer to develop a healthy baseline disdain for all programming languages.

But I also realize now, after having interviewed and hired people, that most schools simply do not teach the things that need to be taught, and most people are simply too dull to grok the things I need them to grok and would have failed out of the courses I wish they had attended. And that sucks.

So looking at it from the other side of the table, I would urge you to not go on a 20-year action adventure as I did (unless that's your thing; I have no regrets) but not simply "stay in school" for the sake of getting some worthless paper that conveys nothing about your actual potential to a prospective employer such as myself. Instead I would urge you to seek out the hardest, most difficult low-level and high-level courses you can find that deal with computing. This may require that you achieve decent grades in some courses now to be eligible for the interesting stuff later, which may simply be the universe giving you a lesson in humility and due-paying (hint: it is easier to control your own expectations about life than to control the outcome of each phase of it).

You'll never "finish" in this field, so what you should seek is a strong foundation in leading concepts and underlying principles. You'll do a lot of learning/discovery by composing new ideas from seemingly unrelated concepts you've picked up by way of association with stellar people in your studies, but long after the base ideas were acquired. Being in a good comp-sci or engineering department is one of a very few ways of guaranteeing that you will constantly be exposed to such people. I view this as one of the most important elements of official schooling, and something online education will probably never be able to replicate (and hence I view resumes full of online degrees with suspicion; actually, I have my minions black out those lines before I get the resume if they think the rest of it is worthy).

But all of this is dependent on your goals, of course, which is why I wrote the if-elif-else clause above. I might be misjudging you, but I can easily imagine myself writing a very similar question two decades ago on Usenet, and wish someone would have written this sort of post out then (come to think of it, I may have had just such a conversation back then, and disregarded the advice as I was so wont to do).