Do You Actually Need a Computer Science Degree?
The honest answer is 'no, but'. Here is what the 'but' costs, what a degree actually buys you, and how to decide without setting fire to three years and a pile of money.
This is the question that paralyses more aspiring developers than any other, so let us deal with it early and honestly. Do you need a Computer Science degree to get a job writing software?
No. But that word is doing a lot of work, and pretending otherwise helps nobody.
What a degree actually gives you
A good CS degree is not a coding bootcamp with a bigger price tag. It teaches you the theory underneath the practice: how computers work at the metal, why some algorithms are fast and others crawl, how data structures shape what your program can do, the mathematics of computation. Most of this you will never invoke by name at work. But it quietly shapes how you think, the way learning Latin shapes how you read English. When you hit a genuinely hard problem - the kind that makes a self-taught developer flail - the person with the theory often sees the shape of it faster.
A degree also gives you three things that have nothing to do with the syllabus: time to fail cheaply, a peer group going through the same struggle, and a credential that lets some employers and some countries' visa systems tick a box without thinking. That last one is unglamorous but real. Some doors, in some places, are genuinely easier to walk through with a degree in hand.
What a degree does not give you
It does not, by itself, make you employable. I have interviewed graduates who could recite the theory of balanced trees and could not build a working web page or use version control. University teaches computer science; industry runs on software engineering, and those are related but distinct crafts. The degree is the theory. The employability is the projects you built on the side, the internships you did, the code you shipped. Plenty of graduates figure this out too late, which is why "I have a degree and cannot get hired" is a real and painful category of person.
It is also slow and expensive, and for some people that maths simply does not work. Three years and a mountain of debt is a serious bet.
The alternatives, honestly assessed
Self-taught. Free or nearly so, entirely at your own pace, and the honest signal to an employer that you can teach yourself anything - which is most of the job. The catch is that nobody hands you a curriculum, a deadline, or a peer to compare notes with. You have to supply all your own structure and momentum, and a lot of people quietly stall in month three. It works, but only for the genuinely self-driven.
Bootcamps. Intense, fast (three to six months), job-focused, and often with real placement support. A good one can take a motivated beginner to hireable in a way that is genuinely impressive. A bad one takes your money and teaches you to copy a to-do app. The variance is enormous, the marketing is relentless, and the good ones are not cheap. Research placement rates that are verified, not self-reported, and talk to actual graduates before you hand over a cent.
The hybrid nobody markets. Do a degree in something else and teach yourself to code on the side. Some of the best developers I know studied physics, music, or philosophy and picked up software because they could not stop tinkering. A different discipline plus real coding ability is a genuinely strong combination, and you get the credential and the peer group as a bonus.
What employers actually check
Here is the part the debate usually skips. When a competent employer evaluates a junior, they are trying to answer one question: can this person actually build things and keep learning? They answer it by looking at what you have built - your projects, your GitHub, a take-home task, how you reason through a problem in the interview. The degree is a weak proxy for that answer. The proxy stops mattering the moment you can show the real thing.
This is the liberating truth: whatever path you take, the destination is the same. You have to become someone who can demonstrably build working software. A degree is one route there. It is not the finish line, and it is not the only road.
So how do you decide?
Ask three honest questions. First, can you learn hard things without a teacher standing over you? If genuinely yes, self-teaching or a bootcamp can work and will save you years. If honestly no, the structure of a degree may be exactly what saves you. Second, where do you want to work, and do those places or that country's visa rules effectively require the credential? Find out before you decide, not after. Third, what can you afford - in money and in time?
There is no universally correct answer, which is precisely why the question paralyses people. What I can tell you is that the wrong move is to let the decision freeze you. Whatever you choose, you can start learning to code today, for free, while you make up your mind. The degree question does not gate the beginning. Nothing does.
Pick a lane, or pick no lane and just start. The next post is about the very first practical decision once you do: which language to learn - and why you are about to overthink it.
Jako Heiberg
Software developer with 40+ years of building things that work. Full-stack, FastAPI, React. Based in Cape Town, working remotely, worldwide.