Over the past few years, I’ve started to see a multitude of online videos/articles about the weakening value of college, particularly in the area of computer science. Whether it’s Devon Crawford talking about how he dropped out of school or Mashable writing an article trashing CS degrees, the popular view on the internet seems to be “Eh, just learn it on your own.” I’ve struggled with my opinion significantly on this topic, but overall, I think this view is deeply flawed. First, though, I’ll talk about where this view goes right.
Who needs college really?
The argument against a CS degree typically takes two main points:
- You can learn CS on your own
- Any current technologies won’t be taught in school anyway
I think the first point is much less valid than people give it credit for. It’s easy to learn programming on your own, but learning computer science on your own is far more challenging. While programming is perhaps the most critical part of computer science, being a good programmer is a drastically different thing from being a good software engineer. Concepts like proofs, time complexity, and complex algorithms are also crucial to fully developing as a software engineer, and these concepts are extremely challenging to learn on your own. I’ll go more into this idea in the next section.
This next point is actually where I think the aforementioned Devon Crawford gets it right. Colleges simply cannot stay current with state-of-the-art technologies. Take Devon’s example of Kubernetes. Kubernetes is the state-of-the-art in container orchestration, and it has pretty much taken over the container orchestration space, at least in open source. Despite all of this, most universities don’t have classes even touching it, much less actually going into how it works. This is a huge weakness for colleges simply because of how much hiring is skills-based. Having something like “Kubernetes proficiency” is a huge boost to any CS resume, but because of the nature of how long it takes to build and establish a new class, colleges will never be able to keep up.
The case for college
To touch on the self-teaching side of CS, let me provide a personal anecdote:
In my junior year of high school, my programming competition team started to become seriously competitive. We started to place highly at tournaments, and it became clear that if we wanted to reach the next level, we would have to learn real algorithms. It became my job to learn all things graph theory. In the span of a few weeks, I learned BFS, DFS, Dijkstra’s, and Prim’s - or so I thought.
Fast forward to my second semester of college. Now, I’m re-learning all of those algorithms, and I’m realizing just how wrong I was about all of them. For one thing, my old versions of the algorithms all ran in at least n squared time, if not n cubed. Getting a formal education around these has taught me how to do these in linear or logarithmic time. My understanding of them has also far deepened, teaching me how to use them in a variety of different contexts I would have never imagined before.
It’s primarily this experience that has made me understand the value of a formal education. While I “knew” these algorithms before, I now realize how little I actually understood about them. I think idea holds for a multitude of computer science concepts.
To address colleges’ difficulty in teaching new technologies, I actually don’t think that’s the job of the college. The job of the college is to provide the student with the necessary background as to be able to learn new tools quickly. The job of the college is not to teach current technologies, because if it was, those skills would be useless when that tool fell out of favor. The best thing a college can do is what the good ones are doing - provide the students with a solid foundation to build on. If the student has the right background, they’ll be able to learn any tool you can throw at them.
College also provides a multitude of other benefits not listed here including, but not limited to, establishing professional connections, facilitating learning outside one’s comfort zone, and providing a safe space for young people to grow into the world.
While I understand the ideas behind the nay-sayers of college, I ultimately disagree with them. I think that in the long-term, going to college is one of the best decisions you could make.