Move over, Old Man Ruby -- your Java moment has arrived

Each generation of developers leaves its mark, has its treasured languages, and is convinced it's more brilliant than the last

I've been lucky to avoid the California cult of the 20-something my whole career. The infatuation with youth exaggerates the weird peaks and valleys of a tech career. Doing anything substantive in your 20s is a sign of brilliance, and you get a little too accustomed to the praise.

To some degree, those at the peak (or want to appear to be) perpetuate a belief that 30 is retirement age in this industry -- despite all the statistics to the contrary. You're not necessarily better at what you do, but you're damn noisier when you're in your 20s.

[ Dev-olution: Saluting 19 generations of computer programmers | Work smarter, not harder -- download InfoWorld's Developers' Survival Guide for tips and trends programmers need to know. | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

Recently, I was struck by a cartoon in the New York Times Magazine in which a 20-something asks an older fellow, "When will you make something cool?" only to receive the reply, "When will you make something that matters?"

Watching the industry repeat itself and rebrand the same old ideas over and over, then pass it off as innovation gets tiring as you get older. It no longer seems brilliant to come up with incremental changes in computer programming languages, only to rewrite everything and call it innovation. Eventually you want to do something a bit more meaningful.

I switched early in my career from C and C++ to Java because no one would hire me as a C++ programmer (I didn't have 10 years of experience). Java hadn't been out very long and it was easy to say, "I know C++, so I picked up Java in a week," and talk your way into a job. It didn't hurt that it was the dot-com boom. Java exploded, there were new frameworks every day to do new and interesting things, and a bunch of old curmudgeonly Cobol, RPG, and C programmers were around to remind us that Java wasn't a real language and we weren't doing anything new.

A few years later the Ruby folks came on the scene saying they were more than 40x productive because they had a freaking code generator (similar to WebWork). They forgot that they had a horrible interface that wasn't as good as JDBC and their ORM (ActiveRecord) was complete crap, resembling Hibernate 2 on a good day and iBatis (Hibernate slowly reinvented by people who didn't understand Hibernate). Sure, they generated Granny's Addressbook-level applications in seconds, but past version 1.0, they created unmaintainable slow messes.

Frankly, I didn't switch to Ruby because Java paid more. These early 20-somethings were willing to work for less than my late-20-something self. Moreover, I was bored with doing websites and back ends, and I wanted to tackle bigger projects that Ruby was years away from being able to handle seriously. I heard some sales guy say that Ruby had been the secret to some site's scalability, and I inadvertently looked at him with the same incredulous look that I give any sales guy who makes an emphatic technical statement. I quickly replaced it with a feigned look of interest that I (as a late bloomer) learned to fake somewhere around the age of 27.

Recently, I was at the Great Wide Open conference sitting across from one of the proud developers of the Rails framework. I'm paraphrasing, but he observed that Ruby was now old hat and respectable. He noted that the new breed of JavaScripters had an immature platform, but the industry likes "new." He lamented that the industry tends to think you're washed up at 30 (he's from San Francisco).

When I got back home, I had a sales call with a Cobol shop that was about to invest in Java and (actual, not-RESTful) Web services. Not long ago, I would have thought, "Geesh, how did you let yourself get so far behind?" Now I know. They don't make technology, they make whatever they make, and the old stuff was working. It was still cheaper to maintain than to replace. Java has reached that level of obsolescent maturity, and they finally felt comfortable using it.

People don't get into this industry because they like working with people. They get into it because they enjoy working with machines, so it's easy to forget what we do: We help businesses, which are made up of people, do whatever they do more efficiently. Sometimes that means rolling up your sleeves and touching old man stuff like (gah!) ActiveRecord. Sometimes that means finding meaning in implementing the big stuff instead of specializing to the point where you're an "expert" in about 12 lines of Django.

Like it or not, we're in this industry to help people, even if we got into it because we liked machines -- although, I have to admit, I still miss my beloved assembler.

This article, "Move over, Old Man Ruby -- your Java moment has arrived," was originally published at Keep up on the latest news in application development and read more of Andrew Oliver's Strategic Developer blog at For the latest business technology news, follow on Twitter.