5 ms·
Another reason that's contributing to the shortage is that universities are not emphasizing on it. The university that I went to doesn't even have web developme
by lightblade 12y ago
Another reason that's contributing to the shortage is that universities are not emphasizing on it. The university that I went to doesn't even have web development course. There was one experimental summer course, then it never happened again. Even the Android development class went on to become very popular.
So what's left is that those that work in web development are either self trained or goes through one of those dev bootcamps. But people that goes into these programs does not necessarily have a CS background, and to be a "good web programmer", you do need that kind of background.
- sanderjd 12y agoNote that universities haven't traditionally seen it as their role in society to teach job skills, believing that breadth of knowledge and subject area fundamentals are more difficult, more important, and more widely applicable, and that companies can and should foot the bill to train their employees on the details of their jobs. You can certainly argue that this is an outdated view, but it isn't a new thing.
- lightblade 12y agoBut what really qualifies as fundamentals? Database? Network protocol? 3D graphics? I tend to put these in the same league as web programming, they are job skills. Yet there are plenty of university course on these subjects. So why not have web programming?
- sanderjd 12y agoFirst of all, I think these are really good, tough questions, and figuring out what universities should be versus what trade schools (or as we seem to prefer, "code schools") should be versus what makes sense for community colleges, is really interesting and fluid. I'm not sure what a good definition for "fundamentals" would be, but I'll speak to your examples one by one, which I think gives a decent sense. My databases class talked about what databases are, why they came to be historically, an overview of the different approaches, and a discussion of their trade-offs. My networks class talked about why we started creating networks of computers historically, gave an overview of a bunch of different approaches, talked about trade-offs, discussed why TCP/IP+ethernet/wifi has become the most common end-user deployment, and talked about how it all works. My 3D graphics class was very mathematical, discussing how and why the 3D transformations work, with mostly toy algorithm implementations. This wasn't one of your examples but my programming languages class followed a similar schematic of "history, survey, trade-offs" as databases and networking (ditto for operating systems, and some others). I imagine a web programming class following that pattern to give a sense of how and why the web works. But that is pretty different than learning how to make applications using rails/nodejs/ember/angular/react/whatever like we do in industry. Actually, when I was in school, this model really frustrated me, it seemed out of touch with industry and like I wasn't getting the specific skill buzzwords I needed to put on my resume to get my first job. But looking back on it, I'm really glad to have gone through a program focusing more on history and concepts rather than technology and details. It's harder (though of course not impossible) to self-learn the broader subject matter, and the details are ever-changing and needing to be kept up with constantly anyway. I think a really good model for universities is broad coursework in combination with an aggressive internship program and industry-sponsored project classes.