For Programming, Is College Worth It?

by Jason Swett,

Today a friend of mine asked me if I had any advice for a cousin of his. My friend’s cousin is about to graduate high school and wants to get into programming work.

Here are my thoughts on how to think about the college/no college decision.

Right Choice vs. Wrong Choice Mentality

Most people seem to view the college-or-not question as a matter of what’s the “right” choice. I think right vs. wrong choice might be a false dichotomy. Neither one is right or wrong, it’s just a matter of what kind of experience you want to have. You can reach your ultimate destination—a programming job—via either path.

Let’s examine the pros and cons of the college route and no-college route.

Pros and Cons of Going to College

I went to college on and off from 2002 to 2007. For me the biggest benefit was unquestionably the social experience.

The best thing about college is being surrounded with a bunch of people who are all at the same stage of the same journey, and being in that situation without “adult supervision” for the first time.

Meeting people at work is usually not nearly the same as meeting people in college. As I’ve gotten older my social circle has shrunk. My free time for socialization has shrunk. My opportunities for meeting like-minded new people have diminished down to almost nothing. College is an opportunity to meet people who will become the closest friends you’ll ever meet. After college, for most people, that opportunity goes away.

One big con of going to college is of course the cost. If you’re not lucky enough to have outside help you’ll be paying student loan bills for a long time after you graduate.

A pro of going to college is that it can of course open up career opportunities. The quality and quantity of these opportunities depends on certain things like how good of a school you go to and how well you network during college.

There are a large number of programming jobs that are equally available to degreeholders and non-degreeholders given enough work experience. I would say most programming jobs. Certain types of companies are more picky about degrees. Big companies and government organizations tend to want degrees.

I wish I had given more thought to where I went to college. My options were limited because my grades in high school were bad. I never cared about grades because I didn’t think about why they mattered.

I’ve learned over the years that going to a prestigious school like MIT or Harvard can have some really serious benefits later on. It’s not just that it impresses prospective employers when you tell them you went to a place like Harvard. It seems like the main benefit of going to a really good school is the network you develop there. You’re more likely to meet someone at an Ivy League school whose dad can give you a sweet job, for example, than if you go to some community college.

Pros and Cons of Being Self-Taught

I don’t know what it’s like to go down the path of a 100% self-taught programmer because although I didn’t complete my degree I did go to school for Computer Science for some years.

I would strongly suspect that you can start your career younger if you skip college. If you start trying really hard to get a programming job right after you graduate high school, it probably won’t take you a full four years to get your first programming job.

On the other hand you might always have a nagging feeling in the back of your mind that you should have gotten your degree. There’s a genuine social stigma around not having a degree. You might always wonder how things might have turned out differently, especially if your career turns out not to be anything that grand. I have personally experienced this sense of lack although it has gone away over time. At this point I’m 100% at peace with the fact that I don’t have a degree.

What Matters More Than a Degree

In college I had two friends who both majored in Political Science. When they graduated, one moved to Washington, D.C. for a job in government. The other got a job at a pizza place.

I know developers who have had boring, undistinguished careers at no-name companies. I know other developers who have written books, get interviewed on podcasts, and get paid to travel the world working for household names. What matters much more than a degree is the level of resourcefulness and ambition you apply to your career. It’s what you do during your programming career, not before it, that determines the arc of your career.

My Advice

What would I say if a high school senior asked me if I recommended going to college? I would say go. The social experience is worth it.

And if you’re going to go, might as well make the most of it. If I could go back in time and talk to my 12 year-old self I’d say this: You don’t want to be stuck in a crappy career your whole adult life. Study how to get into the best colleges so you open up as many career opportunities as you can. Try to get good grades. If you have to do all this stuff anyway you might as well get as much out of it as possible.

3 thoughts on “For Programming, Is College Worth It?

  1. Dave

    While the social benefit is swell, it’s hardly the most important reason to take CS classes in college.

    The reason you take CS classes in college is so you actually learn *CS*, which is different than merely *programming*. Without a background in the fundamentals of computing there are certain classes of problems you’ll simply be unable to solve, unless you explicitly set out to self-learn *CS* instead of just whatever language/framework strikes your fancy. CS gives you a tool chest which you can leverage across multiple programming disciplines, languages, and frameworks. Specifics are great (and necessary), but generalities–the basics–are what make solving problems and future learning much, *much* easier.

    Reply
    1. Vance Foreverscape

      Never took a CS course, I was an art major. Now in a 11 year frontend and backend development career. I try to study CS topics whenever I have time. But a big advantage of having a non-CS degree is that I am knowledgeable on a wide range of topics and learning the domain of problems is very easy to me. I also have a visual vocabulary most of my coworkers don’t possess.

      Reply
  2. Charles E. Grant

    I’ve been working as a developer since 1984. I fully endorse your conclusion that it is not a right vs wrong choice. It does however have consequences for the types of jobs you’ll find, and the career hazards you’ll be exposed to. Because programming jobs have been expanding rapidly, most programmers are young. Most of you have never experienced a major downturn in programming employment. There was the downturn in 2008, but even then programming jobs got off quite lightly. When times are hard, and there is a surplus of workers, companies employ arbitrary standards to reduce the pile of incoming resumes. One of the easiest arbitrary standards for a company to employ is “Does the applicant have a degree in a relevant field?”. In bad markets, the lack of a degree can even outweigh a decade of relevant experience. It’s stupid, but there it is. This doesn’t apply to the current market, but keep it in the back of your head, because the market will eventually turn.

    The choice between college or not also depends on what sort of programming job you want, and there are a lot of different kinds of programming jobs. A computer science degree may be considerable overkill for someone who just wants to build web sites. On the other hand, if you want to work on state the art algorithms for machine learning, you may very well want a Ph.D. in CS or Applied Math. Of course, even at the most bleeding edge frontiers of CS, there have been self-taught prodigies with no degrees. The trouble is, most of us are not prodigies. Most of us can really benefit from a skilled coach or teacher. Self-directed learning is essential in this field, but being all too human, most of us are given to drastically overestimating how much understanding we’ve achieved. That’s what you are really paying for in college: a knowledgeable and experienced critic studying our work and telling us when we are full of shit.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *