20 Reasons Why Every Web Designer Needs to Learn Rails

20Reasons

She told me her husband was being downsized. He was 52 years old, been with the company for twenty. He was a COBOL man. Nothing but a COBOL man his entire career. But the company needed more than a COBOL man. So they let him go.

That is a true story. It’s about ten years old. But it’s not an uncommon story, especially in today’s rapidly-changing tech environment and somewhat dismal economy.

In fact, you probably know somebody that’s been let go or overlooked because of a lack in a certain skill set. The only difference is that you don’t have to wait until your early fifties to get downsized.

Today that can happen at 30. Even 25.

Enter Ruby on Rails

Typically the guy or gal with the most developing tools under their belt wins. It leads to the sweetest projects. The most perks. The best salary.

This is where Ruby on Rails (RoR)—and learning the framework—comes in. If you’ve been building websites for long you have no doubt heard about RoR. It’s a full-stack framework that covers both front and back end design. It’s at the heart of sites like Twitter, 43Things and Basecamp. Major Brands like Amazon and eBay even have RoR projects. And in the hands of a versatile developer RoR is a potent tool. Let me show you how.

1. Stalled Career

I don’t care how old you are. An old dog can learn new tricks. An old dog NEEDS to learn new tricks if he wants to stay current, marketable and in demand.

If your current job has hit a snag and you find yourself bored (and maybe even threatened with a layoff), then taking the time to learn Ruby on Rails may be just the thing you need to put a jolt back into your step. And give your boss something to think about.

2. Tired of Other People Getting Hired

Don’t you hate it—going through the interview process only to find out that someone else was picked instead of you? It could’ve been for a promotion at your current job or at a new company.

What’s worse is when you are job hunting and you stumble across dozens of opportunities (regarding the demand for Ruby developers, see no. 16)—but you aren’t qualified for because they want RoR experience and you don’t have it. That’s not a good feeling.

3. Bored

If you are like me, then you are unapologetically curious, incorrigibly creative and easily bored. This probably also means you are super-duper smart, hyper competitive and a sucker for a good challenge.

Learning Ruby on Rails just might be what you need right now. And why not—it’s a heck of an effective way to kill time.

4. Get More Things Done

The language (Ruby) on the framework (Rails) means that you can accomplish more with less, better structured code. Since code can be re-used changes are easy, making iteration and experimentation painless. Learning Ruby on Rails will help you knock out that killer idea list you’ve been sitting on for months.

5. Eliminate Lame Tasks

Rails is built on Ruby, the dynamic and object-oriented language. This means that you can better use your time. For instance, RoR will handle all database communications, provide a template system for handling page sections and layouts, process Ajax updates and a wide set of plugins that make feature implementing easy. In other words, RoR takes care of the boring stuff while you can focus on the cool.

6. Building a Complex Website

Building a website is probably the most common scenario in which you would use RoR. However, you could also use PHP. Why use one over the other? The argument goes like this: if you are just adding simple functionality to a basic, straightforward website, then use PHP. On the other hand, if you are building a complex website or app that involves a database then you’ll want to use Rails.

7. Plan on Building More Websites in the Future

Learning a new language and tool takes time and effort. So if you think that you might be able to use Ruby on a single project—and don’t think you will have to use it again—it’s probably not worth the effort.

However, if you plan on continuing to build complex websites and applications then the investment in learning Ruby on Rails is probably worth it.

8. Serve a Particular Market

Some developers like to work in a particular market. So they build a set of specialized skills that suits that market. This will lead them to usually being hired by designers who don’t have expertise in a set of skills like RoR. This means you won’t be working for clients. You will be hired for your particular skill set by an agency.
The other scenario is that you work directly for the client. They don’t care whether you use PHP or Ruby. They just want you to build them a website that will do X, Y and Z. It’s your job to figure out how to effectively do that, so knowing both PHP and Ruby is a must.

9. Join a Great Community

Even though RoR is a relatively new framework, it has certainly built up a robust community full of nice people who want to help you learn. These communities are where best practices are shared, reinforced and even questioned. You will feel comfortable asking just about any question.

The Ruby on Rails Community

The Rails Community is one of the main reasons to learn Rails.

10. Collaborate with Other Developers

Just like web designers have universal standards they have to obey, reliable Photoshop workflows and proven CSS tricks, the same is true for Ruby on Rails. The way apps are built are getting more uniform as the Ruby community continues to grow, so working and collaborating with other developers is way easier than it was before.

11. Learn to Code

Maybe you don’t know how to code at all. You could be a writer who is bored (see no. 3) and wants a hobby. Or you could be an entrepreneur who’s got an idea for a new web app and you want to see if the thing has any legs to run on.

Thus, you want to learn how to code.

Now, you don’t need any programming experience to learn Ruby. However, much of what you learn about Ruby will be lost on you if you don’t. It’s sort of like knowing the answer to an arithmetic problem—but not knowing how you got the answer.

12. Become a Better Coder

More than likely, though, you are a coder. A good one. But you want to become better. Well, learning Ruby is one way you can do that.

However…

People can argue until their faces are blue about which skill sets are the best: PHP, Java, Python or Ruby. But at the end of the day I think they would all agree that what really counts when it comes to being a better coder is to have an understanding of multiple server-side languages, whether it is Python, Java, Ruby or all of the above. The more the merry because doors will open for you where they might be otherwise shut.

13. You Already Know PHP

I know some passionate RoRs who will say hands down that you do not want to learn RoR until you’ve got a handle on PHP. This doesn’t mean you have to master PHP. All you need is just a basic understanding of how to get a few things done in PHP.

But if you already know PHP, then the transition to using RoR is seamless. See, the nice thing about RoR is that you don’t have to code from scratch every time you need something done. That’s what an effective framework does. But it still helps if you know what’s going on at a lower level. So, if you are a PHP pro, then I recommend you jump on RoR right away. You’ll learn it pretty quickly.

14. Express Your Ideas through a Computer

Famed Ruby evangelist _Why wrote in his book _Why’s Poignant Guide to Ruby, “I’ve noticed that many experienced users of Ruby seem to be clear thinkers and objective. In contrast to: heavily biased and coarse.”

Like many programming languages, Ruby will teach you how to express your ideas and stories through a computer. The language is like a tool that allows you to link your mind to the real world. In fact, you may discover that Ruby is a fantastic language that lines up with your own mental model of the world. In other words, if you struggle getting your thoughts out of your head, then Ruby just might be the right tool for you.

15. Build Your Personal Brand

There’s a reasons there is a demand for Ruby on Rails developers: it’s the fastest and most efficient way to build apps for the web. And big brands to brand-new startups are tapping RoR developers to get that speed and agility.

And get this: that demand is likely to continue. So learning to build sites with Rails is a valuable step in your web development career.

16. Won’t Be Using WordPress and Co.

PHP is the programming language for Drupal, Joomla, Magento and WordPress. So if you want to develop for those, you will need PHP. Not Ruby.

However, some suggest their future is uncertain. So, if you are in it for the long haul and want to progress with the web, go with a more progressive skill set like RoR. Again, it is probably help for you to learn PHP first if you don’t know that language already.

17. Stay Current with Web Changes

I think it’s become clear by its popularity that Ruby is where the web is headed. Scratch that. Ruby is where the web is now. And that demand is only going to continue.

There are so many things that make Ruby popular. Console tools like irb allow you to test any code at any time—before adding it to a file. Huge in terms of efficiency and accuracy, as is the fact that you can unit test, which provides huge productivity boosts. Just like PHP had its heyday, RoR is having it’s now.

18. Re-Use Software Down the Road

One of the stellar beauties of RoR is that you can use and re-use software for different projects. This is what RoR creator David Heinemeier Hansson (37signals) had in mind as he built their flagship product Basecamp.

During the development he took the apps underpinnings and created building blocks for future use. He made the framework extensible, expandable, and multi-purpose. Think plug-and-play.

He then shared the software with the open source market where the framework was improved and extended. Nearly ten years later it is now a solid and reliable software development platform that’s powering some of the most popular and powerful sites out there.

19. You Know Ruby (the Language)

Learning Ruby (the language) before Rails (the framework) is a wise move because it helps the developer to understand what is going on under the hood. Sure, the framework can do all the heavy lifting when it comes to building a web app, but it helps to understand how and why.

20. Learn the Better Language

That’s a loaded statement, so let me explain. As I mentioned above, there really is no “better language.” What there is are advantages and disadvantages.

For example, Ruby is a lot easier to read. One familiar comparison I’ve heard thrown around a lot is that Vanilla JavaScript is to jQuery what PHP is to Ruby. Ruby, like jQuery, is concise and logical. They both make sense and are easy to learn.

PHP, like Vanilla JavaScript, is a little long-winded and complex enough to cause your brain to hurt when you are trying to learn them. But PHP is way easier to learn than Vanilla Javascript, and Ruby is even easier still.

Conclusion

No doubt learning a major new skill set is no easy task. It takes time and sweat and discipline. You can’t take such an effort lightly. But if you do decide to take the plunge it will be worth it.

Not only can RoR provide you with a vast array of benefits like cutting through the headaches of web application development, but, more importantly, it can help you become that software developer that everybody wants. And who doesn’t want that?

Can you share any other reasons why web developers should learn Ruby on Rails? Any reasons why they shouldn’t? Would love to hear your thoughts.

Demian Farnworth

Demian Farnworth is a freelance writer who hustles the finer points of web. Follow him on Twitter or Google+.

Comments

13 comments on “20 Reasons Why Every Web Designer Needs to Learn Rails

  1. I started learning PHP about three or four years ago and was working under a guy who swore that in the next year Ruby would take over PHP. Since then Joomla!, WordPress, & Drupal have all made major releases as CMSs in php and every job I’ve held wanted PHP. Every once in a while I’ll find a company that needs a Ruby developer but it’s only because some fanboy consultant had them build it like that in the first place. Yes, it’s a valuable skill to learn. More valuable than PHP? No.

  2. I’m interested if there are any Rails devs that have used/compared/switched-to Yii?

    The Yii tutorials, especially the ones written by Larry Ullman, make the statement that Yii is heavily influenced by Rails. So perhaps that would be a better comparison, how do Yii and Rails compare…?

  3. You’re complaining about consistency? I’d rather work with something that advises me how things should be named than leave it up to the developer who may use camelCase, underscored_names, all lowercase—and all in the same project ;)

  4. Right? Last time I checked Facebook was build on PHP. Not so basic or straightforward.

  5. Ruby on Rails is also well known for its coding convention, Agile practices and security strength.

  6. I think you should try Laravel PHP Framework, if you done some CodeIgniter and get stuck at some point and you want to go further than CodeIgniter has to offer.
    I got stuck with CodeIgniter if I want to use sqlite, Laravel fixed it and works well.

  7. I am in RoR and PHP but for me PHP is better choice. In RoR some simple tasks can make you big troubles. In RoR you have many options to do things, but you need to do experiments to find right option (eg. find, find_by_, where, all …, or working with arrays, select dropdowns…, nested forms… ), all that in PHP is intuitive and simple. Also debugging in PHP is much easier and faster than in RoR, also restarting rails application under passenger… And many, many other reasons why my vote go to PHP.

  8. Learning a new language is always good. If you are ditched because you lack then you just did not take your profession serious enough. IMO. I like to learn new stuff all the time because I like what I do. Just my two cents ;).

    Now for your post…. I stopped reading at point 6. Saying that shows you probably are one of the people that do not stay up to date. I mean seriously since when is facebook a simple website without a database? Do not get me wrong I love rails. But also PHP. And Javascript and objective-c and……..