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

Wherein old age and wisdom beat youthful innovation, eventually

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 who 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.

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 40 times as 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) on a bad one. 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.

Copyright © 2014 IDG Communications, Inc.

How to choose a low-code development platform