Tuesday, July 29, 2008

The Kids Are Alright: CS Enrollment Way Down at US Universities

As I said a couple of weeks ago (or months ago, maybe), while talking about how wonderful Python is, I wouldn't really recommend Java to American programmers, particularly young ones, since Java programming jobs are so easily outsourced.

In the article 'The 'Anti-Java' Professor and The Jobless Programmers" (lamest Disney movie EVAR), Robert Dewar talks about the concurrent trends of increasingly focusing on Java in the college CS curriculum, and the decreasing enrollment in CS programs. Colleges appear to be responding to the trend by dumbing down their courses as fast as they can (dive! dive!) with some notable exceptions like the ever-reliable M.I.T. and Carnegie-Mellon.

Says Dewar:

“Furthermore, Java is mainly used in Web applications that are mostly fairly trivial,” Dewar says, with his characteristic candor. “If all we do is train students to be able to do simple Web programming in Java, they won't get jobs, since those are the jobs that can be easily outsourced. What we need are software engineers who understand how to build complex systems.”

“By the way Java has almost no presence in such systems. At least as of a few months ago, there was not a single line of safety-critical Java flying in commercial or military aircraft. I recently talked to a customer who had a medium-sized application in Java, which was to be adapted to be part of a safety-critical avionics system. They immediately decided that this meant it would have to be recoded in a suitable language, probably either C or Ada.”

This is, as far as I can tell, all true. Even if, like late 90's early 00's me, you score one of these cushy Java jobs, the tedium of essentially pulling stuff out of a database, putting it on a web page, pulling back the user's responses, putting them in the database really wears thin after a year or two. Also sez Dewar:
In response (to declining enrollment), colleges have compromised – heavily – to attract students. “So two things: reducing requirements and getting rid of annoying math courses and things like that. And also trying to make courses ‘fun.’ I believe that computer science should be fun, but the fun should come out of solving problems – not making pretty pictures. That’s the danger, I think.”
I would say this is not particularly worrisome - kids avoiding CS programs of the candy-ass variety who don't particularly have much interest in the topic to begin with are exercising good judgment. Dewar does say there will always be jobs for the hard-core types that take this stuff seriously. The problem is more the candy-assedness of the programs and the whole business of pretending graduates who can work with Java web framework of the month X aren't going to be competing with somebody who'll do it for $3/hour.

Particularly brilliant and inventive youngsters probably mastered Java in their pre-teen years, like the dude at Borders the other day whose voice hadn't changed yet who was deciding which book to buy with his Dad. Kids like that should maybe skip CS altogether and check out one of the hard sciences. That's some real shit! You don't see Physics professors with the little tassels on their loafers shaking all the time because they're so nervous about 'ooh, what will the CEO of JoeBlowCo think of my lecture today?'

See, very very occasionally I actually do have handy advice for the youngsters.

No comments: