Top 5 Rails Misconceptions

I have been working with Rails for almost 3 years now in a professional setting. During that time, I have had to convince many people of the merits of Rails. Here are the Top 5 Rails Misconceptions I have come across.

5. Rails is some sort of WYSIWYG editor for web pages.

This one has always baffled me. But, it is true. Every once in a while, I will meet someone that thinks Rails is like Dreamweaver. Huh? My best guess is that they read some buzz article about how "Rails makes building websites easy". Notice I said "websites". There really is no way to combat this misconception other than to just educate this person.

However, do not discount the fact that to many technology people the following is true.

web sites == web pages == GUI == web applications

In other words . . .

index.html == web page also == web page

And, it was probably developed with Dreamweaver.

4. Rails is AJAX.

Web 2.0 is AJAX. And, Rails is AJAX. So, make it AJAX'y. Maybe, this is because Rails started to get popular around the same time AJAX started getting popular. There might be some direct relationship between the two. But, regardless, I hear this one all the time.

Again, you really can't do anything about this except to try and educate. Usually, I try to explain that AJAX is a way to enhance the user's experience, and can be implemented with any number of web frameworks.

Hmmm . . . but, that explaination might be too "Web 2.0".

3. Rails can't scale.

You might be surprised to see that this is not #1. In all honesty, I almost never hear this argument from the people who matter to me (customers, clients and my bosses). I alway hear it from the IT/Ops team, or the DBA's, or the old school Perl/Java/C/C++/insert_whatever_lang_here programmer that sits down the hall.

How this is still an issue is beyond me. In any case, these are the arguments I usually use:

* There are really large Rails sites in production. Twitter (although be ready for the Twitter can't scale arguments),,, all the 37signals products.

* Scaling is usually a much larger architectural issue than just the web framework. Scaling involves hardware, OS's, caching, DB's, proxies, etc. Usually, the language matters very little in scaling.

* And, this is my favorite . . . every (I really mean EVERY) enterprise Java based web application I have ever worked on or implemented was slow as hell. Anyone want to back me on this one? So, what's the argument?

2. You don't need to learn Ruby to do Rails.

I think this early screencast of Rails almost did more harm than good.

So, in this screencast, you see a young DHH creating a blog application in 15 minutes with Rails. Lot's of scaffolding and stuff.

Don't get me wrong. This screencast was one of the reasons I got into Rails. But, I thought the same thing. I just need to learn Rails. This is so false. Maybe, if you are creating a 15 minute Blog application, you just need to learn Rails.

This misconception is directly related to my #1 Rails misconception.

1. Rails is not programming.

This is definitely my #1 Rails misconception. I hate this one! Everyday, I have to fight this one.

So, how do I fight these misconceptions?

* Credibility. Be really good at what you do. As a Rails developer, don't be that person who just read the "Agile" book and thinks they can deliver. Read the "Agile" book. Then, you have to do much more . . . usually, this is in your free time.

* Productivity. Deliver quality faster than anyone else. Rails is great for this.

* Adaptability. Sometimes, you just have to make it work. So what if your company's legacy database is SQL Server with some jacked up composite-non-surragate primary keys? Make it work.

* Be nice. This one works all the time. Ruby, and Rails is threat to people. Don't come on like a threat.

About this entry