Is college really worth it if your goals are to become a web developer?

13 points by Deception12 ↗ HN
I am a high school student and I am currently trying to decide where to go to college, or if I should go to college at all. Over the past 2 years I have found software development to be something that I really enjoy doing. The problem is I do not have much experience as a programmer currently. Now the traditional route would be to go to college, and use the degree to sell myself along with the skills I have learned throughout college. However, I have talked to numerous people, owners of tech companies that say the degree itself is basically useless. Most if not all of them would say they would rather hire someone with experience that knows how to program, than someone with a degree that says "hire me, I have a good education". I found a local school that offers a degree in software engineering, which would be much more relevant than lets say, computer science. It might be a good safety net as well. I think college, if anything, is simply something that reassures you that you will have a decent paying job when you get out. Spending 4 years at a university though is not only expensive, but over 4 years, technology changes. If I learn a hot language while in college, by the time I get out and look for a job with it, it will be outdated. Why not take advantage of it right away? While college may provide a good safety net and give you a framework to work off of, is it really the right choice for a software engineer?

There are quite a few alternatives that I feel could lead to even better job opportunities. Quite a few websites provide the resources to completely learn everything you need to know about programming for a small price. When compared to a college education that puts you $60,000 in debt, it looks like a simple choice to learn it yourself. Also, there are quite a few "programming/developer camps" (Dev Bootcamp/Code Academy) that are basically a few months long sessions, where you learn to program in a specific language in a very short period of time. All of the camps I have looked at are in the LA/San Francisco/New York areas. Basically they are all intense, but you walk out knowing that you have a really good foundation in a programming language or two, and also you are in high demand if you know your stuff. The great thing about this is the networking, most of them have employers that come to the programs towards the end, and there are many guest speakers from tech companies during the program. My thinking is, if I can land even a lower end programming + development position right after the program, I could take courses at a local college on weekends/nights. After four years of that (when all of my friends who go to college graduate). I will have 4 years of programming experience, probably will have had at least 2 jobs, had some experience with college courses, and best of all I will have absolutely 0 debt.

So my question is for all the programmers and developers out there, anyone in the tech industry, or anyone who works with hiring of programmers and developers. Is college worth it? Is going to one of these camps and working on a portfolio to demonstrate your skills a better choice? Or is it best to try to learn it all on your own?

13 comments

[ 0.34 ms ] story [ 33.0 ms ] thread
I think that if you spend 4 years learning web development, going to the relevant networking events, and being active in the local "hacker community", building applications, and blogging about your learning/building process, you will be in a much better position than if you go to college. Both, in terms of skills/knowledge, and debt.

The only downside is that you will be a less rounded person, because you will have missed much of the general and liberal arts education. But, if you are disciplined, and a curious person, this is also something the internet can deliver to you.

Long live the internet.

Short answer: Go to college.

Long answer:

College/university is for three things:

1. College is for gaining formal training in the profession you plan to enter. Foregoing that formal training leaves you without the foundations your profession is based upon, which means that you'll forever be solving problems in a sub-optimal way, leaving a trail of destruction in your wake. If you're looking for job security and high salary and good references, then you need something that elevates you above your peers. By not going to college, you lower yourself below your peers.

2. College is an opportunity to study other fields that you WILL be interacting with in the real world (such as business). That knowledge gives you a massive edge.

3. College is an opportunity to make contacts, which are invaluable as you progress in your career. In fact, I'd say that contacts are THE absolute biggest path to success. If you want to be successful, hang around successful people.

I'd add

4. A college/university degree demonstrates an ability to complete a long-term reasonably challenging task. Even a BA in English Lit is, many years later, demonstrated ability to successfully see through to the end a multi-year project. A decade or two into your career, whatever it ends up being after "web designer" is just a fond memory and a few faded old business cards in your collection, you'll be competing at job interviews with people who may not have that "officially recognised proof of hard task completion" that a degree gives you.

Another vote for go to college.

I'm a senior in Computer Science at the University of Illinois, graduating this May, and a TA for our Data Structures course (as a disclaimer of potential bias).

I've been programming in some sense since I was 10 or 11. I didn't get very far until high school, during which I dabbled in several things and made some neat programs. However, the amount I've improved as a programmer over the last four years is disproportionately more than the preceding 4 in high school, and not only because of time spent.

Here's why I believe college is still valuable for programming:

1. As my father says, "college teaches you things faster than your natural curiosity leads you". Though this explains why classes can be painful, it also means that in four years of college, you learn a lot more than you would in four years of self-driven learning.

2. Interesting programming problems require theoretical knowledge to solve. Not necessarily "cstheory.stackexchange.com" theory, but theory in whatever domain the problem is in (i.e., Software Engineering theory).

3. College puts you in a group of peers who are also learning the same things. These friends are great resources to help you learn more.

4. College gives you immediate, external motivations to learn: programming assignments, grades, peers, the occasional programming competition limited to others at a similar level (so you actually have a chance of winning), etc.

A couple other thoughts on your points:

1. Computer Science is a fine degree to have. If your college offers both CS and Software Engineering, you can of course enroll in either and transfer if you feel you made the wrong choice. But more importantly, don't discount a college because it only offers "Computer Science". As far as I know (and I read a decent amount of CS Education material), the two degrees are fairly similar in terms of content. Good employers certainly don't discriminate there. (UIUC offers two senior level courses called "Software Engineering", and a 200-level course focussed on it.) Also, the "computer science" part of the discipline tends to be the more theoretical and mathematically challenging side. This is the stuff you won't pick up on the job. The "software engineering" side of things, you'll pick up on the job. So focusing on the computer science part during college is probably not a bad idea (although most programs you can learn a good deal of both).

2. Get internships. You can make about $10k a summer after taxes with internships (although getting a good one after freshman year can be hard). This can lower the cost some. Also remember that college is an investment. A good student from a good CS school can reasonably get a job paying $80k/year out of college (rates vary significantly by location and company, of course). Paying back your student loans shouldn't be too difficult. I also have a friend who took a semester off to continue his internship. Doing a bit longer "co-op" such as this can also help with finances.

3. If you really enjoy software development now, you'll probably enjoy studying computer science in college. There are parts of college that suck, but overall I've loved it.

4. Based on the very little I know of you, (posting on HN, thinking about your future, analyzing costs/benefits), you seem like you wouldn't be satisfied at a low-quality programming job. Any company that would hire you out of high school without a lot of programming experience (no offense intended, that described me as well), is not a company you will want to work for a long time. You might not be doing very interesting things, or be working with highly skilled co-workers. You get both of those during college, and immediately afterwards.

I agree with everything you've said, so I wont repeat it. I want to relay my own anecdote to the OP on top of it.

I've been doing professional web application development since 1997, a year after I graduated high school. I'm 34 years old now and still work in the field, but I'm dissatisfied with writing every day code. I solve every day problems for my employer's customers but it does nothing to stoke the fires of my passion for computing and problem solving. I've had a good career. Even living in the midwest, away from major cities, I earn a low six figure salary writing software.

Over time I have slowly come to realize how many ideas I was never exposed to by learning on my own. In my career I have quickly been recognized for my technical ability at each company I have worked at, but I became aware that there is a level above that, which I'm not qualified to be a part of. I found there is a glass ceiling that I cannot break through. The ceiling is not defined by salary, but rather by the intellectual challenge provided by the work and coworkers.

After much reflection, I decided to start college at 34 years old. Last fall was my first semester at my local community college. I continue to work my well paying job, but after this summer I plan to quit and focus entirely on my education. Next year, after I finish my general education classes, I'll transfer to University of Illinois for Computer Engineering.

I have built up some savings, so I'll certainly live more comfortably going back to school now, but I'll lose quite a bit of potential income doing it now verses going to college after high school. I could provide some detailed estimates for this, but I think its self evident.

I guess my point is that if you think you'll want to go to college in the future, do it now. It's much easier, and cheaper, when you're younger. Not to mention the social benefits to doing so.

So, my $0.02. I have a CS degree from a small-ish state university in the midwest and, while I was quite a bit older at the time, I had the chance to observe lots students your age. Here is what I saw:

* The biggest indicator of success in the "real" world was simply drive and determination. Some left school early and have become very successful, one an engineer for Google and one a very successful game developer. Others went on to corporate programming jobs and are doing great. Others went to grad school at places like Carnegie Mellon and MIT, one doing _very_ cool research and another landing as a product manager at Google. What do they have in common, they work hard and are curious. Work hard and be curious.

* College is about much more than a technical/vocational education. Granted I learned amazingly useful CS concepts and gained technical skills. But I also had great classes like composition, public speaking, and matrix algebra. Those classes have easily helped me with my career as any technical class I ever took. Try to find a program with a balance.

* College is about a lot more than the education. Because of great professors I had the opportunity to do undergrad research and present it at conferences. Driving my own research and being the expert on it was an amazing feeling. Presenting it in front of peers was equally amazing. I also had opportunities to become a student leader, organizing events and groups. These are skills that are integral to being a good team member. Find outside opportunities.

So yeah, I was 34, not 18. And yeah, I don't work for Google or Facebook, but I work with damn smart people who constantly come up with awesome stuff.

I am not saying college is for everyone, but if you make the most of the opportunities, it opens amazing doors. You could easily apply the above points to starting your career early and there are plenty of amazing programmers who already have.

Either way, best of luck.

The conventional wisdom (i.e. big, fat lie) that you'll hear repeated when you're in high school is that you have to go straight to college out of high school or you'll never do it. It's completely bogus. I rushed college and grad school. If I could do it again, I would've taken the time to get experience and find out what I was really drawn to. When you have student loans and bills, you don't have that liberty.

Try some things. Talk to the guys at Dev Bootcamp, Code Academy, and Thoughtbot's apprentice.io program. You could even do Dev Bootcamp in the summer and then see if you still feel like you need to go to college. It'll also put you in an ecosystem of people that you can get guidance from.

College will still be there after you graduate and after you test the waters. If anything, getting some good experiences under your belt can only help with getting admitted.

I've been to college, and I vote for college. It's a good way to get quick and broad exposure to things you might not naturally explore; you might not even know they exist. Some people can learn it all on their own, but many people do benefit from the guided approach of college. Maybe you know which one you are.

If you have a nice portfolio (code on github, a site or app, etc), then you might land a good job where you'll learn. If not, maybe not. Either way, try to get jobs where you learn.

As for college expense, there's nothing wrong with community college for the first year or two to get rid of your low-level non-major courses, then transfer to wherever for the rest. Be sure to talk to counselors at wherever, to know what courses they'll accept as transfer. You'll graduate from wherever, and that's what you'll put on your resume.

20 years ago web designer was not an occupation. 20 years from now web designer will no longer be an occupation. What you learn in a serious, traditional CS program (not an IT school!) will last a lifetime.
I've been to college, and I disagree with most of the previous comments.

College is antiquated and has limited real world value. The only value that could translate: getting connected to many different people. That could easily be cultivated in a startup area like Silicon Valley or Austin.

I think it was a waste of time (and a little money). The six figure job I have now hired me before asking if I even went to college. (They didn't even have a "check the box" for 4 year degree on the app).

Education is changing quickly and I believe there will be many different ways to get credentials (like Udemy/ Udacity) that will prove to have much more practical application.

Keep learning. Take a course because your interested in it, forget the degree.

Is college worth it?

-> Yes.

Is going to one of these camps and working on a portfolio to demonstrate your skills a better choice?

-> Yes.

Or is it best to try to learn it all on your own?

-> Yes.

You see it's better we find a balance between all these.

Funny, I was just having this conversation today. With three daughters, of course I'm asking this question. Here are my thoughts:

I would go to College, but I would be picky about which one you attend. And I would spend half if not more of my time studying things like sociology, psychology, philosophy, marketing, finance, graphic design and history. I've been a programmer for over 20 years, a manager/programmer for over 10 and a CTO/VP/manager/programmer for over 5, and now I'm a Founder/CEO. If it wasn't for my time in college learning things other than computer science (luckily Notre Dame "required" a broad and rich program be completed to graduate) I would still be just a programmer. So the ROI for college, at least for me, was way positive.

I'm not saying you need to stay there four years, but suck everything out of it you can. It is one of the few times in your life where you will be surrounded by people who know tons of stuff about all sorts of crazy things and they really want to tell you about it. And who knows where insight will find you.

Today, to be a really great programmer and get to the point where enough people will follow you to start a company of your own, you have to be able to collaborate across every discipline, and you need to be able to channel your customer. Which means you need to be able to communicate, and the more you know the more likely you will find empathy with them. Innovation wins, and studies have shown it comes more frequently from a collaborative group than a single individual. So, go to school to learn about the world and what it contains, to learn how to learn, to meet chicks and to test your bounds. Go to college to become a renaissance man and change the world.

Honest answer: No, but college will increase your opportunities and marketability.