Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Should I attend college?
21 points by ruswick on Feb 17, 2014 | hide | past | favorite | 87 comments
I am a current high school senior who intends to go into the software industry. I'm trying to decide between enrolling in college to pursue a BS in Computer Science or entering directly into the workforce.

My conundrum is this: I intend to seek a front-end engineering job, and am already very competent in front-end technologies. I have a fair number of items on my resume, mostly from personal projects and internships. I anticipate being able to acquire a moderately well-paying ($60,000 to $80,000+) development job after leaving high school. However, I'm also worried that not pursuing a degree will exclude me from certain well-paying jobs, especially later in my career.

I'm also quite worried about the debt load that a degree would require. I anticipate having to take out between $50,000 and $100,000 in loans to finance a degree.

On balance, do you think pursuing a degree will be more lucrative in the long run?




Yes.

Yes yes yes yes yes.

"Front-end engineering" is a craft that happens to be relevant right now. It's an artifact of the particular client-server computing model we currently have. It is not likely to be relevant 5-10-20 years from now.

"Computer Science" is (among other things) a discipline that will give you the ability to learn the next craft, and the next one after that. It will keep you relevant your whole career.

Definitely go to college if you have the opportunity to do so.


Don't forget there'll be some steady jobs in the tech industry that OP would automatically be disqualified from for not having a college degree. Also, if a job offering is competitive and there are multiple candidates with the same skillset and experience as OP, the person with the college degree might get the benefit of the doubt.


This is true, and absolutely worth considering.

As long as you have access to enough of the market that open-minded employers are competing for your work, I believe that this wouldn't harm your salary or propsects in a meaningful way.


I think it really depends if you want to go the corporate soulless uninteresting but well paid and secure work route.


Not necessarily. You don't have to be a big soulless corporation to prefer candidates with a college degree.


A completely opposite summary is just as valid, in my opinion.

"Front-end engineering" is a cutting-edge craft and a working knowledge of this will develop into the next important thing 5-10-20 years from now.

"Computer Science", as it is taught, can be 30+ years out of date, depending on the course. Few academics have functional industry experience and many are regurgitating theory that they learned a long time in the past, not fully updated for existing practice.


> a working knowledge of this will develop into the next important thing 5-10-20 years from now

Do you know something the rest of us do not about "the next important thing"? Surely you can imagine a scenario in which your "cutting-edge" skills become devalued. If history is any indication of things to come, such a scenario isn't that far-fetched.

> "Computer Science", as it is taught, can be 30+ years out of date, depending on the course

You're right - some courses are garbage. But when I was in school, the courses I took on databases, algorithms, AI, and mobile robotics were extremely relevant and still are today. Most CS curriculums teach fundamentals and concepts, which have never gone out of style.

When you say "30+ years out of date" the first thing that comes to mind is a computer engineering class I took based on the intel 8085 (1977), which was about 30 years old when I took the class. Writing assembly code for the 8085 happened to be one of the most interesting and important parts of my CS career, despite being 30+ years out of date compared to the Java and Python code I write these days.


Not the OP, and I would've phrased the comment a little less strongly. However, I'm a full stack engineer who came up from the front-end engineering ranks, and I've successfully gone through two major tech switches (desktop -> web and web -> mobile).

The specific tech stack you use as a frontend engineer will almost certainly be obsolete in 5 years. The general skills you learn as a frontend engineer will not be, and that combination of skills are not taught anywhere, particularly not college.

If you're doing it right, you learn way more as a FE-SWE than just Javascript. You learn design concepts like hierarchy, line, typography, color theory, etc. You learn information architecture and how to present only what the user needs to see at a given time to them. You learn how to structure a large application through MVC, MVP, component trees, etc. You learn how to keep it responsive and low-latency. You learn concurrency and how to deal with user interactions that may occur in the middle of your app doing something. You learn animation and motion design. You learn security, input validation, never to trust user input, and how to design the UI so that invalid inputs aren't even possible.

Those are widely transferrable skills. As long as there are computers and people who use them, we'll need to figure out how to interface between them. And as more fundamental CS concepts become available to mainstream, non-tech-savvy users, the need for frontend engineering skills only becomes greater (witness companies like GitHub, DropBox, and Twitter, which are based upon bringing UNIX utilities that have existed for 40 years to mainstream audiences).

I loved my compiler design and machine architecture courses, but demand for those skills is very specialized, and you have to be very good at it to get a job doing them. I'm actually one of the lucky ones who has used my compiler skills in a large corporation, but honestly frontend engineering has opened up many, many more doors for me.


> The general skills you learn as a frontend engineer will not be [obsolete]

To play devil's advocate: What if the next mainstream computing interface has next-to-no need for any visuals? In other words, do you think point-and-click and/or touch interfaces will be as prominent in 10 years as they are now? I can't imagine that computing applications will always interface visually - seems inefficient.


I've worked with folks doing gestural (eg. Kinect-style) and voice interfaces. Some of the principles are different, but a lot remain the same. The basic ideas behind deciding what's the absolute most important information for a user to know, getting in their mindset, progressively revealing more as they navigate through the app, and being instantly responsive actually become more important with gestural/voice interfaces, because your communication channel with the device is lower bandwidth. (At least now - gestural interfaces have the potential to be much higher bandwidth, but current camera tech isn't up to it yet.) A lot of the math behind gestural interfaces is also very similar to the math behind 3D computer graphics.

I also think that computer interfaces will retain some visual component at least for the foreseeable future, because humans are predominantly visual creatures. There are some situations where this isn't appropriate - eg. while driving a car - but when you have the user's full attention, it's usually fastest to present information visually.

I think that a lot of the changes might be in the form of refinements or new UI models. Mobile has opened up a whole bunch of new UI metaphors - scrolling is much more important, with things like pull-to-refresh and sticky toolbars, and it's now customary to stick all links and navigation options behind a NavigationDrawer - but they didn't fundamentally change what being a FE-SWE is about. It's more like these are new UI widgets that can be used to build a better experience on smaller screens. Things like cameras and accelerometers do change some of the paradigms behind frontend engineering (I bet OCR and physics will become much more important in the near future), but so far they're being used as subroutines you call out to.


20 years ago, the hottest ride in programming for smart kids was VB for Windows client applications. Microsoft was an unbeatable monopoly who would control the desktop forever.


I think this is a weak argument that ignores some of what the OP wrote.

A CS degree alone will not keep him relevant 5/10/20 years from now. The industry is, for the most part, a meritocracy, and he will need to keep his skill set up-to-date with industry trends forever.

In my experience, good CS students tend to learn more outside of class. Based on the OP's post, I would bet that he is sufficiently capable of self-educating.


Care to elaborate on what potentially could replace the 'client-server computing model' in 5-10-20 years? This seems far fetched IMHO. I can only envision a future where systems place more emphasis on UI and design. I imagine this future because as our computers grow in complexity, the interfaces used to control them need to become more simple and interaction-focused.


If everything is apps in the future then "front end" technologies may be compiled native code like Objective C or Java or even Python.

If your computer only uses voice, the "front end" technology stack is very different from what we have today for websites.

If government and market forces cause the web industry to stagnate over time (see: net neutrality, pervasive privacy concerns), then the hot industry of the future might be something totally different.


Mobile, wearable technology come to mind.


Yes but these devices still require a large amount of UI design/interaction. I don't see how this would change the 'front-end' ecosystem much


Look at how different UI is from mainframe/green screens to the client-server apps of the 90s-00s to todays mainly web front ends. It has changed drastically over the past 40 years but still pretty much does the same thing. Provides the user a way to interact with computer/software/data.


Given how much "front-end technologies" seems to translate to "javascript / html / css" nowadays, I'd be incredibly shocked if it didn't.


Considering the fact that these are the de-facto UI languages for the World's most widely deployed platform (web browsers), do you think that javascript / html / css are going anywhere anytime soon?


1994 you: Considering the fact that these are the de-facto UI languages for the World's most widely deployed platform (Windows), do you think that the Win16 API is anywhere anytime soon?


While I see your point, you're comparing a closed-source proprietary platform to the web. Apples to oranges if you ask me


Even if Windows had been using X11/Tk or whatever back then, it wouldn't have made a difference.


> I'm trying to decide between enrolling in college to pursue a BS in Computer Science or entering directly into the workforce.

Do what I did and have it both ways: take a gap year before starting college. I was accepted to MIT's class of 2016 but I won't be joining until the class of 2018 (this coming fall) because I joined a startup in San Francisco. If you're as good as you say you are you'll be able to get a job, and most universities allow gap years without a problem.

> On balance, do you think pursuing a degree will be more lucrative in the long run?

Yes. There are also many other reasons to go to college. Let me know if you have any particular questions or if there's some way I can help.

EDIT: Let me recommend a gap year again for a different reason: it lets you put off your decision until you know more about working in the real world. It would be easy to decide to continue working after your gap year and never go to school. It also provides a nice "hedge" against the real world — if you end up disliking your job, it could never be more than a year before you head off to school.


> > On balance, do you think pursuing a degree will be more lucrative in the long run?

> Yes.

Do you have good evidence for this? I've seen data that says that each year of post-high school education correlates with a ~8% bump in salary, but I am doubtful that this is a causal effect.

If the OP wants to make money, spending time becoming one of the best persons at some subset of front-end engineering is almost certainly more lucrative and more easily doable outside of a university. Alex Maccaw (http://alexmaccaw.com) is a good example of this.


If you can access $60k jobs after leaving high school, then pursuing a full-time degree will cost you at least 3x$60k + tuition.

This advice is specific to your situation and not my general advice:

If your assessment is accurate, and if you have options in the job market (you are not tied to a single generous employer, say), I would recommend you don't take a degree.

A degree is going to put you perhaps $300k (1 house) and several years in the hole. It's not obvious that you'll then have better access to the job market than you have now. It's even possible you would have worse access. For most employers, practical experience of work they need trumps college classes.

There is absolutely nothing stopping you from taking a degree later or taking one part-time if you decide that it's relevant to you.

As a final point, you should consider applying for both college and jobs, giving you a clearer choice of your available options.


If you can access $60k jobs after leaving high school, then pursuing a full-time degree will cost you at least 3x$60k + tuition.

Let's not be to US-centric. If you look beyond the borders of your country, it's perfectly possible to study at a relatively high-ranked university for a small tuition fee. E.g., the university where I studied in The Netherlands has a rank hovering between 78 and 98 in various ratings (e.g. Times Higher Education World University Rankings). Yearly tuition is Euro 1835 for students from the EU and Euro 7500 for international students.


There's nothing US-centric about what you quoted; the 3x$60k figure (and it could end up being 5x) comes from the opportunity cost of going to school instead of working. That can be lessened with part time work and full-time during summers, but it's still there.


Sorry, I misread. But I still think the point stands. Tuition fee is not an issue in many other countries. Besides that, in most areas, a post-university income will likely be higher than working for four years after high school.

Then there's also the social factor. University allows you to network with peers, some of which will be very successful and may give you good leads. It's also a good place to meet a life partner and have a good time.


If your experience is as good as you claim, you should have zero issues going to college and working part time at decently well paying job.

I am speaking from experience, that is what I did. I never had to take any loans and thus graduated with zero debt.


On balance, it will probably be better for you in the long run. I am a high school and college dropout, and nearly as old as dirt. I am entirely self-taught with computers, with no academic credentials. I didn't even take CS courses while in college. I am not a failure career-wise, but I believe that a CS, EE, or similar degree, in hind-sight, would have helped me.

There's 3 main reasons for this:

1) there is a lot of conceptual and algorithm stuff that is drummed into people at school that, while possible to learn on one's own, requires time and effort. If I had time to study Knuth in depth, I would love to do so. This subject matter is very often useful--in hindsight, this is my biggest regret for not having studied CS, because there are gaps in my knowledge that would have been easy to fill had I been studying these things long ago.

2) while employers generally do not require a CS degree, it is very often that their employment screening steps will filter you out if you cannot regurgitate much of the stuff described in step 1: algorithms and coding styles taught in college, the way that colleges teach them. No matter how much PR a company claims for itself in looking for intelligence, creativity, and experience, if you haven't internalized the textbook stuff, then you'll frequently get filtered out of interview process quite early. You'll still be able to get jobs, but just not likely the ones with the biggest marquee names with the highest candidate:opening ratio.

3. If you want to do a startup, you'll want to be in the vicinity of people who also want to do a startup. That's much easier when you're in college, and you get looked upon favorably if you come from a prestigious institution. Seed and angel investors like throwing cash at pairs of kids from good schools who can make something that seems useful and is in a hot space.

So, yes, go to college. Study CS, math and also some business stuff like econ. Avoid humanities like plague.


Front-end engineering is a tiny proportion of computer science (ie not covered in a general curriculum at all), so I'd say it depends if you want the depth of more front-end experience putting you even further ahead of your peers or the depth of a huge range of CS subjects, mostly close to useless for your standard front-end engineering role.

Lines are getting blurred, and college/university isn't the only way to learn more things, but I imagine you're ruling yourself out of a lot of jobs by focusing this early. Maybe you don't want them jobs though. I guess my best guess at an answer is take a job if you can and you know it's the career you want, if not bite the bullet and do CS.


No, don't bother. Maybe later in your life if you've got nothing better to do. If you can't find your $60k+ job, then college can be a good economic buffer (living off loan money) until you do.

If you're already questioning it, you're probably going to be questioning it every year of school whether you should drop out or keep going. This could lead to misery, especially if you lose interest in what the school is teaching. The networking benefit of school is overrated; networking with other professionals is better than networking with other students. (You can also more easily get around degree requirements if you're getting a job at a company where someone you know already works there.) The 'variety of topics' at schools is overrated too; you can get such a broader knowledge of things in your spare time, and as another commenter mentioned front-end dev is rarely covered at all in a CS degree and you can learn so many other things not covered just from doing your job.

I would recommend actually learning about the material covered in a CS degree in your spare time. Use your job money to buy a few books -- if you don't know what to buy, many schools have a required/suggested book list organized by course. Two I'd recommend are Pike and Kernighan's The Practice of Programming and Skiena's The algorithm design manual, the latter of which goes over enough CS that if you ever wanted a "Software Engineer" job instead of front-end work you would be able to handle most any technical interview question.


I'd say apply now before it is to late (if you haven't already), attempt to get a job during the summer for what you think you can ($60,000-80,000 may be iffy unless you have access to more progressive companies) and if you can't: go to school.

If you are really lucky you could probably even find a job that will let you go to school part time while you are working which would be the best of both worlds.

You don't have to attend school right away but you'll probably lose all momentum to go as you age.


Tough question to answer without knowing more about you.

Graduating high school and going directly into industry will give you some real world experience. Professional development is very different from hobby development. Professional development means accepting projects and technologies that may be of no interest to you but the company needs them. If you're doing in-house IT development, you may spend a large part of your time doing systems analysis, operations, and support work. Your employer isn't truly concerned about your trying new technologies; it wants people who support its own technologies and that's where you'll be focused.

Gauging your interest in these compromises, before committing 4 years and $75K for example, will save you a lot of frustration later on.

Depending on your employer, you may be able to get the company to foot some of the bill if you decide to go the college route later.

On the other hand, college has several positive sides. You get to experiment and fail with little consequence. (Largely, the ability to fail and learn has been driven out of the office place since I started 23 years ago.) You get to network with others around your age who have an interest in the field. You can study other subjects that may/may not help you in the field but they interest you anyway. Lastly, you have the degree to build on in case you want to do more advanced study later in life.

My caution is not to make your decision based on fear. You will do well either way so long as you work hard and stay curious. Just be aware of the trade offs.

Good luck.


If the question is which option will be more lucrative over your entire lifetime, nobody here or anywhere else will be able to give you an iron clad answer. That said, I can just about promise you that four years of college will expose you to more "stuff" than working as a developer somewhere for four years will, so I'd recommend it for that.

I entered as a freshman who could already program. I wasn't amazing, but I was ok. I liked programming, and had a good intuitive sense for it. What I didn't know before I went was how much I actually didn't know... and I don't mean about programming, although that is part of it. I mean how many interesting subjects there are in CS, some of which turned out to be far more interesting to me than the actual programming.

A university probably isn't the best job training program for a developer, but maybe you'll find out you don't actually want to be a developer? That's what happened to me while I was there and I wouldn't trade finding something I was really passionate about for four years of income.

So my advice would be go if you can, and take advantage of it while you are there. You may get more than a piece of paper or a higher salary out of it.


Work for a year, then go to school. It will measure your skill vs your expectations. It will inform you as to the value in being where you are as opposed to where you think you can be with four years time focused in a few mostly parallel directions. It will ground you in the realities of making money how you can now compared to how you might. It will prepare you for working while in school so you can kill five (or more) birds with one stone. You can get soft working skills at the same time as your actual work skill increases without having to be dedicated to a career.

I can't stress this part enough: Pre-debt expenses amount to what, $2k per month? After you have debt and likely start carrying other expensive things around, you're under more income stress. Income when your expenses are small is highly gratifying. Income when your expenses are large is like a treadmill if it isn't high enough. You will enjoy pre-debt money more than any other money you will ever have until you are out of debt. Might as start life with a breather.

In school, you can change your career much more freely, but you have to intersect back with reality somewhere or else you aren't changing anything. While working, you're too busy working and doing lead generation etc to focus on changing your skill set drastically. Being independent ultimately makes this less of a problem, but doesn't make it go away. The classes that are a waste of time are only a waste of time when you don't pick them well or have no options for a particular semester, in which case you will have a similarly distracting workload, though honestly, once you've worked any crazy time, undergraduate is a f&*@ing joke that most people there (especially at state schools) are simply wanting a crutch to delay the adolescence-adult life transition.

College is a very good opportunity to change cities without getting super committed to a new area and without having to line up work in two places, which you have to do in career world. You have to have runway at point A and somewhat of a a landing at point B. That's a lot of headache and fortune compared to, "Oh cool, so I'll go move to that place and take out X loans."

Meeting people is not a bad side-effect. Out in the mix, you find rarely random people your age of similar life status who you can peer with and never in such large concentrations. People who are out of college in your age group will be of different lives than career folk. Just the truth. You might be egalitarian and non-judgmental, but that doesn't mean you're going to want to feel like your time is better spent elsewhere.


The career I've had for the past 15 years--building websites--did not even exist when I started college.

The world you will live in in your 40s will be radically different than the world you live in today. Education is the best tool you can ever hope to have for coping with that change.

Go to college and make sure you study things you don't like or don't think are important--like literature, or art, or a foreign language. This will force you to get good at learning things, which is the #1 skill you need to thrive over your lifetime. (But being good at writing and analyzing is itself a very useful skill to have.)

If you are worried about the debt load, then do something to mitigate that, specifically. Do the first two years at a community college and then transfer to a university. Or take a couple years to work, and save up your money, then go to school. Or go part time while you work.

But definitely pursue your education. Otherwise you put yourself at the mercy of other people who did.


I have a number of friends in various pockets of the IT industry who do not have four-year degrees.

Of those, the ones that are > 40 wish they had the degree. I suspect they're hitting the upper bound of the career ladder for non-grads at the majority of the corporations in the U.S.

I can't predict the future, so I'm not sure if this limitation will still exist when you're > 40. It's just a factor to consider.

If you can make a comfortable living now, and you have the right self-discipline and temperament, you might consider working and doing school part-time. A Bachelor's will take much longer than four years, but it is doable.

Also, consider that you'll probably be working into your 60s. Why the big hurry to start full-time work at 18?

Just some random things to think about.

Edited to add: When I was younger, my dad told me to do the things now that leave you the most opportunities later. Getting a four-year degree would fall into that category, I think.


I anticipate having to take out between $50,000 and $100,000 in loans to finance a degree.

Is that really what college costs these days? I went to state school which cost about 8-10K per year. My loans are 0% subsidized govt loans. I pay about 150 bucks per month. I could have paid them all off by now, but why?

It doesn't need to be that expensive.


In-state tuition at my state flagship (Illinois) is $20,000. Factor in cost of living and various fees, and costs can easily run into the $30,000 to $40,000 per year range. Moreover, state funding for the university has fallen in recent years, meaning that financial aid is scarce and that tuition is perpetually rising.

If I recall correctly, the interest rate on Stafford loans is 3.4%. Government "Parent PLUS" loans and private loans are much higher. What's especially appalling is that the federal government actually uses student loans as a source of revenue. (http://www.rollingstone.com/politics/news/ripping-off-young-...)

The cost is getting out of control.


You don't have to go there; especially not the whole 4 years; just googled Illinois state is more like $6500, and community colleges are way cheaper -- and you can use CLEP too! (OTOH, CS at UIUC would look really coll on the resume, so maybe transfer for your last 2 years, or go for an MS)


Why go for four years?

I loved my college experience and I found that network I built was awesome. If I were to do it again though I would probably go to CC for two years then transfer to the college of my choice to offset the cost.

I would also look for freelance/part-time remote work during my time throughout my college career.


If by "later in your career" you mean 3-5 years from now or later, if you use your time well, you will have more than the requirements for jobs which usually require a degree "or" 3-5 years industry experience. You have a huge opportunity to go your own way, in a massive field, with plenty of resources to get you where you want to go, alone.

It will be tough going at first, but if you are good at what you do, you can out-pace what you would earn with a degree. You will have some "verifiable" acclaim, and you can back up everything you may with evidence you built yourself, while doing client projects all you can. Look through online databases of freelancing gigs, but it's a wild west.

A BS in Computer Science will not serve you well if you intend to do front-end engineering, for the most part. IMO, it would be better to work in online communities of experts such as http://stackoverflow.com or http://ux.stackexchange.com/, earn reputation there, and build a portfolio of past work.

Most of all, stay relevant. If you do projects for your own experimentation, develop them to a point that is presentable, then move on to more paid work or experimental work that demonstrates being on the edge of the field, until you are sure you want to "specialize" in a certain way or format or technology.

On the whole, you can do everything you might want to do, including gain contacts and peer review, without college. Participate in online communities with good offline meet-ups and conferences, etc. Stay connected, eager, and active. In 3-5 years you'll have a demonstrated track record of being self-motivated, well educated, and extremely progressive.

I can't over emphasize how saturated the field is, which will be tough for you with or without a degree unless you set yourself apart. Focus on that, regardless of what else you do. I personally believe an independently created career without a degree will be more lucrative in the long run.


Yes.

I do think which school you can go to affects the outcome. I understand that application season is over, but hopefully you've applied to many need-blind schools that are in the top-50 where you wouldn't have to take out any loans.

It's also a great way to seed your life-long personal network in a different way. A lot of your college buddies will go onto diverse fields, and together you will spot many connections between them and pursue those. This can be very lucrative as well.

College, besides the learning, teaches you things you didn't know you needed to understand. It often changes you as a person - It's not only that you now know more answers, it affects what types of questions you ask.


I think you should consider going to college. Since you already have a lot of prior experience, it would be better if you try to graduate faster. You can take CLEP exams to test out of GE requirements, as well as get CS-specific courses waived by showing prior experience (I did both of these things). Right now I'm turning 18 but finishing my sophomore year of college.

The way I see it, four years to get a degree is worth it, you will not ever have to worry about whether you are qualified "on paper". Of course most tech companies don't really care as long as you can code, but it's good to have, just in case.


Let me tell you

It's all a fad

The more "high level", the more a fad it is. Nobody is going to remember coffeescript in 10 years, maybe 5.

"Front end development"? Let me tell you something, I bough a book about HTML in 2007. This book is basically worthless today. Sure, for someone who has never studied it is it useful. But things change. How much was IE6 knowledge 3 years ago? How much it is today?

College won't teach you about the latest features of Windows 8, or Mac OS. It will teach you how and why things happen the way they happen.

And that's "timeless". Considering most of it was invented in the 70s and still apply.


I think this is kind of a false dichotomy. If you can find a job right out of highschool in the software industry, you may be able to find a place that has tuition reimbursement for you to take part time classes.


Why $50,000 in loans? How about a state school? You can always get an MS at a private school later.

Getting a job may be easy now, but how about when it is like it was in 2001 or 2008? You will be competing for each job with several others who have a BSCS? That is for jobs that do not explicity require a BSCS. You may also be married with children then. You have the time now and lack financial obligations other than keeping yourself fed.

I know people like John Carmack and Jamie Zawinski are out there, but it very rare to meet someone without a college degree who knows what primitive recursive functions are, or how to design a four number binary adder with logic gates, or the difference between deterministic and nondeterministic pushdown automata and so forth. People without a degree might know all the keywords for a language, but are usually lacking on some abstract theoretical level. Another problem is not just what they do not know, it is what they do not even know that they do not know.

Of course you know your own personal situation better than any one else. But if you can go to school you should. Even two years of learning will help. But some of it is on you, tests and homeworks do not cut it, if you are learning an important subject, sometimes you should spend hours studying beyond what you need to get an A. Or doing independent projects to get some real world grasp of the some theory.


I think you have to ask yourself, "Where will I be in four years in both of these scenarios?" If you choose college, you'll have a degree, some book knowledge, and some debt. If you choose to work, you'll have four years of experience and some money in the bank.

I'd argue that four years of experience trumps the four years of book learning, and that the debt vs. savings issue is secondary, (but of course points towards getting a job now).

So I would suggest you try to find a job rather than go to college.


This is a false dichotomy. I worked summers and part-time during the school year, my entire time in college. I had graduated with no debt, 4 years of book learning and 4 years of XP. Most of my fellow C-S students had internships paying $15-20/hr by their sophomore year, and almost all that wanted them by their junior year.

This is not to mention that outside of the coasts, unless you are freelancing or starting a startup, people hiring developers often require a degree (at least in hires with less 10 years XP).


I say both have their pros and cons.

I currenlty work full-time at a startup making $120k+ and I don' have my degree. But I am also finishing up my degree part time.

I got into the industry by doing an internship at Electronic Arts, and being offered to stay full-time, and they knew full well that I didn't have a degree. I learned from some amazing backend engineers and architects, many of which had left EA shortly before I did. I can pretty much go anywhere now without a degree, because the most important thing in the industry is on the job experience.

Though, I think the promise of me taking classes towards a degree helped me a bit. There are a few things I learned from the classes I took that I would have never learned on my own, at least I don't believe i would have. And many are important to my job now. But I am a backend engineer so I feel the theoretical stuff I learned for the CS degree apply more than a frontend engineer.

Overall there are pros and cons to both approaches, but I could completely stop going to school right now and not be affected by it at all.

Another thing you have to take into account is career growth. Many managerial positions aren't easy to get if you don't have a degree of some sort. So you might eventually hit a ceiling with being just a programmer. Unless you get lucky to make your way up somewhere, get the Resume experience and then move.

Its not easy or black & white. But I know both have their pros and cons.

I currently have 0 debt, since I am able to make my $2500 payments per semster at SJSU for partime class load.

But I also have other circumstances, I still live at home, per my father's financial suggestions, saving money for my own house (want to do a 20% down payment). This lets me splurge more than most, still cover school, drive a nice car, and so on. So everyone's circumstances are different, you need to way all your options, all your responsibilities, and what you plan to do short and long term. Then make your decision.

I know I will get my degree in 1-2 years of what I am doing now. SO i will have that damned piece of paper that for the most part will be useless to me until i get into more managerial roles, and even then it probably won't be as useful except get me into the interview.


Sorry for any and all rambling.

Hey OP,

I'm a 19 year old software developer in NYC. I didn't go to college myself, and I was in your position not too long ago, so I think I can offer some helpful advice. First of all, you don't need to go to college to get a job as a software developer, especially if you live in/near a tech hub (NYC, San Fran, Seattle, Austin, etc). However you'll probably be limited to smallish startups, at least until you build up some professional experience. If you're genuinely confident that you can handle a fulltime position now, then I'd suggest just applying to companies near you that you're interested in working for. On the other hand, you could try working for one or two companies as an intern over the next few months. This is what I did, and although it was difficult getting paid very little (or nothing) at times, it was worth it because I was able to leverage my experience for a fulltime position. Either way I'd suggest creating a nice resume for yourself and putting up some code on github. This will go a long way towards making you look 'professional'.

It's true that not going to school will mean that you might miss out on some fundamental CS knowledge, but this doesn't have to be the case. With wikipedia, google, stack overflow, moocs, and online lecture notes/textbooks, you'll have access to the same knowledge as your average undergrad in a state school. With the added benefit of being able to place all this information within a real-life context. You're probably not going to learn as fast as someone immersed in a cs curriculum, but you'll be getting paid an absurd amount of money to learn this stuff, instead of spending the same amount of money.

There are some disadvantages to entering the workforce at such a young age though, nothing major but I thought you should be aware:

    - All the girls our age are in college. Literally all of them. It makes dating
      very difficult.

    - You'll always be 'the young guy' at work. Prepare for endless jokes about
      your age.

    - A lot of people will probably look down on you for not going to
      college. Don't let it get to you, these people don't matter.

    - All the girls our age are in college. Think about what this really
      means and if you're willing to deal with it. You're probably not going
      to meet girls frequently until you're 21. I've repeated this twice for a reason.

    - You won't always be able to go to bars after work with coworkers.
Nonetheless, being a fulltime developer is awesome. I've got zero debt, I get paid an absurd amount of money, and I love my job. Good luck dude.

P.S: Learn Emacs. It's awesome.


> All the girls our age are in college. Literally all of them. It makes dating very difficult.

This is a limiting belief that you've ingrained deep down and it is seriously hurting you.

You really, really need to work on this. The truth is, you're not 100% sure you made the right call and this is seeping through.

You have a job. Income. Probably your own place, car, etc. You know what she has? Debt.

You're not working at McDonalds. You have a job that she will kill for years from now.

Also, there is nothing wrong with dating slightly older women. Especially those who just graduated and realize they pissed away four years of their life to work as a secretary.


You're probably right that it's a limiting belief/excuse on my part, but the reality is dating outside of college is more difficult than doing so as a college student. This is compounded with the fact that like a lot of other techy people I was awkward with the opposite sex in high school. I still haven't fully gotten over that attitude now that I'm in the real world, and you were obviously able to pick up on that. But I'm working on it. I have interesting hobbies, go out every now and then (mostly to concerts), I'm trying to dress better, and I work out a few times a week (which has done wonders for my self confidence). But hey, if you've got any dating advice I'm definitely willing to listen.


> This is compounded with the fact that like a lot of other techy people I was awkward with the opposite sex in high school.

Same here.

> I have interesting hobbies, go out every now and then (mostly to concerts), I'm trying to dress better, and I work out a few times a week (which has done wonders for my self confidence).

Bingo. You need to be in a place where you are satisfied. Not happy. Nobody can be happy alone. But satisfied that you are leading the life that you want.

Very few people get that chance in life. To truly lead the life they want and desire for themselves.

> But hey, if you've got any dating advice I'm definitely willing to listen.

Get into a habit of doing one new thing a day. Even things you're uncomfortable with. Just by virtue of doing that, you'll end up meeting new people and will begin to see things in a new light. It'll also make your life more interesting and fun.

Dating advice? Keep it simple. Figure out what you want. Go after it. Don't give up, keep pushing forward.

If you really want a girl your age, go after that. I know you convinced yourself they're all in college. They're not. There are plenty of women who didn't go to college and went into a profession directly, just like you. Models come to mind. Want to date a model?

Think about this again and again, until you realize you are not at a disadvantage, but are actually so far ahead of the pack, you can't even see the losers behind you. Seriously.


Dating models would be nice. If I figure out how to do that I'll be sure to let you know. ;)

In any case I'll think over what you've said here and try to be more social and stop sabotaging my dating life. Thanks dude.


Many colleges these days (particularly in progressive urban areas) have a big hook-up culture. Dating in college is pretty tough too: very few people are actually interested in dating, it's largely "I got drunk at a party and hooked up with this guy I met on the dance floor".

The equation changes dramatically after age 30, when a number of women who spent their 20s figuring out what they want, going after it, and generally making themselves awesome all decide they want to find a husband, and then realize that many of the guys who were interested in committing got married in their mid-20s, and many of the guys who are left have no intention of settling down...ever.

If I had to give advice to my 20-year-old self, as my 32-year-old-with-a-steady-girlfriend-self who didn't start dating until 29, it'd probably be not to sweat it so much. Go out, explore life, meet women, have fun, and realize that nobody has it figured out at 20. Being picky and taking dating more seriously than it needs to be just meant that I got to make all the mistakes at age 30 that I should've made at age 20.


This is good advice. Thanks. I do have a habit of overthinking things and spending too much time in my head. I'll try to stop taking dating (and myself even) too seriously.


The student debt angle is talked about way more often than it deserves. For tech people, it should only be a problem if you drop out, failing to get your degree.

I did 5 years at a private university in the US, one in the top 20 most expensive (depending on the year, in the top 10). The starting bonus at my first job out of college completely eliminated all of my student debt, leaving me in the black right off the bat.

That should not be wildly atypical either. The median student loan debt is only $30k. That might sound like a lot to somebody coming out of highschool, but to somebody getting into tech that is by no means crippling debt. Those $200k+ debt horror stories you hear all about should only happen if you neglect paying off your debt, if you are trying to become a doctor or lawyer, or if you spend ten years dropping out of schools never bothering to look for financial aid.


> you don't need to go to college to get a job as a software developer... However you'll probably be limited to smallish startups.

You don't need to go to college to get a job as a software developer - in 2014. What about in 2008? Or 2001? You're already talking about limitations and this is when times are relatively good. When times are bad there will be many applications for each job opening, with a decent chunk of them being people with diplomas. That is for jobs that don't require a BSCS. Like this one posted four days ago:

http://sfbay.craigslist.org/pen/eng/4332469105.html

"BS or MS. in computer science or a closely related field"

These are good times, wait until the economy gets bad and money dries up like during the dot-com crash or banking crisis.


You can also get a job first and then get a degree later. You can even study while working (which is difficult, but possible). I did a combination of both to get my CS degree. (Not in the US though).

Having been on both sides of this (getting my first software job at 15, before I had a degree, though with some exposure to theoretical computer science) I would say the knowledge you gain from a good CS program is important. While it is possible to acquire that knowledge without going through a formal program (and more so today) most people don't have the discipline required to do so.

In terms of employability, if you are very good and you have experience I wouldn't anticipate an issue even at tough economic times. There are still advantages to having a degree (e.g. if you're a Canadian who wants to work in the US without a degree good luck getting TN status). If you are not very good the degree can make the difference (and very likely it'll also make you better).

Lastly, "front-end" engineering is just the latest incarnation of the same engineering we've been doing for decades. Just because your code runs in the browser doesn't make it any different. As other people have noted these things will keep changing but the principles don't.


You absolutely should attend college. (But there's nothing wrong with taking a gap year first.)

The difference is between thinking about the now and the rest of your life. It's true that you'll probably draw a good salary from a front-end development job; you'll also keep up to date with technologies for quite some time. However, a degree, for better or for worse, is a gatekeeper for a great many things, which are very likely to be helpful later on.

If you're truly interested in these technologies, it's not like you'll lose your skills: you're very likely to keep working on front-end web development throughout your college career. But you'll also be earning a signal that you're a long-term thinker with a rounded education who can think strategically. $60-80k may seem like a great salary now, but eventually you'll be thinking about how to grow from that. Having a degree opens up many more positions to you, but also increases your surface area for new experiences, opportunities and ideas. In turn, that will open up your opportunities for freedom, self-determination, and simply making a larger impact in your field.

Hopefully, you can get scholarships to help with those college fees, but either way, because you can command a high salary as a developer, you'll be able to pay them off. They're worth it.

Gap years are good, though - I wish I'd taken one - and may help clarify your decision.

Finally, regarding those fees (and increasing your opportunity for new experiences), don't forget that you can go to college outside of the US.


I'm what you would call a 'front-end' engineer. Senior front-end developer is my current title, though I'm quite capable of full-stack development. I make $103,000 annually and do not have a college degree. There has never been a job that denied me due to lack of education because I've been able to prove myself and my abilities. Going to college is a great resume boost, but has had no bearing on my career thus far.

(source: Front-end dev for 5+ years)


I've been on a lot of interviews in the past couple years and maybe 1 out of 5 even think to question why I don't have an "education" section on my resume or what my schooling is (none). No one cares. Being able to do the job/get through a technical interview/show decent code samples is ridiculously more important than a degree.


>I anticipate being able to acquire a moderately well-paying ($60,000 to $80,000+) development job after leaving high school.

I think you need to be more realistic about your expectations. If you have no prior work experience you'll have a hard time finding someone to take a chance on you much less pay you 6k a month. Statistically speaking highschool graduates earn less on average than those with bachelors or associates. If you don't have a bachelors you will need at least fours years of full time experience as a front-end dev to compensate.

My first job after I earned my bachelors was as a front end developer and I was only making 4k a month (in Minnesota circa 2012) however it took me 8 months of searching (i think i cold called/submitted resumes to 50+ companies) and enlisting the help of two separate creative recruiting agencies as well as other individual recruiters who contacted me through sites like monster etc. It took that many people to help me find a job even when I had a 4 year degree from a school with a name that carried weight in the local community.

I tested the waters in SF as well by sending resumes to a few startups and I got a call one day from a recruiter. He went on to tell me that he really liked my design work and that I had a good eye for it but unfortunately my resume was simply too lacking in experience and no one was going to even consider me without 2-3 years of full time experience. He was really cool about it, taking the time out of his day to help me level me expectations as well as giving me some advice.

My suggestion would be to pursue a degree, even if it's just an associates. It would really be a shame to be denied a promotion so late in your career because you don't have a degree.


The two things aren't necessarily mutually exclusive. Though it's extremely difficult to get a degree while working (and cash-flowing the whole thing, not going into debt), it's the route that I chose via an online school. In reality, it meant going to school closer to 6 years rather than 4 for a degree, but I will be graduating in May and already have a job that makes nearly $100k a year, with no student loan debt. If you have the ability, skill, and discipline to do both at the same time, I wouldn't entirely suggest against it. (More companies are open to developers that are seeking a degree than those that simply don't have it as well)

I won't lie...it is tough, particularly with a family. But I think in a way it gives you both the practical viewpoint and the theoretical viewpoints of programming both together.

Also, school doesn't have to cost 50-100k...unless you get into a top 10 school and are favored, it may not be worth it to go to such an expensive school.

If you're already good at development though, I think that getting the experience is more lucrative, but the degree more rewarding.


There may be a way, depending on your exact situation, to both reduce the need for loans, and still do college... it depends on motivation and your level of discipline.

1. Use exams such as CLEP to be able to bypass certain intro courses. In such cases, you could enter university with 10% or so of the required credits to graduate, "in the bag" on your first day of classes.

2. You may be able to find an employer that will take you on, and, pay for some or all of your schooling. A bit more of a long shot; and, you would be taking longer to complete a degree, as well as having to give up some evenings due to classes being taught at night.

3. I would suggest up-front, that you expect or anticipate being disappointed with some parts of your university experience.

Bluntly, most students will not have the drive or the intellectual curiosity you exhibit. Some of them will treat school as 4 years of partying, chasing women, and drinking or doing recreational drugs, and have an attitude of "I need to go to college to get my ticket punched".

4. Your internships might be a good source of contacts - most people are willing to help out with advice, especially if they have worked with you before and respect your work ethic. That can pay off in recommendation letters, suggestions for scholarships, etc.

5. You should try to clarify your goals, if you do decide to attend - what are some of the skills and capabilities that you should retain after you leave? Perhaps there are "soft skills" you can learn, like speaking in front of people with confidence, giving presentations to a group; and "hard skills" like mathematics or even some basics in electrical engineering, chemistry, etc.

I would suggest that you try as much as possible to avoid debt, especially since student debt is not able to be discharged, even in bankruptcy (most of the time).


Yes. The point of a degree is to ensure you learn enough about the right content/concepts without proceeding with gaping/gratuitous hold in your education. Self-taught certainly can work, but better that you have dozens of well-informed experts review every aspect of what you need to know. A degree also assures employers of the breadth & depth of your knowledge without having to deeply examine you themselves. Yes, the process isn't perfect, but it's better than the gross ignorance I've seen in some surprisingly well-placed people.

Now, if you're confident enough in your current talents, strike out into the workforce and earn what you can until you (A) can pay cash (yes, cash) for that degree, and (B) you can figure out where that cash will be best spent. You can also persuade some employers to pay for the degree, saving you a bundle.

Whatever you do, don't go into debt for it. Cash only. For everything, not just a degree.


If you have the discipline to teach yourself front-end engineering in high school, you have the discipline to teach yourself anything in realm of applied computer science. Github has replaced the college degree in this field, and differentiating yourself from the rest of the competition is pretty easy to do if you stick to a meaningful path of self-improvement.

Paying $50k for a college degree in computer science is ludicrous. Most of the people here who are telling you to do so are probably more interested in retaining the value of their own investment, by influencing the next generation to make the same decision. If there's value in having a college degree - your employer will reimburse you for tuition expenses. If they refuse to do so, it's a tacit admission that the value it adds to your output is worthless to them.


Don't go to an expensive school. Second, work while you go to school. Lastly, you don't have to finish and get the degree, just get the foundations of what you need and a few great connections.

If you don't go to college, you won't get college experiences. Trust me, college experiences are some of the best in life.

If you go to a super expensive school and don't work, really depends on how much money mommy and daddy got, plus you don't want to be they guy who shows up for a Web Dev position with all your fun algorithmic theories but you hand code new functionality like a chump.

Either way, you'll be fine if you're typing if-then statements but get some life experience, too, or else you'll just be a nerd with no stories, aka lonely.


You're getting a lot of good advice in this thread, but here is something else to consider: you may feel committed to front-end engineering now, but have the wisdom to understand that you are young and have a lot of new experiences ahead of you. When I graduated high school, I made the decision to go straight into the workforce as you are considering doing. I had no trouble finding work. (Though I second what others are telling you: some avenues WILL be closed to you if you have no college degree -- not all, and not necessarily the ones you want, but some.) What I began to realize, though, is that, as much as I loved coding, I didn't want to structure my life in a way in a way that locked me into one thing so early. Among its many other benefits, college is a great opportunity to take a step back, learn widely, and, at the least, become a more well rounded human being, but quite possibly you will also discover that there is something out there you love more. It's not impossible to change your mind, and go back to college later if you want to. But it's much easier, and you'll have a better experience, if you do it now.

My personal tale, in a nutshell, is that I went to college after a few years working (nothing wrong with taking a few years to try it out, as others have mentioned) and studied philosophy, of all things. Now I'm a telecommunications/media/first amendment lawyer. Life is funny -- and, more to the point, full of surprising possibilities. Don't shut them out.

On another point, you should not have to take out $50-100,000 in loans for college. There are programs out there that are worth that much, but not many. I graduated from a top-tier university with a grand total of $4,500 in debt, without a cent of financial aid. Go to a public school, and work your way through. If you're capable of going straight into the workforce out of high school, you are capable of working your way through a public university as well. If you live in one of the few states with no state university worth going to, move yourself to California, Virginia, Texas, or Michigan. Work for a few years to earn your resident status, then enjoy the wonders of an elite, public-school education.


> I'm also quite worried about the debt load that a degree would require. I anticipate having to take out between $50,000 and $100,000 in loans to finance a degree.

That makes it sound like you are looking at a first tier state school. Have you considered looking into a top private school, like MIT, Stanford, Caltech, Princeton, Harvard, or similar? If you are from a middle class or below family, these schools will offer aid packages that cover most of your costs by grants rather than loans. Even if your family makes quite a bit more than middle class, you should be able to get out of those schools with well under $50k in debt.


If you are going for CS then just stick with a state school education. I regret going to RPI and Harvard and ending up with enormous school loans, but at the time I thought I need to be at a well known school in order to succeed.


If you want to get around the debt, go to a university in Europe. It will require a lot of planning and you should make sure you are up for the culture shock, but you will get a degree without ruining yourself.

Cost of living remains, of course, but University attendance in many non-English speaking countries is (practically) free of charge, even for non-Schengeners.

Here is a list of countries that, to my impression, seems fairly accurate:

http://www.scholars4dev.com/4031/list-of-european-countries-...


Enjoy four years of friends, learning, and not having to work every day. You never know where it will take you, if you decide in two years you hate it you can still get a development job.

Why are you so eager to jump into the 9-5?


The CS degree isn't worth what you'd have to pay for it, but you'll need the knowledge later in your career. Your intuition that "I'm also worried that not pursuing a degree will exclude me from certain well-paying jobs, especially later in my career" is spot-on.

My advice is this: If you have the discipline to take night classes, see if you can pursue the degree part-time while working part-time. Taking one or two classes at a time - especially in CS where you have a bit of experience - should be a breeze.


Lucrative? I don't know, and I don't even care.

Will you be better at your job? Yes. Because you'll learn abstract concepts that you can apply to learn 'new things' more quickly and understand them more deeply.

If it's about the money you need to pay for college: Would you be willing to study abroad? I'm studying Computer Science in Germany and pay about 250€ ($350) per semester (incl. access to public transportation but of course without rent, food, etc).


Porque no los dos ? (said in annoying taco-commercial voice)

If you can truly get a 60-80K job, then do it and go to school part-time; if you prefer, go to college full-time, and work part-time; if you make 30K, then you can attend college and come out debt-free. You won't be the first or the last person to work while in college.

A degree is very important; both for the education and for the piece of paper; however, it does not have to be full-time, or done in 4 years.


The 4 years of college (3 here in the uk) will open doors for you that may not open otherwise.

You will be able to explore opportunities (should you want to) that you wont be able to explore without a degree. Thats just the truth right now.

So if you are sure you are okay with the limitations, then eschew college.

But realise that 3 years is a relatively short amount of time. It will pass before you know it and would do your future no harm.

Plus you can work in college. I do/did it.


If you can really get a 60-80k job out of high school, honestly, you're smart enough to get by without the degree. Seriously. Congrats on being awesome. (or believing you are)

But my advice as someone that didn't do the whole college thing... Go to college.

Go to college for the experience, both academic and personal.

You won't look back 10 years from now thinking "Dammit, I sure am mad at myself for going to college."


Why not seek out a frontend job directly out of high school?

Improve your skills on the job. If you feel like you need a CS degree after a year or two of work, then you can always get one—perhaps then you won't have to take out as much of a loan.


If not for the education, college helps you learn a lot about meshing with people from different backgrounds. It's also a lot easier to get 'a foot in the door' with various companies if your college holds job fairs.


college is about more than money. state colleges will be a better value. community colleges will save you money for the first 2 years. The classes might not even teach you relevant languages and such. A friend needed to take an extra class in .net at a local community college after graduating from OSU. you could also look at doing both, pay for college with moderately well paying job.


I kind of fall in between the two streams of responses here.

On one hand, I feel that most of what I've REALLY learned about CS came after graduation. To be sure, I memorized a lot in school, at least long enough to regurgitate it on tests or briefly apply it in contrived class projects. However, I didn't permanently ABSORB that knowledge until entering the workplace. Working on non-trivial projects, enduring code reviews with very smart senior people, etc.

Perhaps having gone through a CS curriculum left marks on my subconscious, and made it easier to learn in the real world. I don't know. However, I certainly felt like a babe in the woods at my first job after graduation. A CS program did not equip me for the brass tacks I needed as a junior level programmer. By the time I reached the point in my career when I was making design decisions and needed strong CS knowledge, I was years out of school and was learning (or re-learning) those concepts through other means.

On the other hand, I would say that it's foolishly short-sighted to forgo the credential on your resume. It is less important when you're young, and working for startups or small shops. However, with age you will eventually find yourself working for larger and more conservative companies (yes, there are exceptions to the rule, but how many 60-year old coders to you meet at the typical startup?). You simply MUST have a degree in order to get past the H.R. drones in those environments. Hell, this is still OFTEN the case even in small shops.

You can get around this glass ceiling by going into business for yourself. Running your own startup, or consulting practice... building a network, drumming up clients, and bypassing H.R. However, not everyone is made for that life. It's really more of a business career than it is a technical one. Also, what sounds exciting in your 20's might be a completely different story when you're in your 40's with a family... but at that point you're still 20+ years from retirement!

To sum it up, I don't know that you need a degree to be a strong software developer... but it IS a really important credential for the long-haul, which is easier to get under your belt when you're young. I should add that there's NO need to spend $100K or more on this. Although you need a degree to get past many H.R. drones, no one cares where your degree came from (or oftentimes whether you majored in CS even!).

If I were 18-years old now, in today's climate of crazy tuition costs, I would go route of spending two years in community college knocking out my core, and then transfer to a university for my major. Only the university shows up on your resume anyway, and no one cares. At the very least, I would attend a state school rather than a private institution. You might even consider pursuing your degree through night classes, while working by day. That's a PAINFUL lifestyle, but much more doable when you're young and don't have a family yet.


"I'm also quite worried about the debt load that a degree would require. I anticipate having to take out between $50,000 and $100,000 in loans to finance a degree."

You may want to consider if you can do better than that. My Bachelor's and Master's are from Michigan State University. There is little (though not quite zero) evidence to suggest that there are radically better programs out there, because so much of what you get out of a college depends on you. (I wish I'd done better, I certainly could have done worse. But I can definitely attest that top-tier != awesome skills; I've given interviews that are definite counterexamples.) Double check, because some state university programs do seem to be wastes of time, but by no means all of them.

College is an easy, but expensive, way to acquire certain skills that, yes, will indeed future-proof your career. It is easy in that you will be guided through a useful course of study; it is expensive in that it requires not only some money, but also a lot of time.

One way to resolve the matter is to try your best to work with a counselor to up the quality of what courses you take. While this is poorly advertised, a degree is ultimately a certification from the certifying body that you have completed their minimal course of study. The set of requirements they lay out front is their default answer, but they can give others. While they will probably be inflexible on the number of requisite credit hours, they're often quite flexible in terms of what those credit hours can really be, and in particular they can be quite flexible in terms of substituting harder courses for easier ones. Consider trying to skip over the intro courses, as that will particularly open up the more advanced tier earlier. Much of the real value of a college degree is in the higher level courses; if you can get there faster, go for it.

I'd honestly think about a dozen times about taking on $50,000-$100,000 in debt right now if that's really the only choice you can find, though. That's frankly catastrophic levels of debt at the beginning of a career. One nice thing about the computer career path is that you will be able to handle it, but even so it's a burden, and if you have any sort of life hiccup this level of debt can become a big problem. I'd seriously consider grabbing a job, doing my best to pocket as much cash as possible, and wait for the post-bubble-pop to get your formal education (taking the previous paragraph even more fully to heart at that point). You may also discover that you do indeed have the discipline to pick up the harder stuff on your own. (The touchstone for that, IMHO, is whether you can teach yourself how to build a compiler; if you can do that, you can probably self-educate just fine.) It's hard to be sure when and if the bubble will pop, so it's a risk, but at this point, so is taking on that amount of debt. Alas, there are no non-risk choices.

So, no quick & easy answers. I'd be suspicious of anyone in this thread who offers one. But the question becomes much easier if you can work out a way to take on substantially less debt, though.


Do it on-line.


I anticipate having to take out between $50,000 and $100,000 in loans to finance a degree.

I hate to say it, but you've been fucked up the ass. It's not your fault, just when and where you are born. The Boomers stole the future and that's why housing and education are so expensive. The higher education industry has been using its gateway to the middle-class job market as a extortion racket for decades, erecting gigantic buildings while depriving the middle class of savings-- sapping parents of the upper-middle-class and putting the lower-middle aka "working" class (sorry, but that's you, if you're worried about $50-100k of debt) into indentured servitude. It's bullshit, it's horrible, it's wasteful, and it's wrong. It's not at all your fault. But we can't change any of that, now can we?

First of all, yes you should go. I actually think you should aim for Stanford or Harvard if you can pass admissions. I'd advise a state school with a full ride over Harvard with debt, but if you're already going to be in debt, you might as well swing for the fences. The quality of education isn't that much better (variations within schools-- of professor, class, and student quality-- are much greater than those between them) but the connections and brand matter, especially if you want to do Silicon Valley or Wall Street.

Degree snobbery is huge, even in software. People don't admit to it, because it's socially unacceptable-- let's be honest, here; even the supposedly meritocratic game of college admissions is 75% socioeconomic status-- but that's the truth. You might be able to establish yourself in front-end engineering, develop independent credibility, and move forward from there. Might. If the market goes south, you'll be one of the first ones sloughed off. Also, when you're 35-- I'm 30 and age comes quicker than you'd think-- you might get tired of typical software bullshit and want to move into R&D, or go for finance, or to become a founder. All of those are going to want to see degrees, and good ones. (UIUC is good, especially for graduate school. Stanford will open the Valley; Harvard's best if you want Wall Street.) Most R&D labs have PhD Bigotry issues, and Wall Street isn't bigoted per se but is just really competitive and the degree can cut you in.

Here's one thing about degrees. I went to a great but not-that-well-known undergraduate college (Carleton, in MN). I do not have a graduate degree (did one year in a math PhD program, left for Wall Street). Now, to be blunt, I'm smart as fuck and top-5% material (probably top-1%) even in the Harvard, Stanford, MIT pool that is chasing venture funding away. If I need to prove my intelligence, I always can, and it's not hard for me. But it is always better to be presumed smart than to have to prove it. Why? Because impressions are made quickly (120 seconds) and it's really hard (nearly impossible) to prove top-flight intelligence quickly without also being socially unacceptable (or, in clearer terms, sounding smart but full of yourself). Better to have your degree talk you up for you; it can be your career wingman. Degrees fucking matter; don't listen to the people who say otherwise. They're divided between people who don't have elite degrees and are deluding themselves or unaware of the opportunities they're missing, and those who do have the degrees but want to downplay their effect (for obvious reasons).

You may want to work for 2 years and build up some savings and work experience (in light of the $60-80k job, if that's available to you). That can also make you "nontraditional" and it can help you in admissions. You may also want to apply for scholarships in that time. I wouldn't take more than 2 years out of education, though, and only for full-time employment is it socially acceptable (in the US) to take a gap year. Non-work, non-military gap years for Americans scream "upper-middle-class shiftless fuck"-- you know, the idiots who "travel" on their parents' dime to "find themselves" and really just drink and slut it up-- even if you're the opposite of that. But you can justify a work gap year or two by just saying, matter-of-factly, that you needed the money. No one will question you further. People who can pay their way though college, this day in age, are impressive as fuck because that ain't easy.

There are also subjective reasons to go to college. Computer science is a really beautiful field and even I find myself wishing I knew more about it. I won't cover them as much. Some people learn a ton without schooling, others go to impressive schools and learn nothing. That one's more up to you. I think the objective case for getting your degree is much stronger.

Good luck. And read hglaser's post. He says a lot of things I would have included in mine but he already covered them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: