Why Computer Science Students Are Struggling To Find Jobs

How the pandemic, rising enrollment, and AI have reshaped the job market and led to less capable university graduates.


Cover Image

Once seen as a gateway to a “guaranteed job,” computer science has recently become a seemingly less secure path for students and recent graduates.

Just a few years ago, landing a software development internship seemed straightforward—being likable, eager to learn, and maybe having a personal project would often be enough to get you in the door.

However, the effects of the COVID-19 pandemic, skyrocketing enrollment in university computer science programs, and rapid advancement in AI have all converged to reshape the job market.

Though these factors might seem remote and out of students’ hands, there’s an unsettling reality that has been widely ignored: despite the broad availability of technology, the average capability of students remains unchanged—or may even be declining.

From my experience as a student at Carleton University, I believe it’s more than just the changing job market that has made the journey from student to software engineer more challenging—it’s the impact of overcrowded university classrooms, weakened student communities, and impact of AI on education that have all contributed to this decline.

Additionally, many computer science students misunderstand how computer science actually connects to the tech industry, confusing it with applications like software engineering or data science. This disconnect leaves them unprepared for industry demands and confused at why having only a computer science background may not be enough to find a job.


What’s Happening To The Industry?

The tech industry has undergone massive changes over the past few years and notably quite a few significant waves of layoffs.

The following is a graph showing new developer postings on Indeed [6]:

indeed-jobs

Between 2021-2022 we saw a massive spike in new jobs as companies tried to raise headcount to meet newly projected growth.

However, as the world returned to normal, the industry faced mass layoffs and ushered in a period marked by a significant decline in new developer job postings.

Impact of Mass Layoffs on Young Professionals

As industry giants cut tens of thousands of jobs, many of these displaced workers—often seasoned and highly skilled—shift their focus to smaller tech firms, startups, and mid-sized companies.

Traditionally, smaller companies have been a fertile ground for entry-level opportunities. However, with the influx of experienced professionals seeking new roles, these positions are now being filled by candidates with years of experience, leaving fewer opportunities for recent graduates.

In this period of low developer demand, seasoned professionals are willing to accept lower pay or junior titles to remain employed, further diminishing the chances for new graduates to secure their first job.

Additionally, in a world with so many full-time layoffs, it’s extremely difficult for companies to justify hiring interns.

Internships are often seen as a way to build a pipeline of future talent, but due to economic uncertainty, companies are prioritizing immediate survival over long-term planning.

This further narrows the path for students and recent graduates, who rely on internships as a critical step toward securing full-time employment.

AI’s Impact on Entry Level Developer Jobs

The reality is that AI does not fully replace developers—at least, not yet.

Today, AI is simple a tool that saves developers time, kind of like how a calculator saves time in performing complex calculations. According to the 2024 Stack Overflow survey, 81% of developers agree that AI significantly boosts productivity [7].

Although it does not fully replace the duties of an entry level developer, it is able to generate code that could have previously been delegated to interns or new grad level employees.

While AI isn’t replicating the exact work developers do, its ability to enhance efficiency means that if developers become x% more productive with AI, companies may start considering reducing their developer headcount by a similar margin.


What’s Happening To University?

Although the pandemic, AI, and other factors have profoundly influenced the current state of universities, computer science was already on its way to becoming an overcrowded program.

The average number of undergraduate CS majors at universities in the U.S. and Canada tripled in the decade after 2005 [3], and its only continued to grow. At Carleton University, we’ve seen the program’s population triple from 998 in 2013 to 2791 in 2023 [8]

Meanwhile, the increase in the number of tenure-track faculty and teaching faculty in no way matches the growth in the number of undergraduate CS majors [3].

To add more complexity, university programs must now accommodate a broader range of prior programming experience.

The increasing simplification of technology for everyday consumers has led to a surge in students with limited tech literacy entering these programs. Additionally, more students are enrolling primarily for financial incentives rather than out of genuine interest.

The influx of less capable and less motivated students is overcrowding classrooms, straining resources, and stretching faculty time thin. To cope with these overpopulated classrooms, course assesments are often designed to prioritize minimizing marking time over giving students creative freedom or meaningful feedback; diminish the quality of the university experience and leaving students less prepared for the job market.

The reality is it with limited resources, it’s nearly impossible to support both students who have never written code and those who started programming at increasingly younger ages.

Increasing Lack of Tech Literacy

Although we are seeing students with increasingly more prior programming experience enter university, what you might not expect is that we are also seeing students with increasing less experience join these programs as well; some who have never even written a line of code.

As technology has become more widespread, it’s also gotten simpler.

At Carleton University, I now meet incoming students who have never used Windows or heard of “file explorer”, cannot install required Software on their own, and have only been using ChromeBooks and IPads up until they made it to university.

It would not be an exaggeration to say students with this level of experience are a year or even two behind the average student being admitted.

Students who have to spend their first year catching up on base knowledge will opt for less demanding course loads, will not have as much time to participate in student leadership roles, work on side projects, or many of the activities that can be leveraged in internship applications.

Although university computer science programs have always been structured under the assumption that students have near zero incoming programming experience due to a lack of standard programming education in secondary schools, many universities have not yet pivoted so far as to accommodate these low levels of experience.

Experienced Students Being Systematically Held Back

Due to a lack of standard programming education in secondary schools, university computer science programs are designed under the assumption that students have near zero incoming programming experience.

This means regardless of your previous experience, most programs in the US and Canada start from the “kindergarten” level equivalent of programming.

Most would agree that the “average” student today has some prior programming experience. These more experienced students find themselves being forced to take introductory courses they are already capable of completing, leading to frustration and disengagement. As a result, these students may become complacent, feel like they’ve wasted their money, develop bad habits, and stop attending classes.

Unfortunately, very few programs offer pathways for students to advance beyond the basics in their first year. To make matters worse, overcrowded class sizes have led faculty to prioritize assignments that are easier to grade over those that encourage creative thinking.

Impact of Rising Enrollment on Education Quality

It is widely recognized that smaller class sizes enable more individualized support, foster stronger connections with faculty and peers, and offer enhanced opportunities for hands-on learning.

As computer science enrollment has grown without a corresponding increase in faculty, the surge has strained resources, particularly in first- and second-year courses, where large class sizes have become the norm.

At Carleton University, all required computer science courses from first to third year have anywhere from 75-100 students to register per section, with multiple sections for most courses.

In my first year, the mandatory course “COMP 1405: Introduction to Computer Science” had three sections of over 100 students each; as of 2024, it has expanded to five sections. At Carleton, most students won’t attend a computer science class with fewer than 100 students until third or even forth year of a four-year program.

In response to these pressures, the nature of assignments and exams for these classes have continued to become increasingly prescriptive. To handle the sheer volume of students, faculty design tasks that are straight forward for teaching assistants to grade and require giving students limited feedback; sacrificing the quality of learning for the sake of manageability.

To patch over the shortage of faculty, Carleton resorts to letting undergraduates, some as early as their second year, become teaching assistants purely based on grades, without any interviews to gauge their teaching ability or communication skills.

The result of rigid assesments is that students not only miss out on developing critical thinking skills and original ideas about computer science, but they also struggle to distinguish their university education from their high school experience or what they are able to access for free online.

Especially with the pandemic leading to more recorded lectures, the reality is that for introductory level courses, there are hundreds of free better produced pieces of educational content already accesible online. A great example of this would be Harvard’s CS50, a free online introductory computer science course.

The lack of depth and engagement in coursework leaves students unable to fully appreciate the value of higher education, diminishing their ability to make the most of their university years.

Without opportunities to explore and challenge ideas, students may leave university unprepared for the complexities of the real world, and most will graduate today without ever having had an original idea about the field.

AI’s Impact On Computer Science Education

The integration of AI into education has brought significant benefits, but it has also led to a surge in cheating, particularly with the aforementioned assignments that are designed to have specific solutions.

Tools like AI-powered code generators can produce correct solutions with minimal effort, allowing students to bypass the learning process entirely. As a result, many students are submitting work they did not genuinely understand or complete on their own.

This poses a serious challenge for educators who rely on assignments that prioritize marking speed to assess students’ grasp of fundamental concepts. The traditional approaches to grading and evaluation are becoming increasingly ineffective, as it’s harder to distinguish between students who genuinely understand the material and those who simply know how to prompt an AI for the right answers.

In the coming years, it will be pivotal that educators rethink how they design assignments and assessments, emphasizing critical thinking, creativity, and problem-solving over rote memorization or standard solution patterns.

Damaged Student Community

The impact of COVID-19 on the student community extends far beyond just missing out on social gatherings or in-person classes; it disrupted one of the most vital aspects of university life—the informal networks and relationships that form the backbone of career development. In many ways, the student community is as crucial, if not more so, than the courses themselves.

Upper-year students serve as mentors, offering job and career advice that goes beyond textbooks. They provide insights into navigating the job market, tips on acing interviews, and even guidance on which faculty to target or avoid. Without these connections, underclassmen miss out on a wealth of knowledge that can be pivotal in securing internships and job offers.

Moreover, fellow students are not just classmates; they are potential future coworkers, business partners, or even the key to your next job opportunity. The value of referrals in the tech industry, for instance, cannot be overstated. Many students find their first roles through peer recommendations, and these relationships can lead to lifelong professional networks.

I would not personally be as successful as I am today without the help and mentorship of those I had around me in first year. When asked “what I’d be doing that upcoming summer” in my first year, I’d initially replied that all I was hoping for was some kind of “unpaid volunteer tech position”. It wasn’t until upper year students made it clear that I could achieve more that I did secure a legitimately paid software job that summer.

Students who started in the Fall 2020 and Fall 2021 COVID years, had significantly less chance or ability to meet upper year students the way I did, and as a consequence, they have not inherited the generationally transferred advice one would expect by partaking in a university program. When we returned back to in-person in Fall 2022, most of the students who had this generational advice were nearing or had graduated. There was a significant demographic of students from Fall 2020 and 2021 that had never heard advice about “adding personal projects to your resume” or other essential strategies that can make or break a job application.

This gap in knowledge has left many students unprepared to compete in a job market that increasingly demands not just academic excellence but also practical experience and a well-rounded skill set.


CS Is NOT Employable By Default

Many computer science students misunderstand how computer science actually connects to the tech industry and don’t understand why having only a computer science background may not be enough to find a job.

While a computer science degree provides a crucial foundation, the theoretical knowledge of a cs degree does not give students the industry-specific skills needed in the current job market.

Although there are jobs in tech, the majority of these jobs are for Software Developers, Data Scientists, Security Analysts, etc. not “computer scientists”.

Computer science is merely the foundation for these fields in the same way math is the foundation for physics and physics is the foundation for chemistry.

foundations

As a software developer, the way I describe my position is that I’m essentially a mechanic.

Alike to the way a mechanic builds and repairs a car with various components like wheels, engines, and brakes; Software developers build software by writing code that combines components like user interfaces, databases, and payment systems.

A computer scientist on the otherhand would be the one to develop new optimized algorithms or technique to improve or create new underlaying components and technologies software developers use.

Today’s computer science students are graduating with very little knowledge of what “components” make up software.

You could think of it kinda of 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. The same can be applied for other domains like AI, Networking, Security, etc.

For computer science students to thrive in today’s job market, they must recognize that their degree is a starting point, not a destination. Gaining hands-on experience through internships, side projects, and industry-relevant coursework is essential.


Conclusion

The landscape for computer science students and recent graduates has changed dramatically over the past few years. The once straightforward path to securing internships and full-time roles in tech has become increasingly challenging due to a confluence of factors: the pandemic’s long-lasting effects, the explosive growth in student enrollment, the evolving demands of the tech industry, and the rapid integration of AI into education and development.

To adapt, students must recognize that just completing your degree is no longer enough to find employment. They must proactively seek out opportunities to gain experience, build connections, and develop a deeper understanding of their field. Universities, too, need to reassess their approaches, ensuring that their programs are not just accessible but also rigorous and relevant in a rapidly changing world. Ultimately, those who can navigate these complexities and evolve with the industry will be the ones who succeed in the tech job market of tomorrow.


Sources:

  1. Lucy Handley, Major multinationals are postponing ad campaigns and slashing marketing budgets, new report finds, CNBC.

  2. Shirin Ghaffary, People are using Facebook more than ever during the coronavirus pandemic — but its business is still taking a hit, Vox.

  3. Phenomenal Growth of CS Majors Since 2006 - Computing Research Association

  4. Ian Bogost, Universities Have a Computer-Science Problem, The Atlantic.

  5. Natasha Singer and Kalley Huang, Computer Science Students Face a Shrinking Big Tech Job Market, New York Times.

  6. Tweet by @gaybearres.

  7. AI Developer Tools - Stack Overflow Survey 2024.

  8. Carleton University Institutional Statistics Student Data