Since I have received several comments and private emails on my first post about bidding projects in Java or Rails, I decided to add some expansion and clarification.
- People want to know what Java stack we prefer/use. Spring, Hibernate, sometimes Tapestry. We use AspectJ where appropriate.
- To those who are worried that we are encouraging a price war that is bad for developers: We pay ourselves (and our contractors) better for Rails work than Java work. This is good for everybody: Developers have more fun, make more money, and customers get better products cheaper and faster. I don't see the problem here.
- On overcoming resistance to Ruby and Rails because they are new: This is a real issue, and rightly so. If a Rails project is difficult to maintain because Ruby developers are in short supply, then a small development savings up front doesn't look so great to management. One thing I point out to customers is that maintenance cost is some function of the size and quality of the codebase. A well-written Ruby codebase can be an order of magnitude smaller than a similar codebase in Java.
- Some people took my "worst case" number (10% advantage for Ruby) and extrapolated that Java could catch up. That extrapolation is going in the wrong direction. The reason that my number is 10% and not 50% is difficulties that sometimes arise due to the relative immaturity of the Ruby/Rails stack. For example, say we bid one project at 20% cheaper with Rails. But, that price includes the hidden cost of building a database driver and some specialized XML processing that does not exist for Ruby (and does for Java). On our next similar project, we'll be able to deliver 30% cost savings over the Java bid, because the plumbing will already exist for both platforms. And remember, these numbers come after paying developers more.
- What are applications that are "nowhere near the Rails sweet spot"? This is a complex question, and I'd like to defer answering this one until I have time to do it justice. If somebody posts something in line with my thinking I'll certainly link it here.
- A few people have asked questions which amount to "Please give me much more intimate details of exactly how Relevance does business and gains a competitive advantage." I will politely decline. :-)