There’s a trend now to question the value of a university education. It used to be that simply possessing a university degree gained you access to a Better Class of Job. That is no longer the case; now you have access to The Same Class of Unemployment Benefit. Even degrees in subjects without immediate business application (classics, art history, etc.) were valued as a sign of studiousness, discipline, etc. at least in so much as they put the possessor into the class of People Who Have A Brain. These days so many people are emerging with degrees that a degree alone isn’t enough to separate you from the herd.

That this happens in the liberal arts is understandable. But there’s also a move afoot to reject Computer Science degrees: “go straight into a startup!” people say. I used to oppose this: university taught me what I was doing when I programmed. It didn’t make me a good programmer (though it sorted out some dodgy techniques I had as a self-taught kid) but it taught me how to think about solving problems, to recognize common problems, and to understand the different dimensions of tradeoffs all through languages, operating systems, databases, networking, and more.

So I was in favour of CS. “Go to uni!” I would say.

Past tense.

This weekend I met with a recent CS grad and we talked about what he should do. He had signed up for Honours, then realized he wasn’t interested by the research. And, talking to him, I realized he’d had the wrong approach to university. I had also had the wrong approach to university.

The right approach is to learn as much as you can. For a few years you have a lower pressure to earn, you have wide-open license to stretch your thinking in as many directions as you can, you have huge resources and opportunities around you, and you can do anything.

I came close: I had fun. I played with early Internet services, was hired to write some (learning sockets as I went), set up regional mirrors of software archives, and got caught up in the early web. None of this was deliberate (I never sat down and said “I will try as many Internet services as I can; this Internet thing will be big!”) it just happened to be the right thing for me.

My friend, however, didn’t even come close. He fell into the same trap that most people at university fall into: he thought the goal was to get the degree.

“Fuck no!” I told him. The degree is a side-effect! If you learn as much as you can, expand your mind, discover what interests you, and chase it as far as you can, you’ll get the degree (assuming you also spend some time studying). But to fuck around OUTSIDE university instead of learning, so as to do “the minimum amount of work necessary to pass” (my words, not his) – that’s a mistake.

But nobody tells the kids this. Of course, being kids, perhaps they wouldn’t respond. Education, like youth, is wasted on the young. I stay in touch with a few CS lecturers and they all bemoan the cohorts of students who aren’t interested in the subject, only “will this be on the final exam?”.

This young fellow I was talking to, he came out with the usual patchy set of skills. University didn’t actually teach him much that was directly useful. If he goes and joins a company, he’s going to have to hustle for a year or so to get his programming act together and be useful. University teaches that various computational things exist, but until you’ve used them in anger and had them ingrained into your way of thinking, you’re not going to be a good programmer. It’s the difference between having to struggle to conjugate verbs in a foreign language vs having that stuff be automatic and reflexive. It’s not muscle memory, but it has to become so.

Of course, rightly, universities don’t pretend to be producing useful programmers. “We teach high-level concepts,” they say, just as I did. But the high-level concepts that I learned were useful to me: what an operating system has to do and how you might divide the labour, how to describe and process regularity (hello, regular expressions!), the challenges of randomness and linearity as exemplified by the different approaches to memory management that I’d encounter in various programming languages, etc. The classes I tuned out (AI, for example), I wish I’d paid more attention to now! The stuff he learned, though, struggled to be useful: the description he gave of his HCI class didn’t seem to be coupled at all to the design considerations in my world. I think there’s a minimum amount of useful you have to be, and I wonder what the distribution of useful is across different university CS programs.

I still distrust the “just go to a startup!” people, though. There’s a huge industry whose raw ingredients are programmers. Only a few of them regard those programmers as a resource to be developed instead of exploited. “If you’re a good programmer, skip university and go to a startup” may be right for a handful of people, but for most kids it could easily reduce the probability that they will ever become a great programmer. The leisure to learn at university is NOT afforded you at a startup. The people telling you to join a startup do not have your best interest in mind. And, of course, startups require you to solve a problem–the only problems kids have are getting laid and scoring weed, and those were (not coincidentally) well solved by Mark Zuckerberg.

So what do I tell my kids? Should I urge them to go to university? Should I tell them to jack it all in and run off and join a startup? This is what’s occupying my mind now.

When I look forward to the world they’ll come of age in, I don’t see a world with careers like people had in the 60s. I do see a future in which they’ll have to be self-reliant, know how money works, know how to sell, to start and run a business. That argues for startup, or some kind of financial experience. But they should also know how to learn, to think about the general not just the specific, to analyse. Traditionally, they’d acquire those skills at university. Will they do so in the future?

I don’t know whether I’ll steer my kids toward uni. I’m trying hard to give them business experience before they leave school. I just sat down with Mr 12 and we ran through this month’s set of board papers for a real company, talking about what’s on the agenda and why, and getting our heads around the financials to see what stories they tell about the company’s performance. It was great to have a discussion of the differing risks of fixed-price vs time & materials, see them come up again in the CEO report, and then reflected in the financials.

In the end it’s up to the kid whether university makes sense for them, but if it looks like it’s on the cards then I plan to:

  1. Take them on research trips around the various universities to find out what courses are offered relevant to their interests and see how they map to practitioners,
  2. Remind them that university isn’t about having a piece of paper at the end, it’s about what you can learn getting it.