I was on a phone interview today and the inteviewee distinguished themself as a “Ruby Developer” not a “Rails Developer”. I decided to follow this thread to figure out what they meant.

Over the next 5 minutes I think we worked up an analogy that I’m happy with, and much better than the answer I was expecting. I have embellished for sake of this blog.

Rails is like using Ikea furniture for your start-up.

Ikea furniture is affordable not cheap, comfortable enough and will last slightly longer than you need it too. It will solve 80% of your furniture needs in a fraction of the time and the cost of trying to design and build the perfect furniture. When building Ikea furniture it is good to keep in mind what you are not building. You aren’t measuring, you aren’t sawing, you are’t drilling. There is still some assembly required and despite the best efforts of Ikea it is often complicated to put together. You can build it yourself with minimal tuition, ask a handy friend, or you can hire someone to do it for you.

Ikea furniture is suprisingly customizable. If you don’t like colour or pattern it is often very easy to customize it, by self dying or finding some gem of a design from a third party that is almost exactly what you need for a fraction of the cost. Sometimes that gem was designed for a slightly different piece, but with just a bit of cutting, pasting and modifying a passable result is often just minutes away.

It can also be configured to do things it wasn’t orginially designed for without the need to contract an expert.

But Ikea furniture is designed for domestic and light use, for trying out ideas quickly in new spaces, until you figure out what works best for you. Sure there are examples of people using Ikea furniture at extremely large scale, but most companies, when they finally get out of the garage decide to use real furniture. It just costs less in the long run.

You don’t need real furniture everywhere. You just need some bits to be better than others. The Måla was cute, but become embarrasing when I client came by. Sometimes its an emergency. 50 clients showed up, your Ektorps survived, but if that became a daily occurance you’d have to buy a new sofa every week.

Thats the great thing about Ikea furniture, even when you buy better furniture, a well designed room still works.

So if Rails developers are furniture assemblers, what are Ruby developers? They design the ‘real’ furniture.