2.2. A CS Degree Doesn’t Guarantee a Job
Ask yourself, have you ever seen a job posting for a "Computer Scientist"? Probably not.
While a computer science degree provides a critical foundation, on its own, it does not make students employable in the tech industry.
Although there are many jobs in tech, the vast majority are for roles like Software Engineers, Data Scientists, Security Analysts, and Site Reliability Engineers—not “Computer Scientists.”
A lot of students enter computer science programs and graduate without ever properly understanding this distinction. They believe that simply getting a CS degree is enough to secure a job in tech. But that was only ever true during periods of explosive hiring, and it’s no longer the case.
To make it in today's job market, it's really on you "the student" to fill in your gaps for your desired career path with real applied experience and practical skills.
Chapter 5 of this book will cover how to do that, but for now, it's important to understand that computer science is a foundation, not a career.
A Lack of Societal Understanding
A key reason many computer science students are struggling to find employment is due to a lack of understanding of what computer science and software engineering are and how they differ.
With computer science being a relatively new field, and given the rapid changes in the responsibilities of positions in the industry, most people including those pursuing a degree in computer science have a limited understanding of what the different roles in tech actually do.
From an early age we are taught about traditional careers like doctors, lawyers, and teachers and have a clear understanding of what those roles entail. However, computer science is often seen the path to becoming a "programmer" or "coder," which is a very narrow view of the field.
Most students do not have a clear understanding of what career they are actually pursuing. This leads to a lot of confusion and frustration when they graduate and realize that they are not qualified for the jobs they thought they were.
Despite computer science being a foundation, the path to becoming a software engineer is different from the path to becoming a data scientist, and students need to understand that they need to take different steps to prepare for each of these careers.
CS Graduates are Not Software Engineers
As explained in chapter 1.1, software engineering is an applied discipline that builds on the theoretical foundations of computer science. It focuses on developing, testing, and maintaining software systems.
The best way to understand the difference is through analogy. As a software developer, I often describe my job as being like a mechanic.
A mechanic builds and repairs cars using familiar components like engines, wheels, and brakes. Similarly, software developers build applications by stitching together well-known components like databases, user interfaces, APIs, and cloud infrastructure.
A computer scientist on the other hand, is more like someone who invents better engines or discovers a new way to make tires. They work on foundational tools and techniques that others use to build systems.
Most computer science students today graduate without even knowing what these software “components” are. They don’t understand how a full application is assembled, how data flows from the frontend to the backend, or how to use real-world tools like Git or Docker effectively.
Think of it like this: A software developer who doesn’t know the components of software is like a mechanic who doesn’t know what parts make up a car.
Why would you hire a mechanic who can’t identify an engine or a tire? Yet that’s the situation many CS graduates find themselves in.
This problem extends beyond software development. It also affects students who want to enter fields like AI, cybersecurity, networking, or systems administration. Without hands-on knowledge of the systems and tools these fields rely on, students remain unprepared to contribute in real jobs.
The Degree Is a Starting Point
To succeed in today’s job market, students must treat their computer science degree as a starting point, not a complete path to employment. Understanding how computer science connects to actual careers—and filling in the gaps with practical experience—is what turns a student into a competitive job applicant.