Saturday, July 29, 2006

Cool Reception

A friend of mine, who works at a Java shop, recently gave a Ruby on Rails presentation and was surprised and dissapointed by the people who didn't come to the presentation. In his blog he discussed some of his theories about why one person in particular didn't show up...

I have a simpler theory, one that was presented by Bruce Tate in the Ruby on Rails Podcast back in March of this year. He said:
You can either look at a programming language as a means or as an end. And if you're looking at a programming language as a means it's just a tool to get a job done and religion just falls out of it. But once a language is entrenched and that language becomes a meal-ticket then the language becomes the end. And when that happens you're gonna get passions stirred up whether you want to or not, because now when you threaten a language you're threatening somebody's ability to feed their family...

I wouldn't present it quite so dramatically as being unable to feed one's family, afterall Java isn't about to be replaced any time soon, but I think his position is probably correct. Java is a meal-ticket for a lot of people. Many have worked their way up to nice lofty "architect" or "senior lead" positions. Most of them through hard work. They know Java and the frameworks and tools that go with it (JSF, Hibernate, Struts, Spring, Eclipse, IntelliJ, Tomcat, JBoss, JUnit, etc). They've made a significant investment and may quite naturally feel threatened by something like Rails whether they realize it or not. It challenges their position and knowledge.

Andy Hunt, one of the authors of "The Pragmatic Programmer" said:
Languages and frameworks come and go, but your habits--your practices--stay with you for your whole career.

Unfortunately, most people don't understand that. They look only at what's directly in front of them and don't check the horizon to see what's coming. Today Java can be a morass of complexity and it's only by looking at things like Rails do we challenge our preconceptions and make our day-to-day Java development positions better.

Keep giving the presentations, continue to push the boundaries. People don't like to be pushed but constant gentle persuasion will eventually leave its mark.

2 comments:

Anonymous said...

You know what dude, the people running this shop appear to only care about "one-upping" each other with new technologies...we are now introducing new operating systems for developers. I believe that most of the "senior" guys here aren't great developers...they are smart people who know a lot about computers and operating systems but, quite frankly, they don't know a lot about writing quality code...they don't have habits/practices. How many times have people checked in code that does not compile or checked in code that breaks tests...lots. They don't run, and in most cases don't create, tests. What kind of habit is that? Preaching about tests can be annoying but without them no one has the confidence to change code...will it still work...who the f*ck knows!? Anyway, I feel for your friend (I didn't have a great reason for missing) but could you imagine what would happen if developers here (given their poor habits) were tasked with writing apps in Ruby...nasty. This shop is not staffed correctly to run with Ruby...it's a bad thing to say but it's the truth. The solution might be to get some developers who actually have good habits instead of developers who really know the shit out of operating systems, tomcat, jboss, etc...

sundog said...

Fabio Akita of São Paulo, SP, Brazil translated this blog entry for the Portuguese speaking people of the world... I don't consider myself too much of a big time blogger so something like this just seems just so damn cool.