Re: Computer "science" grads need to be less employable
I'm a mathematician, according to my degree, with what the Americans would call a "minor" in CS. Yet I have a career exclusively in IT on the basis of that.
The CS students on the course when I took my degree were - to put it mildly - bog useless with computers. It very much was "the course that my mum sent me on because I'm 'good with computers' she said". I mean, I was helping MSc's with their minimax algorithm for their "computer draughts AI player" - they were in their fourth year, I was in my first, and they needed my help. And I spotted bugs, advised on their code and could see their mistakes from miles away.
- They don't code.
- They don't manage systems.
- They don't research anything beyond what PC World sell.
- They'd never tried any alternative OS (our uni was very good at having Windows NT and Linux dual-boot on EVERY machine in the CompSci department - I was the only person I ever saw boot into Linux, and definitely the only one to do it by preference and as a matter of course).
- They'd never installed an OS
- They had no idea about the basics of networking or hardware (Not a big deal in CS terms, but it just indicates that you've never played with hardware ever - I had to install one guy's CDROM drive for him, ffs!)
and - scariest of all - all the theory eluded them too. Being a mathematician, logic, graph theory and coding theory were just second nature and not taxing at all, but the CS guys "didn't see the point" (er... networking, encryption, data verification and transmission? You know, all that "sciencey" bit of CS?).
The "Introduction to Programming" course (2 years long) was in Java. No word of exaggeration, I turned up to the first lecture and then handed in EVERY assignment remotely without attending a single other session. Sometimes I didn't even bother to test it (literally, one-liners of programs). People were just that dumb on it that I stood out from the rest. I'd never touched Java to that point, but, come on, if you've ever programmed then it was just a case of Java For Dummies or whatever reference equivalent for your skill level.
CS was very much lacking and the bits of CS that mattered were mostly mathematical and all the CS guys dropped out or really struggled. The "computing" side (as I like to distinguish) was completely absent - as you'd expect - and they didn't even know how to do those bits. They'd barely picked up a computer beyond games (the only conversations I remember with others were about games and/or emulators) and they had little interest.
Needless to say, when the alumni pages are published, almost none of them work in IT (except maybe the marketing or sales side of it).
The problem has been around a long time (I started uni last century!) but it's still present in even state and private schools. Computing (using a computer) has blurred with CS (building, analysing, improving, researching, etc. computers, data, networks and associated phenomena) to the point that everyone thinks they can do it and teachers think that a "good with computers" kid should study CS and have a career in IT. It's just not true. Most of them I wouldn't leave alone with a folder of files to sort. And they then became the teachers to that next generation, so the problem has only worsened.
In 15 years of school-IT, I know one teacher who programmed in FORTRAN and COBOL (trained as a mathematician), one who could confidently program, explain, build and test circuits, logic diagrams, memory buses, network algorithms, packets, etc. (trained as a industrial control guy originally), and my brother who could teach IT quite competently (mathematician). The CS guys are literally nowhere to be seen.
Hell, my friend who works in datacentres for names I guarantee you all have heard of (including "The Big G") has no CS qualifications at all, nor do most of the people around them. CS people are either CS academia for live, or don't go into CS/IT at all, in general. For most, it's literally just a "computing" degree.