Here's what you really learn in a computer science degree.
For a video version, click here.
I spent 3 years and $30,000 on a Bachelor’s degree in computer science. I majored in data science, since it was this sexy, in demand career that everyone wanted to pursue.
After spending this kind of time and money on a degree program, you’d expect to come out of it and be prepared for a job, right?
Like, you’d expect to have the skills necessary to get an internship, correct?
My computer science degree did not prepare me to get a job in the field.
I ended up having to spend hours outside my university classes - taking online courses, teaching myself how to code, and doing side projects.
And it isn’t just me.
Almost every single computer science graduate I’ve spoken to has also taken a bootcamp. Or multiple online courses. While pursuing a degree in tech.
Which then leads you to ask the question… why?
Why is this happening? And if degrees don’t actually prepare you for a job, then what is the point of doing one in the first place?
In this article, I’m going to break down to you:
- What you actually learn in a computer science degree.
- The disparity between computer science degrees and the skills required to do the job.
- Is it worth pursuing a computer science degree in 2023/2024.
Firstly, what do you actually learn in a computer science degree?
I went into my computer science degree thinking that I’d actually learn to build websites, machine learning models, or some kind of end product.
But this wasn’t the case.
I actually ended up learning theory. I had classes in computer architecture, data structures, statistics, and discrete mathematics. I was writing formulas on paper and cramming theoretical concepts before exams.
I had no idea how any of the statistics I was learning would translate into a data science application.
Although we did have some classes that taught us to code (Java, C++, etc.), these classes were always the means to an end. They never actually taught us enough to build anything.
In fact, nobody in my computer science degree could build a single web application or a functional machine learning model with university classes alone.
While the coding classes did teach us some syntax, it didn’t teach us programming.
It’s like we were given these puzzle pieces, but nobody told us how they fit together. We weren’t taught how to build anything of value. And you need to be able to build end products if you want to land a job in tech.
It became increasingly obvious to me in my second year of university that I didn’t have the skills necessary to land a job in the field.
Since I wanted a data science job, I went online and took a bunch of courses in programming and analytics. I then spent hours every day on side projects, teaching myself job-specific skills.
But...Why is this happening?
Why are computer science classes not preparing us for jobs in the field?
Firstly, as we’ve established, there is a disconnect between computer science classes and the skills you need to get a job.
Computer science degrees teach you math, theory, and foundational computer science principles, instead of teaching you skills to get a specific job.
They don’t actually teach you to become a programmer.
Degrees don’t teach you about the frameworks you need to know to build a website or a machine learning model.
And this is because the tech industry is changing so fast.
There is always going to be a new language or framework that comes up. It is difficult for degrees to keep changing their syllabus to adapt to the job market.
Instead, they choose to teach you core computer science and math concepts. That’s essentially what you learn throughout the 3-4 year degree.
And while these core concepts are important, they aren’t really needed for you to get a job. If your only goal is to get a job in tech right away - if you want to start working and start making money as soon as possible - I just don’t think a computer science degree is necessary.
For instance, if you want to become a web developer, you don’t need to know calculus. You just have to learn a couple of programming languages, and you can start building.
Also, keep in mind that in a computer science degree, you are learning from people who have never worked in industry before. In fact, my professors were mostly researchers. These are people who have never actually had a job in tech themselves.
At least, not for the past ten years or so.
How are these professors going to teach you to get a job in tech, when they haven't had an actual job in industry themselves?
In my opinion, that is one of the biggest differences between online courses and computer science degrees.
Online course instructors are industry experts. They have actually worked in companies like Google and Microsoft before. And they are teaching you to do the same.
With a computer science degree, this element of real-world experience isn’t there.
It’s somewhat like they’re teaching you to drive a car without actually getting behind the wheel.
Is it worth doing a computer science degree in 2023?
Whether you want to become a web developer, data scientist, or software engineer, is it worth doing a computer science degree in 2023?
Personally, knowing what I know today, I would not go back and do a computer science degree.
One, it’s really expensive. Unless you live in a country with free or affordable higher education, it’s really not worth the money.
Two, I just don’t think it’s worth the time.
I would rather take the self-taught route or a bootcamp for a fraction of the time and cost, and go out and get actual industry experience instead.
Finally, you can learn everything you need to know online, at a much lower cost.
I have worked with data science managers who are self-taught. And I know people with Master’s degrees who are unable to solve business problems with data, because they lack industry knowledge.
Today, the number of online resources available at your disposal is like never before.
You have Harvard courses like CS50 to teach you the fundamentals of computer science for free. Udemy and Udacity have a sea of courses that teach programming, SQL, data structures, and even machine learning.
edX and Coursera have online learning paths from some of the most prestigious universities in the world, which you can also get for free.
If you want to get into data science or machine learning, Khan Academy and 3Blue1Brown will teach you mathematics and statistics.
So why spend so much money on a degree?
In my final year of university, I was actually skipping some of my computer science classes. I wouldn’t show up to class. Instead, I was using that time to take online courses and to do side projects. I used that time to create my data science portfolio. These hours of practice taught me so much more than my degree ever did.
That being said, however, there are some advantages to doing a computer science degree. I don’t want to discredit them altogether.
Advantages of a computer science degree
If you are someone who needs structure and isn’t disciplined enough to self-study, then it’s better to just get a degree. Otherwise, you’re never going to end up learning anything yourself.
Another reason to do a computer science degree is if you want to go into academia. If you ever decide to specialize - to get a Masters degree in fields like CS or data science, a computer science degree will help you get there.
Finally, degrees do help a lot in getting your first job. They help get your foot in the door. You establish new connections and build a network of other tech professionals who can get you future opportunities.
Computer science degrees also partner with tech companies when scouting for potential candidates, which means that you'll find it easier to land your first job with the help of your university.
Your chances of getting noticed by employers is much higher if you were to do a university degree.
In my case, I got my first data analyst job outside of my university.
An employer liked my online portfolio, interviewed me, and I got an internship. They didn’t even ask about my degree or my grades. They saw my portfolio, saw that I was able to do the job, and hired me.
So in my case, it didn’t really matter. My degree did not help all that much in me getting my first job.
If you are on the fence about doing a computer science degree due to time and resource constraints, I hope I've managed to convince you that it isn't your only option.
I have worked with some brilliant people in tech, who are directors and managers of entire data science teams, who don't have computer science degrees. And I also know computer science graduates who are currently unemployed or working in an entirely different field because their degree alone did not teach them enough to land a job.