
The week, FiveRuns welcomes Ryan Garver, CTO at ELC Technologies to the Rails TakeFive series. ELC Technologies is a software-consulting firm based in Santa Barbara, California, that has the biggest team of Ruby on Rails developers bringing new applications to global 2000 companies and startups. They are also a FiveRuns partner.
FiveRuns: Welcome Ryan. What was your first “ah-ha” moment with Ruby on Rails and when did you know that the framework was a good fit for you?
Ryan Garver: I started using Ruby on Rails after developing a decently large PHP application about three years ago. I felt like everything I had developed in PHP was custom, right down to the directory structure. It was maddening.
At the end of the project I knew there had to be a better way to develop web applications. I looked at a number of newer web frameworks including TurboGears, and Django. (I had an affinity to Python at the time.) Along the way I tried Rails. By the time I had completed the DHH screencast and built a small sample app, I was hooked. Ruby felt much more like English than programming, and at the time I was only just beginning to get a glimpse of some of the tricks the language and Rails held.
FiveRuns: In his RubyConf 2007 Keynote presentation Matz stated that “The suits people are surrounding us” – is this increasingly the case with the community, and what does this mean for the future of Ruby?
Ryan Garver: I think with any new thing in technology, if you develop a good thing, it’s only a matter of time until the suits start showing up. What we do as programmers is in high demand and very profitable. When something like Ruby and Rails comes along and undermines the current thinking on time to market and developer efficiency people will start to pay attention. I consider this a sign that we are doing something right and that the world at large is beginning to notice.
As far as how this impacts the future of Ruby, I suspect that the primary focus will remain around Rails. Ruby will feel the trickle-down effect from that community. The biggest place where I see a need for change (primarily driven by the enterprise) is Rails ease of deployment. Capistrano is great, but most big IT departments are not designed like a startup where every developer is a systems administrator and has the keys to the production machines. JRuby is doing some neat things in this department by supporting Java-based deployments, which by now have a long history in the enterprise. This strategy is very appealing to many enterprise customers, but using Ruby can restrict what Ruby libraries you have available so there is still a cost. I expect that moving deployments to something that more closely models the WAR file approach is right on the horizon. Keep you eyes on EngineYard’s mod_rubinius and the others out there trying to make this better.
FiveRuns: When is Ruby on Rails an appropriate choice for application development in the enterprise?
Ryan Garver: I think as soon as you have a web-based project on a tight deadline you should take a look at Rails. In my experience, Rails consistently outperforms other technologies in terms of time to market and longer-term maintainability.
FiveRuns: Is the Rails ecosystem missing any key tools that could make life easier for developers, and maybe expand adoption of the framework?
Ryan Garver: Deployment is the first thing that comes to mind. I give Rails a hard time on the deployment issues, but really my problem is with how it integrates with larger organizations. Rails deployment is great if it’s me and a few other guys deploying an application on a server. We start to run into problems when the developers are not intimately involved in the deployment or when the server is shared with multiple applications. It can be done, but it could be easier. As deployment is improved I see Rails really stepping into the mainstream in a big way.
FiveRuns: What do you make of Twitter’s ongoing performance woes, most recently around Macworld, the Super Bowl and the primary season? Seems like within the community it is widely recognized that Rails has nothing to do with it. But outside of the community, the perception is very different.
Ryan Garver: Whenever there is a high profile example of a failure people will hang on to it. This is doubly so in the technology community. We are a judgmental lot. This is an important part of our heritage and it allows us to deal with making big decisions about technology and methods that need to be evaluated on many different and often conflicting levels. We’re good at it. The side effect is that we tend to hang on to familiarity and notice negative features of alternatives more than positive. To me Rails’ benefits overpower the negative press by an order of magnitude at least. Twitter may be struggling with explosive growth, but at the end of the day they released and continue to be a success. It’s hard to count this as a failure of Rails.
One thing to realize is that up until and including Rails 2.0, performance was a secondary driver for the core team. The primary focus was on maintainability and efficiency as a developer. The next release of Rails is being focused much more on the performance metrics and should shut a few of the naysayers up.
Ryan Garver is CTO of ELC Technologies, a software-consulting firm based in Santa Barbara, California, that has the biggest team of Ruby on Rails developers bringing new applications to global 2000 companies and startups. He holds an MS in Computer Science from the University of California, Santa Barbara.















Continued Discussion
No comments have been added yet.