Java or J2EE Developer?
Having just returned to Melbourne after a longer than expected stint in The Netherlands, I have been going through the rigors of resume updating, assessing the market, applications, interviews and a temperature shift of some +34 C!
It’s generally a stressful time considering opportunities, balancing the base urgency of income with working in a challenging environment with quality people. Unfortunately, usually one doesn’t imply the other, with the odd stand-out exception. What’s made it a tad worse for me this time is the stressful and time-consuming nature of relocation. It’s been a distraction from performing pre-interview tasks that most competent organizations demand, such as solving coding problems or answering questionnaires. It’s also distracted me from pushing through my book list, with a book I’ve been looking forward to punishing, Agile Web Development with Rails, unfortunately taking a back seat.
Looking for a position this time around has also been a tad different for another reason. I’ve been asking myself if using the “J2EE” word is a bad thing from both a job advert point-of-view and from advertising myself as a “J2EE Developer” point-of-view. I’m very comfortable using the “Java” word but “J2EE” is another kettle of fish. Certainly I consider the use of the “EJB” word to suggest that perhaps an organization isn’t that switched on. I have no doubt most organizations using EJB are not doing so for sound technical reasons.
I guess a big reason why I’m dubious about using the “J2EE” word is its traditionally strong association with the “EJB” word. Of course I expect any “Enterprise” development I’ll be doing in the near future to be using some part of J2EE, so based on that alone it would be unwise to consider the “J2EE” word badness. It’s also not that bad given it contains a heap of API’s with perhaps only one bad apple in the lot.
But still J2EE anti-sentiment grows. More and more often comments on theServerSide discussions read “J2EE has cost organizations billions”, “J2EE has set the industry back years” and “EJB1/2 have done irrecoverable damage – EJB3 is too late”. Sure, maybe early on we veered from the asphalt, but the industry has firmly steered back on with Spring, Hibernate and alike. You cannot possibly argue that they (i.e. JCP committees) are continuing to steer us in the wrong direction – they have demonstrated a track record of responding to feedback. Maybe they steered us in the wrong direction when the industry wasn’t sure where it was going, and now it does and they are being responsive.
So right now I’m not too fussed using the “J2EE” word. Perhaps shortly I’ll be modernizing my role description to “Software developer with Java, Ruby, Python,
I guess this mirrors my sentiments towards, one day, having a world with one currency and language.

January 12th, 2006 at 4:39 pm
Well, that certainly was a lot of TLA’s.
The philosophical problem with a singular development of anything (tool, language, currency) is it’s implicit velocity towards fascism (in it’s intellectual sense). It reeks both of Hegel’s “manifest destiny” in the way it forms artificial group goals (read utilitarian value systems here), and the destruction of personal perceptions of solutions.
Here’s an example for your consideration.
Esperanto failed as a common language alternative to English. It is a pity, as it made linguistic diversity more easily defended. It was one of many planned languages which whilst preferable to ad rote learning of English (or French), failed to address the pre-dominant desire for ‘users’ to immeadiately engage with an existing tool, or modify such a tool as they see fit.
Singularising any mode of development (tools, government, currency, language, flower arranging) stifles and dangerously ports extreme lynchpins of power in a small group of hands, who are rarely capable (or even have an ethical mandate) to use it.
Watch out buddy. I might have to post you a Nazi uniform (or come over and spank you if you keep going down this path)
Lots of love. Miss you. Andy
January 12th, 2006 at 4:41 pm
Oh. I forgot that this arguement meanders towards the Perfect Solution Fallacy.
http://en.wikipedia.org/wiki/Perfect_solution_fallacy
January 22nd, 2006 at 5:23 pm
Hey Andy,
Appreciate the comments.
Occassionally (OK, often!) I leave little segways in my blog content to provoke discussion. My comments regarding one currency and language was certainly an example of this.
That said - so where do I actually stand on this statement? Certainly the details of implementing these visions are overwhelming.
I see alot of merit in a one currency world. I’m certain plenty of Europeans see the adoption of the Euro as a bad thing - I suspect that plenty of that resentment is born about by economically strong countries supporting weaker countries. The concept of ‘one currency’ purely for its simplicity though is superb.
Regarding one language - well, thats much more complex. The cultural implications of this are profound to say the least. But again focusing on the simplicity of the model, communications would be so much easier.
I completely agree with your comments about the consequences one model has on power, giving massive power to those controlling it. From an IT perspective I often see this played out with managers and architects. If you think back to my style of leadership, I tend to lead by driving consensus - loosely gripping the rains, letting logic and the overall IP of the group steer decisions. My style is certainly focused on bringing power to the people rather than totalitarianism. Too often I’ve seen teams reduced to pockets of alienation and schismogenesis.
Regarding the formation of a programming language (which is really what I was illuding to), these comments sprung from my resentment towards programming languages developing similar feature sets, playing catch-up with each other. Now, in true capitalistic style, I can see the merit in competition breeding excellence. But if competiting languages (I had Python and Ruby on my mind at the time but I guess any apply - see http://javaboutique.internet.com/reviews/ruby/) became a collective supporting one language, could we not have all the features in one language? Would we get a better language faster? Would developers lives be simplified by only concerning themselves with the syntax and semantics of one language?
Now, like the article I mentioned above discusses, if there is a set of God-like programming features that encompass the best possible programming language, then can’t we all get their together faster?
For this to work and not produce schisms, encouraging people to write their own language in protest, a community focused evolution is a must (i.e. power to the people).
I realize this is all a pipe-dream and corporations drive the practices of the IT community by funding research for their own competitive edge. But still I think the theory has merit.
Hope all is well in the Dam and I hope to see you there again in the not so distant future.