Skip to content

Comment on Rails in the Enterprise

Comments

Some anecdotes:

I do Big Freaking Java Web App development at work. Our core product is built on a Java stack which has been under continuous development for over a decade now. Some parts of it show its age.

We're pretty good at using our internal framework. My colleagues are much better at it than I, since most of them have been working on it for ten years. They estimated 1 ~ 2 man months to implement a particular internal app on the framework. A man month from a senior engineer at my company (the estimator) costs us... hmm... well, I can't tell you, but $10,000 is a nice round number and it isn't very wrong.

I prototyped the internal app in 2 days in Rails, with one day wasted because I was also doing it as my first AppEngine app. I estimate that 2 additional days would get it to substantially higher quality than the current internal app we have running. My fully loaded cost is rather substantially less than $10,000 per month, so I probably could deliver the app for 10% of what it actually cost us.

I can't tell you what the internal app is, but suffice it to say that it is standard CRUD and delivers business value well in excess of either of the development costs. It also uses very little enterprisey stuff.

I got permission for using a few days of company time on that project largely because I have a reputation for bringing certain projects in grossly under budget. My solution is simple: cheat. For example, I was given a stack of Perl code and told to provide documentation for it. The code was well commented and consistently written, but we had NO overarching design docs. (Provider X had subcontracted from Y who acquired Z who... it happens. Enterprise!) We were paid a large fixed bid for the documentation. I wrote a Ruby program to spit it out, complete with graphs describing control flow and web pages with syntax highlighted Perl code. That was approximately 5% my commentary and 95% the output of a Ruby programming which stitched together a one-off Perl parser (thank God for coders who were totally obsessive about their conventions) and an OSS graph producing library, plus Javascript SyntaxHighlighter and an OSS web template. The customer was overjoyed, my bosses pocketed a truly absurd margin (they bid on the assumption I would do it all via sweat of my brow), and I did not have to spend several months of my life reading through hundreds of Perl files with comments written only in Japanese.

That said, while I'd love if we could abandon all of our existing Java code and do nothing but Rails development, we have waaaaaaaaaaaaaay too much invested in our core products to do that. So I nibble around the edges, collect wins where I can, and take stuff I learn from Rails projects and get them incorporated into our core product line. (Example: I hooked the other member of the core team on Prototype, which is now the first and only Javascript library ever supported by our company, and customers who see screens with it incorporated are extraordinarily happy relative to their older, non-interactive screens.)

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.