top | item 7253501

Ask HN: Should I attend college?

21 points| ruswick | 12 years ago | reply

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?

87 comments

order
[+] hglaser|12 years ago|reply
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.

[+] capkutay|12 years ago|reply
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.
[+] ronaldx|12 years ago|reply
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.

[+] drewblaisdell|12 years ago|reply
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.

[+] hackNightly|12 years ago|reply
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.
[+] peter_l_downs|12 years ago|reply
> 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.

[+] drewblaisdell|12 years ago|reply
> > 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.

[+] ronaldx|12 years ago|reply
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.

[+] microtonal|12 years ago|reply
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.

[+] TrainedMonkey|12 years ago|reply
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.

[+] mtravis|12 years ago|reply
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.

[+] mcintyre1994|12 years ago|reply
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.

[+] Jach|12 years ago|reply
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.

[+] catinsocks|12 years ago|reply
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.

[+] bpyne|12 years ago|reply
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.

[+] capdevc|12 years ago|reply
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.

[+] knappador|12 years ago|reply
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.

[+] snowwrestler|12 years ago|reply
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.

[+] Haul4ss|12 years ago|reply
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.

[+] mkoryak|12 years ago|reply
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.

[+] ruswick|12 years ago|reply
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.

[+] dsk139|12 years ago|reply
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.

[+] decentrality|12 years ago|reply
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.

[+] dkural|12 years ago|reply
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.

[+] bgar|12 years ago|reply
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.

[+] raverbashing|12 years ago|reply
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.

[+] blueblob|12 years ago|reply
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.