JavaOne Day One: Impressions and a Nagging Worry
by William Grosso
Lots of people are blogging from JavaOne, and many of them are going to the same talks as I am. So, instead of mentioning the same details that they're mentioning, I thought I'd go higher-level.
For the most part, the talks I've been to so far are from Sun, about things Sun is doing, and cover new specs. There were some interesting messiah-like assertions at a few points. But, all in all, it seems like a perfectly reasonable progress report from Sun to the community.
The conference focus so far is on ease of use. For the most part, this translates into "making Java more accessible, to a wider range of computer programmers, and eliminating a lot of the tedious and error-prone boilerplate code."
I don't really have a problem with this (after all, it does solve an important problem), but it seems like a strange focus for a developer conference (it makes sense as a corporate strategy. If I were Sun, I'd want to spur Java adoption too. But is this the focus of a developer conference?).
I also wonder where the current path winds up.
I think Java has evolved quite rapidly. And while it's still a darn nice programming language, it's also becoming something else. Java is starting to become a LPL-Set (languages-platforms-libraries set. It's new acronym I just made up, so I wouldn't use the phrase "big bag of marginally related stuff") in which there are lots of distinct, and independent, specialties.
This is nothing new, of course. People have been specializing for years ("I mostly do EJB's" or "Bob's our EJB guy" sort of stuff).
The distinction that I'm starting to see is that there no longer seems to be much of a role for a general purpose programmer. The primary skill required of a Java programmer these days seems to be significant expertise in some set of related specifications.
I'm not sure why this bothers me so much. I understand why the trend evolved, and most of the specs seem quite nice, and they solve real world problems. In isolation, they're all very good things. In combination, however, it feels like a bad thing.
Or maybe I'm just starting to see the dark side of what Joel Spolsky pointed out a long time ago.
A friend of mine recently started including "Lisp is the red pill" in his e-mail signature. I think I know what he means, now. Or maybe I'm over-reacting to a small number of talks and I should really just get back out there and learn some more.
How do you feel about Java these days?
I don't know about the assertion that there is not much a need anymore for a general programmer. All the job listings I see lately want someone who has experience in about every technology out there, all for about $35/hr.
The need for general programmers
I also disagree with the lack of need for general programmers. Although I agree that much of programming today revolves around stitching together API calls. That doesn't replace the need for general programming skills.
No Jobs for General Programmers using Java
I remember days when I wrote Applets, that was was lots of fun. But today, writing a Java application seem like working with an "Erector Set". Well, you get to define a few classes of your own. Maybe it's just me?