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.

  • I don't think you need to go to school to get an education. I think your main problem is not "Do I really need school?" but "How do I convince my parents I don't need school?"
    – JRN
    Commented Mar 17, 2012 at 0:22
  • 3
    You also need to ask yourself where you want to end up with your computer science education. If you want to just be building apps to start a company then school may not be important. But if you want to move up into research level positions or in jobs that are more complex than just builidng apps a degree will help you get there faster.
    – GWW
    Commented Mar 17, 2012 at 4:55
  • 2
    This question and the excellent answers are likely to be of use to many others, and editing the title question will probably make it easier to find this through search engines and such. I was myself planning to ignore the question based on the subjective tone of the current question, and am very happy that I decided to read on. I think something like "Useful criteria for choosing between a computer science degree and working on own start-up" would be accurate and inviting. Sorry to bother you @eykanal but as we don't have moderators could you perhaps edit the question? Commented May 9, 2012 at 9:52
  • This question is perfect for this SE new site: area51.stackexchange.com/proposals/49571/teachers-school if you find it useful you can follow it and help us in making it more popular
    – Daniele B
    Commented Jan 13, 2013 at 17:02
  • 1
    Something to consider is that taking the time to learn CS at a deeper level will probably eventually make your own open source/personal projects better. So you might consider it like an investment--there is some delay before you will see it pay off in terms that you care about.
    – msouth
    Commented Mar 16, 2014 at 5:37

12 Answers 12


I know from all too personal experience that it the easiest thing in the world to say "I could totally ace these assignments if I tried, but I can't be bothered to try." Talk is cheap. You may be different, but when I said stuff like that I was completely deluding myself.

You may be being too hard on your profs and TAs. CS departments generally don't cover specific development platforms in their classes because platforms come and go, sometimes in a shockingly short period of time. A good CS department is going to try to educate you in the foundations of CS and software engineering. Stuff that is not in the tech headlines now, but is more likely to still be relevant 10 years from now. Still, it may be that they aren't very good, in which case the solution is not necessarily to drop out, but to find a better department.

That said, if you aren't applying yourself in school, and aren't getting much out of it, then you probably should't be in school. However, if you are not going to be in school, you still have to move forward with your life. You can't just hop on the bus back home and let your parents support you. The accelerator sounds great, but it's a roll of the dice, so you need a backup plan. The obvious choices are joining the military and finding a job. I've never been in the military so I can't advise you about that. If you find a job that pays all your expenses, then your parents may be upset, but they can't really stop you. They probably will be less upset with you if you have a job in hand as you announce that you are leaving school. If you can't find a job that will support you, then that's a pretty critical piece of information, and it means you've either got to suck it up in school or join the military.

My suggestion would be to completely put aside your personal projects for the rest of the year. Focus on your schoolwork, and prove you aren't just blowing smoke, when you say you could excel at it. Prove it. At the end of the school year, start looking for a job. If you find a job that will pay all your living expenses, or if your accelerator works out, then take a leave of absence. If you prosper in your job or startup, great. If it doesn't work out or seems like a dead end you can go back to school. If you really want to pursue your projects as an entrepreneur, then live on Ramen, save every penny, and bankroll yourself for a couple of years.

  • 14
    +30 for "accelerator = roll of dice". Arguably, only 1 in 100 startups succeed. Keep the statistics in mind.
    – eykanal
    Commented May 18, 2012 at 16:21
  • 3
    @zzzzBov: Yeah, that's how probability works. Commented Dec 15, 2012 at 22:35
  • 3
    What I was trying to get across is the idea that it's ok to fail; it's ok to make mistakes; it's ok to get things wrong. It's through failure that we learn.
    – zzzzBov
    Commented Dec 16, 2012 at 0:10
  • 8
    I thought this was very wise advice with the notable exception of "The obvious choices are joining the military and finding a job." Why on earth would joining the military be an obvious choice for a young person interested in software development?? Commented Dec 17, 2012 at 19:19
  • 11
    @PeteL.Clark As a combat veteran of two armies and three wars who has finally been able to do what I had originally set out to do 20 years ago and start my own software company, I have to say there are far worse things a young person who is still trying to figure themselves out can do than join the military. You'll not find an ex-infantryman in the world who will look back on his time in service and say "I didn't learn anything about the world, myself or how groups of people work while in the military, and those experiences are irrelevant to me today."
    – zxq9
    Commented Mar 16, 2014 at 13:26

I am most of the way through my freshman year.... Going away to school has been rough, and I have been pretty depressed for most of the time there.

This strikes me as the most important part of your question. I strongly encourage you to find help with your depression before you make a decision. Talk with your faculty mentors, with friends, and with family. Take advantage of your university's student counseling services. Transitioning into adulthood is hard, whether you do it in school or out; you don't have do it alone.

  • 5
    +10000 for seeking professional help for depression.
    – Kevin
    Commented Mar 18, 2014 at 3:09
  • Not really sure if you can decouple the emotion and being in university. If quitting could help in solving the emotion, doesn't that beat professional help? Shouldn't pro help just tell you to "suck it up or leave"?
    – Lodewijk
    Commented Jul 26, 2014 at 23:46
  • 2
    @Lodewijk No, professional help should not just say "Suck it up"! That's not help; that's just bullying. Maybe the depression is tied to being a student, and maybe it isn't. That's one of the questions a competent counselor can help you figure out.
    – JeffE
    Commented Jul 27, 2014 at 2:01
  • Competent is just the word and the problem with these sort of things. It's good advice, but finding someone competent seems unlikely to me. Maybe it's not, it's just how I perceive it atm.
    – Lodewijk
    Commented Jul 27, 2014 at 17:20
  • 1
    finding someone competent seems unlikely to me — I guess I've had better luck than you. (Sorry to hear that.) Certainly finding a good counselor requires some legwork, but I would be very surprised if finding one around WSU was impossible (esp. with U. Idaho less than 10 miles away).
    – JeffE
    Commented Jul 27, 2014 at 21:13

I worked as a software engineer for a number of years before I decided to pursue a full-time BS in CS. Getting a degree is one of the best decisions I ever made.

Given that it sounds like you already have a fair grasp on the principles of programming, it's not surprising that you haven't learned much in your first year. But that will quickly change! More advanced classes like Artificial Intelligence, Formal Language Theory, and Datastructures & Algorithms are very interesting. In retrospect, the things I learned in those classes would have been immensely useful in both my side projects and my previous professional work as a software engineer. They're also the types of things that would be incredibly hard to teach one's self outside of a classroom setting.

Also, remember that your professors are experts in very deep and specific areas in their sub-disciplines. They're about as interested in teaching intro.-level CS classes as you are in taking them. But once you start taking more advanced classes, you'll notice a much greater interest from the professors because they're teaching the state-of-the-art on the area in which they're specifically interested and expert.

As others have already noted, it also depends on what type of job you ultimately want. If you want to start your own company and you already have all of the skills you need to do that, then a degree might be a waste of time. If your dream is to work at a company like Google or Facebook, though, that will definitely not be the case. I interviewed at a number of companies—including Google—after I graduated, and I can tell you that I would have never passed the technical interviews without what I learned at University.

Therefore, I'd say give it at least another year. Talk to your academic advisors first and explain your situation. Talk to some professors who are teaching more advanced classes and see if you can get them to waive the prerequisites so you can take them earlier. Alternatively, universities often let you audit classes (i.e., sit in on the lectures for little or no credit without having to do the homework or take the exams). I'd recommend sitting in on some of the more advanced classes to get a taste of the light at the end of the tunnel.

  • 3
    Another thing to consider--while a startup might be interesting to OP now, later in life he might prefer the stability of somewhere like a Facebook or Google. Although I am intelligent and an experienced programmer, I can tell when I interview at places like that that I'm being asked questions that "speak the language" of those that have CS degrees.
    – msouth
    Commented Mar 16, 2014 at 5:34
  • 1
    This is my favorite answer. Distinguishing the difference between freshman level courses and upper level courses is really important. Commented Apr 17, 2014 at 2:53

(From my iPhone, please excuse typos)

It appears from my position that getting a BS is becoming more important as time goes on. Many large/midsized companies won't even look at candidates without a degree. (I have been around over 30 years working in startups to multinationals.)

It could be that you aren't mature enough yet for college. Maturity can manifest itself in many ways. One in particular is the idea that something long and difficult is not needed. This kind of rationalization needs to be studied long and hard before acting on it.

I would suggest staying in school and getting that degree. If you decide otherwise, then get a leave of absence from school for one year. This saves your place without having to reapply. You should also check a number of companies to determine their entrance criteria. You will see that the industry is maturing and that your competition is jumping through the hoops in order to sustain their careers.

Finally, do as others have suggested, put the side projects away and start getting a good deal of As on tests/homework to be sure that you aren't just competent in CS.

Good luck and keep the faith.

  • 5
    +1 for "Maturity can manifest itself in many ways. One in particular is the idea that something long and difficult is not needed." I like the way that was worded.
    – Dunk
    Commented May 18, 2012 at 17:44

Should I stay in school?


You're a big boy now and can make your own decisions. As condescending as that sounds, it's the simple truth. If you get a job and find a place to live, you will be just like the majority of people in the world who don't have a college degree, but are self sufficient.

American high schools tend to bully students into applying to college because it's The Right Thing To Do™, whether or not you have any interest in learning something that can actually be taught at college. We have a serious lack of skilled labor, and learning to weld is better done as an internship/apprenticeship than as an Associates where you only focus on the theory of welders.

Programming can be the same; having a mentor instead of a professor can get you on track to making money sooner, without the large bills associated with a 4-year program. Long term, however, your salary will probably be lower than someone who has a college degree.

But don't quit either

If your parents are encouraging you to continue college, and are helping you through it financially they should be receptive to the idea of you taking a moment to step back from academia to reassess your abilities, life goals, and options. If they're not helping you through it financially, then they don't have the right to decide how you spend your money (beyond paying for rent if you're living with them).

To most graduating highschoolers, I recommend taking some time off from learning. One year flipping burgers turns out to be a really strong motivator to get back into academia, and also gives a sense of perspective that most college freshman tend to lack.

If you decide yes, I need a degree you should then focus on finding a college that suits your personality. Don't just go for the big college because they have expensive new equipment; if you can connect with an experienced professor early on in your academic career, you will find yourself on stronger footing. If you don't like your classes, professors and TAs, continuing your college education at that particular school only serves to give away free money.

Unless you want to

If you decide no, I don't need a degree you should then focus on building up your skill set while you still have a strong family safety-net. Join a company that's working on stuff that you find interesting. You might need to start as a part-time unpaid intern working 60 hours a week between a job that pays and a job that teaches. Either way, success isn't easy.

If it costs $20,000/year for 4 years to earn a BS, you're spending $80,000, assuming you complete the degree in 4 years. If you've got the drive, you could start a small business with a small portion of those funds.

And remember that failure is always an option. It's ok to fail. You don't learn from getting things right, you learn from getting them wrong.

  • Protip: schools abroad are MUCH cheaper and you may even get a grant!
    – Lodewijk
    Commented Jul 26, 2014 at 23:47


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.
    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).

  • This is basically my story too. I've heard it a thousand times. College is "boot camp" for real life, and folks like us need it.
    – Jasmine
    Commented Apr 11, 2014 at 20:28
  • Great answer. I'm a little embarrassed to admit that I had to look up the definition of "grok."
    – Mad Jack
    Commented Jul 26, 2014 at 16:38
  • @MadJack Bah, I think that term is probably a bit archaic today. I probably should refrain from using any terms that have an entry in the Jargon File.
    – zxq9
    Commented Sep 9, 2014 at 2:05

There are many answers already but I'll add one more for future generations looking for an answer to a very important question.

I've worked with a lot of people who either dropped out of university or never went so they could focus on working writing software. In general, they've done pretty well. Some have difficulties recently because they were bad at managing their money but they made A LOT because they were following their dream and worked 80 hours per week on their dream. This accumulated effort built into a very solid skill-set which was in very high demand from employers. Some started software companies, some just consulted. All ended up making a lot of money (not all of them kept it).

I think programming for the business world is a bit different from other academic pursuits. In my experience (having consulted to the very large, the very small, and everything in between), businesses really care about one thing: How can you make me money. Academics care about much more. So, if you want to write software for the business world and you don't see the benefit in university, then forget it. You can always go back.

All that said, an education is always a good idea. Of course, you don't have to get your education formally, it can be on your own, but a formal education is cared about by some...but in business, people generally care more about your ability to make them money.

If you want to be conservative/safe, then you should stick it out in school. However, since you're young, roll the dice and prepare to pick up the pieces in case it doesn't work out. Don't give up on your dreams. Dreams drive us to put in more effort and to learn more and that is where the fun is.


My 2cts, do note that I have a number of degrees, so I might be biased towards getting degrees :).

Getting a degree shows that;

  • You have acquired some technical skills (algorithms, software design, data structures), and skills how to learn new things. Ofcourse, you can get these outside an official school, but a degree shows that after a few years a (relatively) objective source (the school) says that you have these skills. Unless you have developed some groundbreaking piece of software that everyone knows, it is hard to convince a potential employer that you really can do what you say.
  • you can finish something you started. Getting a degree takes three years of work and perseverance, more if you go for an MSc or PhD.

Exactly I had the same feeling like you except in a 3rd world country. The school was bad, professors were not teaching properly and I also had a good income by doing freelance jobs. But when time passes and when you reach upper division courses you will want to stick to school. At least this was how it happened to me and now I want to continue with grad school to further get involved with the field.


Formal education is more and more overrated in the current fast-paced world.

And especially in IT, were they are less traditional and more meritocratic than virtually anywhere else. They care more for you experience that your academic degree (or lack of it). And more years doing coursework means less years gaining real experience (unless the courses are really great and you can benefit from them).

Bill Gates, Steve Jobs or Mark Zuckerberg may be only a few stellar examples. There are many programmers at any levels who dropped out because of their start-ups... or even regular jobs.

However, there are good and bad reasons for leaving studies (there was a list somewhere but someone clearly more competent than me). Good when you see that the university is stealing your valuable time from your job/start-up. When you currently have no, then it may be not the best idea.

Some random links:

  • 2
    I think in general a degree is quite important, people like Zuckerberg and Gates are an exception on which I would not base a decision. Sounds a bit like: My grandpa became 85 smoking two packs a sigarets a day, why should I stop smoking. Commented Dec 16, 2012 at 19:09
  • @PaulHiemstra Actually, I know a few (smart) friends who never finished their degree, because of (very successful) programming career. Commented Dec 16, 2012 at 19:31
  • 1
    There are probably also a lot of people who are flipping hamburgers because of a lack of a degree. I think in general a degree is a good thing. Commented Dec 16, 2012 at 19:33
  • @PaulHiemstra And there is a lot of people with a degree, flipping hamburgers. My answer above was for "people in IT, already doing something" and may not apply to other situations (e.g. in science you need to have a degree, not matter how smart you are). Commented Dec 16, 2012 at 20:04

In spite of the large monetary and time cost of getting a college degree in CS, I believe that it is still a good idea to get your degree. The main reason (to me) that a college degree is valuable is that in order to get a degree, you must learn the critical skill of self-regulation. Regardless of your future employment, there will be times when your work is going to be boring, but nevertheless the boring work needs to be completed for you to move forward in your life. Are you able to discipline yourself in order to do what needs to be done rather than what you want to do?

Another useful workplace skill that you can develop during college is how to organize your time, how to work in teams, and how to juggle multiple classes + projects + assignments.

Finally, another way to look at this decision is in terms of maximizing your minimum level of achievement.

  • If you achieve good grades at school or quit school now, it may hurt your chances of getting a job at Google or Facebook in the future. So you may regret this decision if your future desires/circumstances change.
  • Conversely, if you go to school, you would find yourself slightly more qualified (by being certified as having a degree) than you would be without a degree. Your worst job offer with a good degree is probably at least as good as your worst job offer if you drop out of school now.

In the language of optimization, getting a good degree is a more "robust" strategy.


You should stay in school if you enjoy being in an academic environment. College isn't just a path for a career. It's about engaging with others, collaborating in projects, making connections.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .