If collegiate computer science education weren't so utterly worthless, there might be fewer dropouts - why would a motivated and intelligent person spend four years of the most productive part of their life and approximately a hundred thousand dollars to learn things that are both largely useless and easily self-taught? If one's goal is to build a useful product and run a company (or do anything at all outside of academia), college is a very poor choice - the debt accumulated alone would sink any entrepreneurial dreams.
My only experience is with computer science, but I would suspect we would see a lot of rapid innovation in military fields were it possible for highly motivated and intelligent 20-somethings to drop out of the air force academy and become local warlords. The fact that the tech sector has so few consequences for failing and so few insurmountable bureaucratic standards is only for the best.
Warning: I'm a salty dropout from an incredibly bad Computer Science program at a private Iowa school.
> The main value of college, he said, is to be found in proving discipline by completing “annoying homework assignments” and in hanging around with people of the same age before entering the workforce.
In my anecdotal experience, I find this statement to be incredibly true. Effectively it was party and do the busywork it takes to get by in your classes from professors who have lived the majority of their professional life in academia. They berated me for learning web dev because, "web software just won't be a thing" - this is in 2005-6ish where it absolutely was already.
I worked in-industry at the time as a rookie sysadmin and web developer. It was a huge waste of my time to go to school vs. spending time learning on my own through my career and personal projects. I know this doesn't apply to all trades - I've always been focused on web development, automation, and ecommerce. Those were/are incredibly easy to self-learn if you enjoy it (even in 2005ish when I was in school)!
I resent my schooling because I had a FT job with real responsibilities, living at home helping to support my cancer patient mother (bio dad died years prior), and trying to keep my head above water socially/academically. As someone saddled with responsibility I felt I was in a playground for children riddled with booze, partying, and sex while professors demeaned my career telling me to "not to write software for the internet". It was bad.
I'm not sure I'm ready to get on the Anti-College bandwagon. There's been a rash of Anti-College sentiment around this place lately and while part of me agrees another part of me mourns for all of these students leaving college. I know it may be an unpopular opinion but I doubt most people can get the tools they need for success in many fields (Even software) without a college degree.
I'm in no way making the claim that someone can't be a very very good programmer without college, the best programmer I've ever met left college after 1.5 years, but there's a very real risk of having holes. Some of these holes, despite what people might like to believe, simply aren't going to be filled in the future.
A few holes I've seen in the awesome unschooled programmers I've worked with:
1) Inability to finish. This is a biggy.
2) Deficiency in the "science" part of Computer Science (Algorithms and Theory)
3) A lack of knowledge where the "Liberal Arts" are concerned.
(And Others)
Maybe all of these things aren't important and maybe some of them can be learned later. However, I think people who skip college will be less likely to spend the time and energy necessary to learn these things (In the same way people who put off school for a job are less likely to attend school).
It also seems that the Theory needs to be paired with the Liberal Arts and the competent programmer in order to make a really exceptional programmer.
All that said, I think this backlash is really just the front end of a massive paradigm shift in the way the western world views / does education so we'll just have to wait and see.
EDIT: It seem that leaving college early could be indicative of either a) Already getting everything you could out of it or b) an inability to finish.
I went to a job fair a few weeks ago where a few of the engineers from a very hardcore coding company said "Why don't you drop out? I never really found a degree useful." That's the problem though. College isn't about the degree or the resume building. It's about meeting people, having fun, and spending late nights hacking on projects for the hell of it.
I could graduate in three years or less, but I would be missing out on an experience that will most likely be extremely beneficial.
How so? Many of the classic Valley proto-entrepreneurs (Gates, Jobs, etc) famously dropped out of college. From my own experience, I probably learned about 75% of what I needed to know about programming before I went to university. I'm not sure how easy it is to gain that valuable bedrock experience in an academic environment.
This seems like great advice, or at least it's working out for me. I had the money before college to consider not going, but I never seriously considered it. If you get into a decent school, which most technically inclined people don't have a problem with, you'll meet a ton of smart students and professors.
For something like what you're doing, you will likely meet a lot of similar students in your CS classes, many of which who might not even care for college but go for other reasons (their parents value education, they want the college experience, etc).
I really agree with hedging your bets; if you have the happy problem of creating something that is worth dropping out to work on, more power to you.
The assumption behind all the "college is a waste of time" advice is that you're smart enough, and willing enough to teach yourself. I am like that, and I'll assume you are too. Being smart enough isn't enough, you have to expose yourself to a variety of ideas.
I started programming in basic in 3rd grade. I graduated high school in 1996, spent three years in tech support and started programming professionally in 1999. According to my salary I never missed anything by skipping college, but I always felt like I missed out. Two years ago, while working as a telecommuter, I decided to pursue a degree and started taking classes at community college. The math and physics courses opened my mind to ideas that I never really put much thought into. College opened my eyes to ideas that I never would have studied on my own. I quit my job and enrolled at University of Illinois this spring.
While I have not yet pursued research, I know that there are many opportunities for undergraduates to research in computer science. Professors typically want junior or senior undergrads because they have enough coursework in the fundamentals to be useful. Right now there is a huge push from the school to get experienced freshman and sophomores into research. They have a funded mentorship program that pays graduate students to work with one or two undergrads on their research. The problem is that they can't get enough underclassmen to apply to the program.
Many of the people that post on Hacker News that post a low opinion of the college education were educated in college themselves. Only a very small minority of posters have seen both sides of the coin. I have become a completely different person in the last two years since I started college. This experience has been far more costly for me, at 35, than it is for a typical college-age student. If I add my tuition, fees, and expenses to the opportunity cost, due to lost salary, I am paying $140k a year to go to college. I have no regrets; this has been the best experience of my life.
You've probably heard the old saying that youth is wasted on the young. I think college is also wasted on the young. Those that denigrate college were not yet self-aware enough to realize the benefit they gained from that experience.
This is the only part of the article I don't agree with:
In the end, it wouldn’t have benefitted me to stay in school longer, and Y Combinator was too good of an opportunity to pass up.
How do you know there would be no benefit to finishing your degree? It may be beneficial in the short term. However, you have (hopefully) many years to live and making a guess like that is silly, in my opinion.
While I think it is admirable that you got into Hacker News and are following your dream, I think there is something to say about learning to focus and get decent grades, even if you are not into it 100%. It shows that you can stick to some form of an obligation and follow through with something that you may not want to do.
I can't remember exactly which VC said this but here is a paraphrase: Not making it through college when something new comes up doesn't bode well when I give you a ton of money for a long term commitment. Will "something else" come up during that time?
I empathize with your post. Myself I went to a top 10 engineering school, went into debt to do so, graduated with Summa Cum Laude with a 4.0 GPA, and learned nothing at all, and spent 4 years fairly frustrated while taking advantage of every opportunity. I did learn a lot about bureaucracy and "the system". About engineering nothing since I had been designing and inventing new things no one else had ever done since I was a small child.
College is not a bad idea at all. But for the exceptionally skilled it is a waste of time to do a technical degree. Better to go it alone in the school of hard knocks, or major in something that you don't already know completely, perhaps world history or linguistics or mathematics or molecular biology.
For the typical kid who learned to program at age 8, a college major in CS is indeed a huge waste of time and money.
So what should you do? Pay off your onerous debt as soon as you can, and then you will be free. With your freedom, pursue your own interests no matter what they may be.
My experience: I'm a college dropout. I have 96 credit hour and am one class shy of my associates degree. I feel like I did get a lot of value from the liberal arts portion of my education. I was exposed to a lot of different ideas and disciplines that I may never have studied in any other setting.
My major was computer science, and that was the rub. I came to college already somewhat accomplished as a developer. I had published a small shareware game on one of those value-ware CD's you would pick up at the register at WalMart. I knew the basics and had already learned some very hard lessons. I suffered through the introductory course material largely doing independent study projects (thanks Dr. Forbes!).
My moment of crisis came in a computer org. class. I was really looking forward to taking this particular class. It was supposed to give me some more detailed exposure to the hardware side of things. Instead we spent literally half of the semester counting in different number systems. At that point I had enough. I wanted to actually solve real problems and do real things.
Thankfully I had my opportunity. I took a job with the local behemoth tech. company. I was given the opportunity to write a book on basic game programming (I didn't execute on this very well... I just wasn't responsible enough at 21 to do it properly). That book opened the door to my first real job at a very small startup. Quickoffice was my first chance to shine, and over the 6 years I was there I feel like I took full advantage of it. Now I'm an entrepreneur, and things have gone well so far.
The point being: I never completed my degree, but I do feel like I got what I needed out of college. I learned how to learn. I learned to appreciate classic literature and to more completely examine the culture of the world around me. I became a scientist with a deep understanding of the scientific method. Those are all invaluable assets to me today.
However, my lack of a degree has not proven to be much of hindrance thus far. I hope it never is:)
For me the most valuable part of college was discovering how much I liked computer science. If I had picked a career when I was 17 it would not have been software engineer. Once I was in college, it was pretty simple to take a computer science class to see if I liked it, and I really did like it, even more than I had enjoyed teaching myself to program during my k-12 years. When I got bored with my original choice of major, it then seemed like a good idea to switch into computer science, and I’ve been happy with that choice ever since.
It is a shame that college is so expensive, but to me the real problem is people taking out loans to go through degree programs that don’t give you a high expected income. If you take on a lot of loans to get a CS degree from MIT, it’s probably going to be a worthwhile investment. If you take on those same loans to get a philosophy degree from Tulane, it’s a bad idea.
Just wanted to say some of the best folks in my college CS group were military folks who were a bit older (2-4 years) who knew the value of the education.
That said, it is a huge stigma to not finish your degree... you better have a job or strong vision. For every Steve Jobs there are probably hundreds who would have done better by completing their studies.
I pulled myself out of high school at age 16 because I felt it was holding me back from progressing in comp sci. Worst fucking decision of my life; please encourage let alone force this on anybody else.
My high school didn't have a computer science program at all (late 90's), but I grew up during the dot-com boom in silicon valley. My friends were getting internships at web and networking companies over summer earning an unhealthy amount of money for a teenager. I tried my hand at writing some computer games, and found I liked making games even more than playing them. So I thought: screw high school and all these classes which have fuck all to do with what I'm interested in.
What actually happened is that within a year I found out that like any teenager I had no clue what really interested me, except that it was easy to find stuff which interested me more than being a code monkey. Yet I was getting more and more locked into that as a career path.
Also, my social circle went to hell. I was neither with a cohort of friends my age I could relate to and could relate to me, nor did I get to share in the typical senior year of high school, and freshman year of college rites of passage. I did not really know what I was missing until later.
I jumped around a lot trying to undo mistakes and find something I really liked, which ended up costing me a small fortune in debt via 8 years of college.
In the end I still write code instead of doing something more intellectually and emotionally satisfying to me like archaeology or art conservation. Why? Because some mistakes can't be so easily undone. I enjoy what I do, and am paid well enough to support my family. But sometimes I wonder what could have been, and why in the world my parents let me do this...
Am I the only person who actually wants a full and balanced education? I got enough advanced placement credit in high school to graduate with my CS degree in three years without any extra work, but I'm taking graduate courses and studying English instead. College isn't just vocational training, it's where you develop your interests and learn how to think. Honestly if all you want to do is learn how to hack well, you're better off not going to college at all.
I agree, at the end of the day Universities are businesses. But don't use that as an excuse to be lazy about your education. If you are proactive and motivated, you can get your money's worth out of your school.
The anti-college bias in the hacker community is really unfortunate, and ultimately it stems from a misunderstanding of what type of animal college actually is. I certainly agree that there are many talented people who do not need to go to or complete college. However there seems to be an assumption that it is the responsibly your college to stimulate your hacker ingenuity. Maybe that flew in your gifted classes in high school, but college is much more like the real world. In college it's your job to find your niche where you are intellectually simulated.
EDIT: And as for the complaining about general education requirements, you need to take a look at University of Chicago. They have the strictest general education requirements out of any college and it seems to work for them. On the other hand, if you really are against general education requirements, you should have picked your college better. A college like Amherst, for example, has zero graduation requirements (besides a raw number of hours). In any case, there is always a way to work the system. Find online courses that transfer and take them. Take a class at your local community college one night a week over the summer. And so on... At the very worst, accept the fact that your technical GPA probably needs padding anyway, and use GenEds to boost your GPA so you can get interviews.
I'm a high school dropout and have started/ran/sold a startup, managed a division for a well-regarded consulting firm, and worked on data taking for a detector at the LHC. Perhaps the problem is that I minimize the amount of effort that goes into being autodidactic (determine the problem, determine what information and skills are needed to solve the problem, acquire said information/skills, execute, repeat).
Let me correct/clarify my above post: Theory isn't a waste, per se. Is it best to spend a significant amount of time front loading knowledge one may not need? And paying a substantial premium for that experience? That's my problem with the college experience for tech professionals.
I'm not a huge fan of bootcamps, but I do believe there is much to be gained by Google's efforts here. There is value we've lost in the old apprenticeship system, and I hope to see it revived over time (I owe my skill and career progression to the luck of finding quality mentors along my way).
There are hard problems I want to solve that I want to have the resources (mostly time) to solve. College would not teach my those skills, but me trying to solve those problems are lessons in themselves.
tl;dr I'm smart and capable, but have no marketable skills, so am basically unemployable.
I started college right after high school in CS, but, bored out of my mind and depressed, dropped out after a year and enlisted in the Marines soon after that.
During my four-year enlistment, I fought in Iraq twice, saw the West Pacific (Japan, Thailand, Guam), and got pretty good at killing people.
After I got out, I went back to school on the GI Bill and got my B.A. in Comparative Literature, because I wanted to study something that would keep me engaged and interested, and I assumed I would be able to learn any technical skills (programming, which I was still interested in) on my own. Having gotten a bit older and gained a lot more discipline, I did much better in school the second time around, and raised my cumulative GPA from about 1.7 to 3.3, by maintaining almost perfect grades for those three years.
I graduated in 2009, which I understand was historically the worst time to do so. I was unemployed for six months, then finally got a low level adminstrative job in the federal government through veteran's preference. I also got married and bought a house. My job is a little bit soul-killing and doesn't pay very well. But it's tolerable (I've been through a lot worse) and secure.
I'm currently teaching myself to program for Android. It's fun but slow going, since my free time is limited. So slow, that I'm realizing that it probably isn't going to be more than a hobby unless I change something.
So:
Infantry Marine: Level 4|
Comparer of Literatures: Level 4|
Bureaucracy Admin: Level 2|
Rock-climber: Level 6|
Programmer: Level 0
My options look to me like:
1. Stay in the fed. gov. Boring, but safe.
2. Go back to school. I like academia and I'd be interested in studying CS, HCI, or IA, but I'm afraid of student loans and 'higher-education bubble' talk. And I've got a mortgage to pay.
3. Find employment in a field I enjoy. I write essays on my blog about tech and tech products. A friend of mine at a software megacorp is convinced that I'd be a good Project Manager in the sense of Joel Spolsky's User Advocate. But neither of us see a path to there from here.
So my current plan is to put in my 40 hours, program Android by night, and regularly spam job listings, hoping that I'll slip through a filter somehow and be able to convince somebody I'm worth taking a chance on.
College should be and can be intellectually wonderful....a place to play with all kinds of deep computer science theories and really push yourself beyond the latest technology fad and stack. What are you diving into beyond your classes? Have you raided the library and net for books on information theory, parallel computing, machine learning, linear algebra, digital signal processing, etc, etc, etc? Have you found a set of fellow geeks who are doing the same - who'll push you to the very limit of your abilities?
As you develop and grow as a programmer (I'm still doing that after 20 years) you'll find again and again that really top-notch programming and problem solving is far more than the technology. That's where the real fun programming problems are - and companies will pay you a LOT to solve those problems.
BTW I did pretty much drop out of college and eventually go back. I was the classic undergrad geek who grew up hacking and programming way before college. Like you, I was bored with the course material and making good money in my part-time programming job. Now I've a computer science PhD and I've been a research scientist in world class universities.
Or putting it much shorter: You've got brains, invest your time in college to push yourself beyond just the course material. You'll make much more money in the longer term and you'll have a far more satisfying and intellectually rewarding software development job.
BTW as an alternative to dropping out, if you can (and its what I did for my undergrad) I suggest finishing your degree by night or part-time. Its hard though.
College for me was a mix of self-learning (writing LISP interpreters and video games) and being forced to learn nifty new stuff through coursework.
I wound up dropping out after 3 years. I don't regret it because I've kept up the self-learning (being an ACM member, reading lots of papers on a continual basis, not budgeting books on CS and engineering).
I think you can afford to drop out of college, but you cannot afford to drop out of learning. I've seen too many senior engineers wind up sidelined because they concentrated on just what they were good at in their job.
I don't mean be a butterfly, or attempt to learn every month's new cool stuff. But get exposure to lots of levels of many good systems. Read the Unix source code. Read a compiler or two. Learn Prolog or Haskell. Write a network stack. Learn about database implementation, and Self, and modern graphics, and build systems. Learn everything you can from the stuff around you that is of good quality.
I'm earning more money than I would have believed possible, at a job I think I would do for free, if I could. It's a privilege to work with really good people.
I'm surrounded by this, and I can't help but feel like I'm part of the cause for people I'm close to. About the time I was beginning my CS degree I got a job doing tech support at a web hosting company. Within one semester the skills I'd gained on the job had far outpaced my university classes as far as providing me with real world problem solving abilities. Debugging shared webhosting servers was a far better learning exercise than writing sudoku solvers.
Maybe it's not true at other universities, but at the two universities I attended it takes literal years for the majority of students to understand how to take the skills they're learning in a CS degree and solve real world problems. So, I dropped out. And you all know the story, now I write code and makes lots of money, woohoo. Now my father and father in law, both highly educated and financially successful people, look at me and wonder why they did so much schooling and worked so hard when uneducated programmers are making more than they made in their whole career. They're vocally questioning the value of higher education to people around them.
Where it gets messy though is that I have family members and friends that have completely or partially used my situation as justification to ditch education, and none of them have gone anywhere as of yet. I've tried to teach some of them programming but I've given up on that, because the motivation and drive they need to teach themselves is the primary determining factor of their success (in my opinion), and I can't change that. I know I'm far from special in this community of overachievers, but whatever it took for me to get myself in this position isn't exactly common among the general populace, and it took me years of watching my friends and family members trying to mimic my path to appreciate that. So now I just tell them to go to college.
A college education exists to teach you how to learn. A programmer who took 30 years to acquire skills that took another 4 years could be wholly inappropriate, especially if you want problems solved in reasonable time. My professors proudly stated that they had forgotten more than they had learned. A college education carries a cognitive component that must also be addressed.
A successful college degree requires persistence, organization, and emotional stability. A critical deficit in these attributes may make somebody incompatible with the modern work environment. It is not hard to imagine someone who bails early or is not sufficiently organized to asses the problem.
tl;dr
Something other than technical skills happened during those 4 years
My only experience is with computer science, but I would suspect we would see a lot of rapid innovation in military fields were it possible for highly motivated and intelligent 20-somethings to drop out of the air force academy and become local warlords. The fact that the tech sector has so few consequences for failing and so few insurmountable bureaucratic standards is only for the best.
reply