Friday, March 23, 2012

Disruptive changes fuel innovation, innovation creates disruptive changes

As a developer who works extensively both ruby and java, I'm amazed at the turmoil in the ruby/rails space relative to java.  In the last few years, ruby and rails have had numerous massively headache inspiring incompatible changes that cause developers who used to know what they're doing to realize they're doing it the "old fashioned" way.

A particularly entertaining example from recent history is the handling of scopes in active record.  Not only has this changed from Rails 2.x to Rails 3.0, it's getting further changed in Rails 3.1 (in an incompatible way). I will agree that these are good changes, but they are certainly an effect of not spending time to think things through the first time and cause problems for newbies and old hats alike.

Compared with java  based projects (anyone still remember moving from hibernate 2.x to hibernate 3.0?) this rate of change is mind numbing and can be pretty frustrating. But, compared with the amount of innovation in java, ruby and rails are so far ahead of the game for high productivity/startup type application that java isn't really even a competitor.

I think the disruptive change in the ruby/rails space is what is actually part of what fuels the innovation, so while it's pretty shocking and can be frustrating, I think it can also be a competitive advantage. Moreover, the innovation fuels change, which fuels more innovation... so it's a self sustaining effect. In general, the more chaotic and random things are, the more opportunities there are for new game-changing innovation. The more game-changing innovation that happens, the more chaotic and random things are...

No comments: