
Photo credit: Joshua Earle
I refer to the wonderful article written by Adrian Kosmaczewski titled Being A Developer After 40. It was a delightful read and for those who haven’t yet read it, I’d highly recommend you do so before perusing this piece from me.
Being a fresh Computer Science (CS) graduate from the National University of Singapore, Kosmaczewski’s article invigorated me. Currently pursuing my own tech startup, I am constantly reminded of the value in my CS education and how it will only grow increasingly relevant as we usher in a new technological era.
The computer science curriculum is not designed to churn out software engineers.
With much owing to the startup boom that is now becoming a worldwide phenomena, the past few years have witnessed an explosion of online courses and bootcamps, with some going as far as to guarantee employment at the completion of their three-to-four-month program.
This is a re-emergence of the California Gold Rush in 1849, albeit in a different time, form and scale — the eager students are the miners hoping to strike gold and the coding schools are the ones promising to equip them with the best pickaxes to do so. Understandably, a side effect of this is the perceived erosion of the value attached to a CS education.
Well, the common argument is that the computer science curriculum is not designed to churn out software engineers, like how the political science curriculum is not crafted to groom students into politicians.
While that may be true from an idealistic and academic standpoint, we cannot deny that there are students who take up CS because they aspire to be programmers or that they dream about building the ‘next big thing’. So are these students making a grave mistake by not going for the cheaper, accelerated and streamlined programs which coding schools offer? I certainly think not and the following excerpt from Kosmaczewski’s article elegantly captures the gist of my argument for a CS education.
The reason for this lies in the fact that, as the Romans said in the past, Nil nove sul sole.
Most of what you see and learn in computer science has been around for decades, and this fact is purposely hidden beneath piles of marketing, books, blog posts and questions on Stack Overflow. Every new architecture is just a reimagination and a readaptation of an idea that was floating around for decades.
In CS, we were taught how to fish.
We start off by learning about the ocean — discrete math, the theoretical foundation upon which everything in CS is built. We then learn about programming methodologies, which leads to algorithms and data-structures. That’s where we learn problem solving: how to identify the fishes and what is the most efficient way to capture them.
We also learn about computer organization and architecture along with operating systems which shows the nuts and bolts of our fishing boat. Next comes software engineering, where we collaborate with other fishing boats and use software design patterns and principles to come up with integrated solutions for efficient fishing at much larger scales.
There are of course many other areas a CS curriculum covers, including but not limited to, networking, databases, information retrieval, systems security, programming languages, artificial intelligence etc. Think of them as highly specialized components supporting the entire fishing ecosystem. For instance, networking provides the protocols for fishing boats to communicate and coordinate with each other while system security protects them from pirates.
Most coding schools are goal-oriented and not process-oriented.
Don’t get me wrong, however.
Herein lies the diaspora.
Stay updated on the go with our mobile app.
Get latest insights with smoother, more personalized experience through TIA mobile app.







