How Computer Science Education Got Practical (Again)
jfruh writes: In the 1980s and 1990s, thousands of young people who had grown up tinkering with PCs hit college and dove into curricula designed around the vague notion that they might want to "do something with computers." Today, computer science education is a lot more practical — though in many ways that's just going back to the discipline's roots. As Christopher Mims put it in the Wall Street Journal, "we've entered an age in which demanding that every programmer has a degree is like asking every bricklayer to have a background in architectural engineering."
Sure, but you can't ask a team of bricklayers to assemble a livable house. In fact in this analogy it's so obvious that you also need an architect, a plumber, etc, that there's no need to even mention it. But when it comes to programmers and (corporate) management it's a whole different story. They will get a team of 'bricklayers' together and tell them to build the next Youtube - or a bit close to home, the next corporate content distribution platform - and then be utterly dumbfounded when that blows up in their face.
We have hired, and let go, 3 "computer science" majors who didn't know how to calculate a range of IPs given a single IP and a netmask.
CS != IT. This makes as much sense as complaining that your car mechanic knows nothing about plumbing. If you want a sysadmin, then hire a sysadmin. But that is not what a CS grad is, or should be.
You should also change your hiring practices. If there are basic skills that you require, you should test for that during the interview process. By failing to do that, you are wasting your time and theirs. Letting one slip through may be excusable, but three in a row is a sign of serious dysfunction.
"The idea of programming as a semiskilled task, practiced by people with a few months' training, is dangerous. We wouldn't tolerate plumbers or accountants that poorly educated. We don't have as an aim that architecture (of buildings) and engineering (of bridges and trains) should become more accessible to people with progressively less training. Indeed, one serious problem is that currently, too many software developers are undereducated and undertrained. Obviously, we don't want our tools--including our programming languages--to be more complex than necessary. But one aim should be to make tools that will serve skilled professionals--not to lower the level of expressiveness to serve people who can hardly understand the problems, let alone express solutions. We can and do build tools that make simple tasks simple for more people, but let's not let most people loose on the infrastructure of our technical civilization or force the professionals to use only tools designed for amateurs." - Bjarne Stroustrup.
No sig today...
Most people do not have photographic memories. I've learned and forgotten netmasks countless times. If I don't do something for a few months, I can't remember it off the top of my head. Expecting "CS" people to remember endless trivia is stupid and counterproductive. You'll only hire the people who remember trivia, not the people who can create new things from scratch.