OnStartups

Reasons Why Your Startup Should Use Ruby On Rails (RoR)

Posted by Dharmesh Shah on May 29, 2006 42 Comments


Warning:  If you came to this article expecting a glowing endorsement of Ruby On Rails (RoR), you’ve been misled.  I thought about titling this article “Why Your Startup Shouldn’t Use Ruby On Rails” but figured that that would attract all the RoR fanatics out there who would then take time out of their busy days and come flame me.  I didn’t want that.  I took a risk and intentionally wrote the article as a spoof.  If you are put off by this, feel free to stop reading now.  I won’t be offended.
 
This article assumes that you are a software startup founder and considering RoR as your core product platform.  Please note that these view-points are not a critical analysis of the Ruby language or the technical merits of the underlying framework,.   The article is intended to be a bit humorous so please don’t take it too seriously.
 
 
Reasons Why Your Startup Should Use Ruby On Rails
 
  1. Less Is More:  You’ve totally bought into the mantra that less complexity is by definition better.  Your product is relatively simple and fits nicely into the RoR framework including its data persistence layer.  You’re trying to intentionally avoid solving hard customer problems that might involve complicated database models  In fact, you may have even come up with your startup product idea based on one of the RoR tutorials or samples.  You’re convinced that the world does not yet have enough web-based, AJAX-driven, database-oriented CRUD applications for managing bugs, wine lists, CD/DVD collections or whatever.  In this case, your product was made for RoR.
  1. It’s Cooler:  Lets face it, Ruby is just cooler.  Java, C#, PHP are soooo last year.  Who wants to work on old technology that’s already been out there for more than 5 years?  Besides, you’d miss out on all the priceless learning that comes from experimenting with a shiny new framework.
  1. Cheaper Programmers:  Since RoR is so cool (see above), people will be willing to work for your startup for less money just so they can get a chance to work with RoR.  In fact, you might even be able to attract star developers from big companies that are looking to do some resume building, um, I mean learning in your startup.  
  1. Programmer Productivity is Top Priority:  Clearly, being able to get a product to market faster is the top priority.  In fact, if you can get your productivity high enough, you can afford to be going after the totally wrong or non-existent market opportunity.  If your product doesn’t sell, it only took you a couple of months to build it anyways, you can just start over and get it right the next time. 
  1. Impress Venture Capitalists:  By this point, all VCs have read about the huge Ruby On Rails movement in their in-flight magazine on the way back from their vacation in Hawaii.  Clearly they are going to lean towards startup founders that are looking to push the envelope on new technology and leverage the synergies that come with the seamlessly integrated and psychotically intuitive and elegant coding style that is inherent in Ruby On Rails.  This aligns nicely with their focus on funding startups that are curve-jumping, paradigm shifting and market exploiting.  All things being equal, you’re more likely to raise funding if you’re on RoR than if you’re using one of those other web platform/frameworks.
  1. Guarantees Good Design:  Given that the whole MVC pattern is “baked in” to RoR, it keeps sub-par programmers from shooting themselves in the foot.  Sure, you can do MVC with Java and C# but those languages give you way too many choices and you don’t want to have to trust your development team.  By staying within the nice, cozy confines of RoR which makes all the standard default choices for you, you can even tap into this whole global development pool thing you’re heard about because RoR will make even that developer with 6 months of Javascript experience all of a sudden a valuable member of your top-notch development team.  In fact, because of the productivity of RoR (see #4), you get the benefit of accelerated experience.  The entry-level programmer with just 3 months of RoR experience is almost the equivalent of a programmer with 3 years of experience in one of those other frameworks.
  1. You Understand Risk / Reward:  You didn’t have to go to business school to know that wherever there is great risk, there is always great reward.  And, what could be riskier than building a business on a relatively new technology platform?  Of course, if things go downhill, the project is open source so you could always fix it yourself and dig yourself out of whatever hole you might find yourself in.  Given that all startups involve risk, you’d much rather take risk on things you can control (like your technology platform) than taking on “market risk” and things that you can’t control.  
  1. You Do Not Compete With 37signals:  The fact that RoR just happens to be led by the absolutely brilliant David Heinemeier Hansson who just happens to work for 37signals is not relevant.  Lots of open source project leaders work for software companies as their day jobs.  Besides, you don’t compete with 37signals anyways because they are in the “lightweight project management” space and you’re thinking about something “completely different” which is unlikely to ever really compete with 37signals anyways.  And, even if you did wind up competitors some day, so what?  The RoR community is large and growing and there’s no way that 37signals would be able to unduly influence the product roadmap.  You are on equal footing – that’s the power of open source!
Clearly, startups would be well served to look at Ruby On Rails as a key differentiator for their startup product.  In fact, this decision should be made quickly because as more and more people adopt RoR, there’s less and less opportunity for differentiation.  In fact, if this whole thing goes too far, it will cease to be “cool” and all that investment in training your development team will be for naught and you’ll have to start again with whatever the shiny new framework is next year.
 
Summary of My Point (seriously):  Choosing a technology platform is a key decision for all startups and the choice should be made both strategic and technology reasons.  When tempted to adopt the newest “silver bullet” technology that promises immense gains in programmer productivity (which RoR does), understand what the tradeoffs are.  To get even keener insight, study a little bit of history and find out what has come before.  It’s possible that in your situation RoR is indeed the best choice, but likely not for the reasons above.  If you find yourself agreeing with one of the eight reasons above, we really need to talk.
 
What do you think?  All joking aside, is there enough advantage to RoR from a startup’s perspective to outweigh the risks?  What situations would RoR make a good choice?