Thoughts On University Education
Recently, we've been looking for interns for my company. And we're currently expanding our staff for the second time. I took that as an opportunity to think about the state of education. Here are some of my thoughts.
I've been working at a technical university for the last 5 years before I joined Broken Rules. I've also been part of the committee that shaped a new curriculum for a university of applied sciences some months ago and lectured at a number of universities. I'm still teaching game design and prototyping courses at the Vienna University of Technology. During the years at the university I've done my best to produce bright and open students. Students with a passion for computer science and new media. This article is written from the perspective of an indie developer that runs a flat company. Small companies have specific recruitment needs. While there are highly specialized startups that require employees with very specific capabilities, the majority of small independent games companies needs generalists. In my company, we're all wearing exquisite collections of hats. Most of the local games companies are small to medium sized. The same holds true for web startups and content providers. That is a European tradition. Local universities should produce a workforce for local companies. Nowadays, our European economy builds on innovative small businesses – even if they get sucked up by large corporations. So why not focus education on their needs?
No More Programmers
Educating generalists means that we don't teach programmers. Most of the brilliant programmers I've met are great despite their education, rather than because of it. They were not spoiled by mediocre programming courses they had to attend at uni. They were self-taught and quickly included the knowledge they acquired in the structured environment of the educational system into their rich private pool of knowledge. Yet they profited particularly from the few high level courses that a university offers. It is ironic that highly specific courses advance the generalists the most. Similarly, focussing on one computer language, no matter which, is wrong. Someone who receives a master degree from a university in a technical curriculum must have a thorough understanding of programming that goes past the ability to work in a specific language. If you show him a PHP script he should be able to edit it within seconds, even if he's never seen PHP before. He should immediately recognize that Clojure is a LISP dialect. And he should be taught OOP with all its pitfalls and flaws. Even if he's hired as a C++ programmer, I would expect him to write a Python script when it's appropriate. As an indie we rarely hire pure programmers. Most of my team is made up of designer-engineers. We could invent a new word for us: Designeers. We need an education for designeers rather than one that isolates engineering from design.
A New Foundation
In my personal opinion, a solid footing in the history, theory and practice of information science is the best basis for developing deep interest in computer science. Whether it is the history of computer systems, mathematics, information theory, theoretical informatics, or the social implications of information systems, a strong background in the science part of "computer science" is crucial for becoming a generalist. In order to nourish the interest in all things digital, the social ties between students need to be strengthened. A lot of Scandinavian universities excel in this aspect. The german speaking countries with their German tradition of studying are less inclined in supporting the social side of learning. I could ramble on for hours about the architectural differences between the ITU in Copenhagen and the Vienna University of Technology. Suffice it to say; we could learn a lot from Finland and Denmark.
It's The Money That Ruins Everything
During the last years, more and more of my students took on jobs during their studies. Nowadays, there are hardly any full-time master students anymore. While it is important to learn how to work and to apply your knowledge, I still think that it dilutes their studies. Maybe it was the transition from a single 5-year Master curriculum to the Bachelor/Master curriculum, which yielded half-educated half-prize programmers. Maybe the parents can not support their kids' education anymore. Maybe the iPhone4 is a tad to expensive for a student but considered mandatory equipment nevertheless. All I know is that I'm sure students would benefit more from starting non-commercial pet-projects and fumbling around with strange OSs and languages than from making websites for an advertising agency.
I know I've formulated this posting in very general – and slightly whiny – terms. There are great students coming out of all universities I've mentioned. I just fear that the current direction education is taking, turning the self-determined and free student of the once-revolutionary universities into a schoolboy, is not leading in the right direction. You cannot optimize education indefinitely. Sooner or later it breaks.
PS: Now I don't know what's wrong with education in America, but it looks like it is as bugged as ours. Just differently so.