I graduated from the Technical University of Budapest to earn a M.Sc. in Software Engineering. Albeit it is supposed to be an asset on my CV I’ll argue below that the long years of university education was just not worth it.
When trying to summarize what advantage university education brought me there is precious little I can think of. Five years is a lot of time to spend without actually getting something out of it for one’s professional career.
Obviously I’ve formed my opinion based on my university experience which might not (and probably is not) be applicable to all higher education. Philosophy, economics and law all require different formation and practice might be harder (or outright dangerous) to attain in some areas (think medicine).
Learn to learn?
Tech is changing extremely rapidly. Today’s hotness could be a thing of the past in a few years. Consequently universities should not try to keep up with the pace and teach students state-of-the-art stuff. Higher education needs to transcend short-term utility and provide a base one can build on for the rest of his career. So we were told or made to believe.
What is probably considered the essence of higher education is “learn to learn”. It is the idea that universities need to teach future-engineers how to quickly adapt to new fields and techniques (programming languages, databases, architectures, etc.).
This is appealing but universities don’t do that. I had to sit through long hours of material not even vaguely related to software engineering. The practical stuff (e.g programming languages) was taught with stone age style methods (programming on paper). The other subjects, those that were supposed to provide us the broad vision, I suppose, were way too much in volume and failed to achieve that goal.
Make to learn
In my current job I’m lucky to work with some guys who dropped out of college and started to work. They might not know about Prim’s algorithm or the intermediate value theorem, but I think the result of the time they spent making things greatly surpass the time I spent learning the above.
Programming (or, in its more CV-friendly, hire-me name: software engineering) is a task that could be the modern equivalent of wood carving. You can learn all that you want about the craft, the only thing that really matters is doing it, a lot. Only, programming is way better. There is virtually no waste (unless you publish what you make :) ) and the tools are more accessible and cheaper.
Take it from someone who, unlike most kiddos at the university, started programming late: it feels awkward and weird at first. And then the second and third time, too. Slowly, though, you start to feel like it’s actually fun and sometimes more than that. You’re building something which you’ll look at ashamedly a few months later but at least your program does something extraordinary, like sorting a list of numbers. That’s science!
Math data constructs, probability theory and cryptography notwithstanding, have you got this feeling of coolness (dare I say, awe) out of university lectures?
Total waste, really?
In fairness, and as a measure to counter my arrogance, I had to consider arguments on the pro-education side, too. Here is what I came up with:
When faced with a programming challenge I can recall on some occasions an algorithm used to resolve a similar problem. That’s not to say you can’t google up a solution if you have a vague idea what to look for. Nevertheless if you can mentally page through the solutions for a given problem from your university classes, their time and space needs and their constraints then you surely save a lot of time. I forgot all the relevant facts about any algorithm and have to look it up every single time, but it could be me.
Deciding on one’s vocation
Most kids don’t know what to do with their life when they are 18. Real life still seems distant and most want a few more years of canteen, beers and idling. Whether it is beneficial for them or society (taxpayers) as a whole to be allowed to do that is another matter. Nevertheless, I’m convinced that a high number of students can have a clearer picture about whether they want to do “computer science” for the rest of their lives after a couple of years.
Even though I reckon you can learn everything you need to know on your own (from the Internet), having a good teacher can squeeze your learning curve. Although I believe this is more attainable with a small group (and even more in a one-to-one, mentoring relationship) it’s definitely possible for an outstanding teacher to speed up absorbing knowledge with a bigger group, too. Unfortunately, with one notable exception, my teachers were not of this type, but that’s a weak argument against college education in general.
Even if all these pro-education arguments are valid, however, a couple of years is surely enough to derive all the advantages they bring. Then, you still have 3 years to go and carve wood.
Let me finally share a quote I’ve just found in Walden by H.D. Thoreau and that summarizes my intent with this post in one swell sentence:
To my astonishment I was informed on leaving college that I had studied
navigation! – why, if I had taken one turn down the harbor I should
have known more about it.
Please defend the status quo (or indulge in bashing it)
As I stated in the introduction, my opinion is just a drop in the ocean, a tiny slice in a big cake, a lone voice in the NY Stock Exchange (you get my point).
If you share your opinion, there will be two voices already and we’ll have more information to decide about whether we should advise our children to go to college, for example. Then three. We may even reach four voices.
Joking aside, if you went to college to learn computer science in Hungary or in another country, I’m interested to hear your opinion. If you studied something else, don’t be discouraged, please share also. My points are mostly valid for computer science but I’m curious to hear which other fields they hold true in (or in which fields they don’t).