This is a very common question. Is a Computer Science degree required to be a programmer and get a job? The answer will surprise you.

The idea behind this question is actually another question. How do I get a programming job? Usually this is about landing a first job as a programmer or web developer.

So let’s get right to it.

College Degree, Yes Or No?

The answer is both.

At this point you are thinking, how can the answer be both?

In a moment, I’ll explain everything.

How I Learned To Code Without A Degree

But first, I’d like to tell you how I learned to code. When I was 11 years old I decided I wanted to make my own video games. This was 1995 and we had a new computer that I thought was the coolest thing in the world.

Side note, computers weren’t cool in 1995 and AOL was at version 2.0. This obsession didn’t help me get dates or make friends or even make money. It was a great way to be a nerdy outcast.

Now, I didn’t know anybody who could program computers or where to start, so I convinced my mom to buy me Teach Yourself C in 21 Days. I read all 960 or so pages and practiced and I could write my own programs!

Then I Went To College

Years later I went to college and ended up getting a degree in Business Management with minors in Computer Science and English. I went to the University of Nebraska - Lincoln.

For many years I was the best programmer I ever met (I never met a lot of programmers). By the time I was looking for real work I’d been writing code for a decade.

Over the years my lack of major in Computer Science hasn’t hurt me because I can write code. I’m a very capable programmer.

However, this might not be the best route for everybody. Most people don’t practice as hard as I do and haven’t obsessed about code for as long. They are at a disadvantage.

Why A Degree Won’t Teach You To Code

So back to the original question, do you need a Computer Science degree to be a programmer. No, you don’t. I was an excellent programmer before I ever went to college. I didn’t need to take college classes to learn how to code. That is part of why I ended up with a business degree.

Yet, if I didn’t know how to code before I went to school, a Computer Science degree would have been a better choice. That would have forced me to learn something about code from doing the homework.

But, and this is important so pay attention, college courses are among the worst ways in the world to learn how to be a programmer.

Professors Aren’t Professional Programmers

They are usually researchers with no real world coding experience.

Most people who teach Software Engineering have never worked on a project of more than a few thousand lines of code. They’ve never worked on a production system, or in a team setting with real business needs.

Learning to code in a college setting is akin to learning about relationships from somebody who’s never gone on a date or held a long term relationship. Code is something you have to practice to understand and get good at.

So, if you want to learn to be a programmer, you need to write code and build things. That is the skill.

College classes are not the best way to do that. Going to your computer every day and writing code is the best way to do that.

So What Is The Value of College?

You might think, so what is the point of college then? As my parents so eloquently put it “to get the piece of paper”.

When it comes down to it, a bachelor’s degree in Computer Science is a credential. That’s it. It allows you to sometimes get a little further in job interviews.

A degree doesn’t guarantee a job. Unless you go to Harvard, Stanford, or MIT your choice of college doesn’t mean anything at all. Most people with Computer Science degrees can’t code their way out of a paper bag.

But, a degree is a very nice checkmark to make it easier for someone to hire you. It’s as important as wearing a nice suit to an interview and having a strong handshake when you meet someone. It helps a lot, but it doesn’t close the deal on its own.

Most of the time, a college degree is like the buy in to a poker game. It gets you in the game, but the rest is up to you.

A Simple Approach

My advice to anyone wanting to be a software engineer, programmer, web developer, or any other related field is simply this…

Go write code. Right now. Every day.

If you enjoy doing that, then getting a college degree can help land a job. But, get the degree as cheaply as you can. Taking cheaper classes at community college and transferring to a cheap state school is a lot smarter than going to a liberal arts school at 2x or 4x the price.

Pretty much all colleges carry the same prestige to most hiring managers (almost zero). Paying extra for a fancy college is stupid and useless.

Now that I’m slowly climbing off my soap box let me close with this…

If you enjoy writing code, chase after your dream and build what you want to build. You have my permission to do that.

You don’t need a degree to make your dreams real. Sometimes it helps, so I would encourage you to do that in a sensible way.

The thing is, you better enjoy writing code. Otherwise you are better off being a doctor, lawyer, accountant, or engineer. Programmers write code. You don’t need a degree to do that.

Now, go write some code!