This is What Experienced Developers Really Feel about Computer Science University Courses
Computer Science graduate? Well done! You’ve made it through the major with the highest drop-out rates, so where others dropped out you made it through.
Now you’re on the job market. Sure, it’s a difficult time with AI Terminators about to eat our collective lunch but many are finding their pathway into their first job difficult.
So, what is going wrong in our educational institutions if CS grads are unable to get jobs at the end of their courses?
What is causing this, and is this something we even need to fix as an industry?
The Lack of Impact of Degrees On Recruiters
First degrees show that a candidate has a basic level of intelligence. This doesn’t match job specifications which specify the number of years required for a given position.
This pitches top grads against self-taught coders with a single year’s experience, and in this race the single year is better.
“This attitude persists throughout careers.
Recently the only question my new boss had for me was How many years of experience do I have?”.
In my experience across continents, functions, and jobs experience is the only king.
I’m yet to see a software eng. candidate with a Ph.D. in my sub-par workplace but feel sure they’d be rejected due to insufficient “experience” if they didn’t use Kubernetes in a production project. I think we are incapable of even considering the advantages that level of education might bring to the company.
I suspect for consultancies and freelancers the case against hiring candidates with a solid education has been made, and the argument in many companies won.
“We don’t care about education.”
Outside the software industry, this wouldn’t be a good look, but people get away with it in big tech.
What’s Going Wrong With Degrees?
History
When Computer Science arrived on the scene inevitably the courses were rather academically based.
Companies required candidates versed in the day-to-day minutia of software development rather than a rounded education. These companies did not want to organize and pay for their own training, leaving a rather large gap between the available candidates and the roles they were expected to fill.
“Expecting new graduates to be trained in a particular npm package? You might be doing it wrong. Maybe we should just require 10 years of experience for each job posting.”
For their part, they blamed the universities and the lazy software developers.
Modern CS Course Content
The famous CS101 is in place at many institutions to give those on humanities courses a chance of gaining employment after graduation. It’s a course with a high dropout rate at those without the required experience (even though it’s a 101 course) find the material both hard and boring.
“Hard and boring? That adequately describes Computer Science.”
Those with a programming background tackling university CS courses find the first couple of semesters a breeze. Some drop out to start their own businesses in order to get to the code. Some carry on, and realize they only have the basics.
CS courses teach the basics. They also teach logical thinking as an essential. They even work on students' communication and teamwork skills.
“WRONG. We don’t want those skills. We just want coders.”
Where does it keep going wrong?
It really does seem that the tech industry isn’t learning. Iterative improvement? This seems to be a case where we aren’t driving forwards at all, and it sometimes feels like we are going backwards.
“Sounds like Big Tech as a whole.”
What’s Going Wrong With Graduate Candidates?
Chasing the money
There is an expectation that studying CS will bring the big bucks, and this attracts the wrong type of student. To get the best-paying jobs students need to gain years of experience, and the top positions are usually limited to the top few.
If a student is not at a top CS school, some big tech firms aren’t interested. Some students pick their schools on employability metrics rather than any interest in the topics they might learn. If you don’t get into a highly regarded school you might find yourself unemployable.
Encouraging students to look at the $ benefit of courses produces student cohorts who want those big-paying jobs without the passion that the tech companies search for. Students are then shocked at the slog CS can turn out to be. Getting through those first few years can be hard.
Attitude is an incredibly important attribute in students and employees, and is something we should optimize for.
So, why do we tell students that all they need to do to get rich is to study a little bit of CS101?
Math
Math is a divisive subject, and some computing (as opposed to CS) courses swerve the discipline entirely.
The result is a cohort of students who avoid understanding the basics, and enter the job market blindsided and unprepared. It does seem that people haven’t noticed that math is an important part of CS, and speeds problem-solving in the heat of pushing out those features.
“What a shame.”
Perfect scores are not enough
Most struggle through quizzes, homework, and exams. Even those who get great scores soon discover that they are not necessarily proficient at programming, but are rather proficient enough to learn more.
The core work of programming is hard. It’s tough to learn a bunch of new concepts and apply them to a variety of contexts while under time pressure. The realization that you’ve made the choice to work hard and think hard for your entire career can hit hard.
Diversity? Don’t make me laugh
The continuing lack of minorities and women in computer science can’t be solved by inaction on the part of Universities. Universities display slides full of white men to (I’d presume) discourage any other members of society from applying.
A look at computer science departments hammers home the point: for diversity look elsewhere.
Problem-solving
The type of problem-solving required by a computer science major is rather unique, and a learned skill. Introductory courses might only go so far as the most basic programming ideas and ignore critical thinking and problem-solving.
Solving the problem
Fixes that fail
I don’t have all of the answers to these problems. I think that’s OK, as this is a tricky situation that has persisted for decades.
I think the problem is computer science departments aren’t looking for solutions hard enough because they get money from students who drop out.
I’m not sure anyone really cares.
“And that’s the biggest tragedy of all.”
Conclusion
Degrees aren’t respected by the industry, so why would you get one? This article isn’t about devaluing degrees but is a reflection on why software development houses don’t seem to value education at all.
The Secret Developer says this:
“A formal education gives you background on the problems you solve and the issues you face. It puts you in front of many others in the industry, and for the sake of a few years (or some effort part-time) should be a no-brainer. The fact is it doesn’t say as much about those without the qualifications as it does about those with them.”
That’s going to get the comments section going.