×

Are you missing out on your dream job?

Enrollment for Skillcrush Blueprints JUST OPENED. Register today!

Click Here

4 Key Things You Need to Know About Ruby on Rails

Get Our FREE Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

Whether you’re new to coding and trying to get the lay of the land, or you’re already active in web development and want to learn more, Ruby on Rails can be an elusive topic to pin down. It’s often mentioned in same breath as coding languages like HTML, CSS, and JavaScript, but when you dig deeper you’ll find it’s not a programming language at all. In order to get a handle on what it actually is, what distinguishes it from other coding skills, and how to go about learning it, I spoke with a group of Ruby on Rails developers. Here’s what they had to say.

What is Ruby on Rails?

Elena Sokolyk, Ruby on Rails Developer at web development company RubyGarage, says that—at its most basic—Ruby on Rails (or Rails) is a web development framework that gives Rails developers a time saving method for writing code. Rails is one of many web frameworks in the world of app programming and web development. These frameworks are collections of code libraries that give app and web developers readymade solutions for time consuming, repetitive tasks—things like building menus, tables, or forms on a website. In other words, rather than having to write every single line of code in a program from scratch, web developers can refer to a framework and find code for common functions that they can plug into the websites or web apps they’re building. Web frameworks are usually specific to a certain programming language (e.g. AngularJS is a JavaScript framework, meaning all of the coding libraries it contains will be written in JavaScript), and the Rails framework, Sokolyk says, is simply a web framework written on top of the Ruby programming language (more on Ruby below).

While all frameworks by their nature help to make the development of complex websites more manageable, Jasmit Kaur, Founder and CEO at talent analytics platform Culturebie, says that Rails is particularly notable for its easy maintenance and the fact that it lends itself to collaboration. Kaur says this is a result of the two key tenets Rails is founded on: DRY (Do Not Repeat Yourself) and Convention Over Configuration. Kaur points to these two descriptions from the Rails website:

  • Don’t Repeat Yourself: DRY is a principle of software development which states that “Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.” By not writing the same information over and over again, our code is more maintainable, more extensible, and less buggy.”
  • Convention Over Configuration: Rails has opinions about the best way to do many things in a web application, and defaults to this set of conventions, rather than require that you specify minutiae through endless configuration files.”

In other words, not only does the Rails web framework cut down on the time sink of re-coding repetitive tasks, but—by using Rails code—Rails developers keep their overall work cleaner, less prone to bugs (bad, ineffective code), and easier to troubleshoot when problems do occur. At the same time, Rails subscribes to an overall method of best practices for Rails developers that removes the need to leave behind instructions and rationale for your coding decisions (through configuration files) in the code you write—instead, Rails developers work from the shared common ground of Rails conventions. “In the past I’ve built web applications that became unwieldy pretty fast, even when they were not big projects,” Kaur says. “Rails’ two tenets help prevent that, along with a terrific Rails community of users and great open-source libraries (Rails is open-source, meaning its source code—the code that makes it work—is open to the public and the framework itself is free to use).”

Finally, Rosie Thomas, Ruby Engineer at financial data software company MX, adds that—as a web framework—Rails is most commonly used to build full web applications (web apps like GitHub, Basecamp, and Kickstarter were all built using Rails) and APIs (systems of tools and resources that are then used by developers to create software applications). Because of this, Thomas says, tech jobs that focus on providing browser-based applications or APIs are likely to use Rails and hire developers with Rails experience. As of this writing—Glassdoor lists nearly 6,000 open jobs for Ruby on Rails Developers.

Is Rails Okay For Beginners?

While HTML and CSS (markup languages used to define the parts of webpages and to adjust colors, fonts, etc.) are often pointed to as gateways for becoming a web developer, where does that leave web frameworks like Rails? Is Rails something to tackle only after you’re deep in the throes of tech skills, or is it something that’s in reach for a beginning web developer, too?

According to Laura Bârlădeanu, Tech Lead at mind mapping software company MindMeister, Rails is actually very beginner friendly. In fact, Bârlădeanu says, Rails is SO beginner friendly that she and other program organizers are able to teach women and girls who’ve never programmed before how to use Rails in only one day during Rails Girls workshops. Rails Girls is a global, non-profit volunteer community dedicated to helping women understand technology, and the entire enterprise was founded on the back of Rails as an instructional tool. “I’ve coached at several of these events, and I can safely say that Rails is a very suitable framework to learn as an entry into programming,” Bârlădeanu says.

However, to talk about Rails and its relevance for beginners, it’s important to take a step back and understand that it’s not just the Rails framework that’s beginner friendly, but the Ruby language it’s built on as well. “Rails IS Ruby,” Bârlădeanu says, “or it at least exists on top of Ruby.” According to Bârlădeanu, this means that understanding Rails will involve learning at least some parts of the Ruby programming language—though nothing beyond basic concepts and syntax. “Ruby is a scripting language that has more applications than using it through Rails,” Bârlădeanu says. “For instance, Ruby developers can use it to write a script that moves all your music files that have the name of your favorite band into a folder with that band’s name.” Bârlădeanu says to think of the Ruby language like flour—you can use it to make bread (or Rails), but also pizza, shortbread, etc.

Thomas reiterates that the Ruby language itself—and not just the Rails web framework—is a solid choice as a beginning coding language. “It’s what I started with!” says Thomas. “It’s easy to read and does a lot of the work for you. Other languages, like C, require a lot more code to do something you can accomplish in a few lines with Ruby.” While Thomas says this isn’t without some drawbacks—more complicated programming languages ultimately offer more options and control—it works out well for someone just getting started with web development. Thomas also says that Ruby is more than capable of carrying you through to an intermediate level of programming. “I’ve been using Ruby and Rails for three years now, and I don’t see myself stopping any time soon,” Thomas says. “Rails is like an extension of Ruby—once you’ve learned Ruby basics you can start to learn Ruby on Rails.”

What Makes Ruby and Rails Different From Other Programming Languages and Web Frameworks?

So we know that Rails is a framework that lets Rails developers harness the Ruby language for developing websites, and both Ruby and Rails are good skills to learn for tech beginners, but what exactly sets Ruby and Rails apart from other programming languages and web frameworks? Why would someone use Rails to build a web app instead of HTML, or CSS, or JavaScript?

Sokolyk says one of Ruby’s key characteristics is that it’s an object-oriented programming language. Unlike some languages that function by giving a computer a list of tasks to execute, an object-oriented programming language lets a developer create virtual objects in their code. Each object can have its own specific attributes and abilities and can interact with other objects to perform actions. Groups of objects can then be given instructions based on those attributes and how they relate to one another. If you think of objects like virtual building blocks, a group of A blocks can be used to build a tower, while a group of B blocks can be instructed to create steps leading to the top of the tower. An object-oriented language makes development less complex by giving programmers structures to work with that resemble building in the real world. Objects can also be easily reused in future programs.

To give an example of what programming with Ruby looks like, compare writing a simple function in Ruby with writing the same function with PHP (another scripting language that can be used for similar functions as Ruby).

To print the worlds Hello World on a web browser screen in PHP you would need to write:

echo “Hello World”;

Notice the non-intuitive use of a semicolon and the command “echo.”

On the other hand, to do the same thing with Ruby you would simply write is

puts “Hello World”

Ruby lacks the extraneous semicolon, and uses the more spoken-language-like “puts” command. Extrapolate this small example into hours a day writing code with increasingly longer and complex functions, and you can see how the Ruby interface can save time and boost efficiency.

Where Rails comes into play is that if you were to simply write “puts “Hello World”” in an HTML document, if would show up exactly as written in a web browser. Rails provides the framework for entering these Ruby commands into the code of a website or web application.

Finally, where Ruby and Rails really differentiate themselves from other web development languages (HTML, CSS, JavaScript, etc.) is that HTML, CSS, and JavaScript all define and control the “front end” aspects of websites and web apps—the things a user sees and interacts with through their web browser. Meanwhile, Ruby on Rails works on the back end of websites and apps to request and fetch data from databases and to display data that contains HTML, CSS, and JavaScript content.

What Are Some Ways to Learn Ruby on Rails and How Long Should You Expect it to Take?

When it comes to learning Ruby on Rails, you can start picking up skills from the usual suspects—you can take a free Ruby on Rails tutorial from sites like Udemy and Code Academy, enroll in a paid online class with instructor support, or learn tips from forums on programming sites like Stack Overflow. Because of Rails’ strong community support, there are also dedicated Rails organizations (like Rails Girls mentioned above, and RailsBridge) that offer Rails classes, meetups, and workshops. Sokolyk says that she learned Rails through courses organized by RubyGarage, the company she now works for. This led to an internship after she graduated, and eventually a full-time position as part of their web development team. Meanwhile, Thomas learned Ruby and Rails by attending a three-month long bootcamp program with two instructors and about 20 other students. Thomas worked as a TA at the bootcamp after she completed the program, and says that teaching helped solidify what she learned.

As far as how long you should expect the Rails learning process to take? When it comes to nailing down the basics you can expect a relatively short learning curve. Bârlădeanu wrote her first lines of code in Rails on her first day of working with the framework and was able to build a Rails application after one month, while Kaur says it took her about five days to familiarize herself with Rails to the point where she could make a simple web app. However, once you have the basics handled, Thomas says working with Ruby and Rails will be a constant learning process. “I still learn things I didn’t know, and that’s half the fun,” says Thomas.

The takeaway? Ruby on Rails is a powerful web development tool that adds a back end dimension to front end skills like HTML, CSS, and JavaScript. While Rails is a crucial skill to add if you already have tech skills, it’s also user-friendly enough to be a totally manageable entry point into programming and web development.

Get Our FREE Guide to Landing a Junior Developer Job

Get Our FREE Guide to Landing a Junior Developer Job

Find out EXACTLY what you need to do to land your first full-time job as a web developer.

Leave a Reply to Eric Lai

Your email address will not be published.

Cancel

28 comments

  1. consumo de un electrodomésticos baratos Replied

    Samsung es una marca coreana que comenzó su andadura en 1938 y es una de las más importantes empresas de Corea del Sur en todo el mundo. En 2004, Samsung firmó una alianza con Sony que se dedica a la fabricación de pantallas de cristal líquido para televisores, con una enorme capacidad de producción. La marca Samsung se caracteriza, también, por la calidad y originalidad en el diseño de todos sus aparatos, así como su atractivo y sobriedad. La rama de la gama blanca de SAMSUNG ha desarrollado una línea muy personal de aparatos de aire acondicionado.

  2. zvodretiluret Replied

    Nice post. I learn something more challenging on different blogs everyday. It will always be stimulating to read content from other writers and practice a little something from their store. I’d prefer to use some with the content on my blog whether you don’t mind. Natually I’ll give you a link on your web blog. Thanks for sharing.

  3. abbyy finereader 14 download with crack Replied

    Simply wish to say your article is as astonishing. The clarity on your post is just great and i could think you are a professional on this subject. Well with your permission let me to grasp your feed to keep up to date with approaching post. Thank you a million and please carry on the gratifying work.

  4. Robert Andrews Replied

    I don’t know if you’re right or wrong – but this is nice and clear and makes it sound accessible. Thanks.

  5. visite site Replied

    I loved as much as you’ll receive carried out right here. The sketch is tasteful, your authored material stylish. nonetheless, you command get bought an impatience over that you wish be delivering the following. unwell unquestionably come more formerly again since exactly the same nearly very often inside case you shield this increase.

  6. Gaylord Zeno Replied

    I agree with your details , excellent post.

  7. Hillomaisteri.com Replied

    I cannot thank you enough for the blog post.Really thank you! Will read on…

  8. Waldo Ashner Replied

    Spot on with this write-up, I truly think this website needs much more consideration. I?ll probably be again to read much more, thanks for that info.

  9. Oscar Replied

    I’ve never read a blog write so simple about a framework that makes it easier to understand. If only people can write like this, it would make studying so much easier.
    Thank you Randle

  10. Vinnie Replied

    The Ruby on Rails Blueprint link just takes you to a 404 error page

  11. Eric Lai Replied

    At LARION.com we have seen the advantage of Rails together with the demand of our clients since 2006 when we first engaged in a software development project in healthcare! Highly recommended to give it a try if you are new to Rails!

  12. Mustafa Replied

    Hey, i would like some advice on learning to program, i have no experience in writing any programming language , i do know how to install wordpress, setup an hosting and change little things on purchased html 5 theme’s but that’s it. How should i proceed and what is the best platform to learn.

    With kind regards

  13. Amit Replied

    No offense, Ruby and Rails are not not as popular as your are making it appear. I don’t find many Ruby developers except in Japan, that’s also coz it was born in Japan. What makes you think that it is such a big deal to learn Rails.

    • Cameron Chapman Replied

      While it’s nowhere near as popular as PHP and WordPress, there are a ton of really high-profile sites that have been built with Ruby on Rails. Sites like Airbnb, Twitter, Basecamp, Fiverr, Hulu, Kickstarter, and SoundCloud. Kelli Smith created a roundup of more than 30 well-known sites a couple years ago and there are even more sites built on Rails now. You can see the list here: https://skillcrush.com/2015/02/02/37-rails-sites/

      And a quick search on LinkedIn Jobs shows more than 2,000 current Ruby on Rails job openings in the US alone.

      • Adrian Valenz Replied

        That dude, Amit, he doesn’t know what he is talking about. He must be a noob or something.

    • Nami Replied

      It is Ruby that was born in Japan, not Rails, it is created by David Heinemeier. Ruby is a programming language while Rails (Ruby on Rails) is a framework/structure that use Ruby to work on. Thats all. And it just weird that you don’t find many Ruby on Rails developer when there are tons of them around the world. Its true that Ruby on Rails is not so popular but it will be someday. I mean, Ruby on Rails is just released in 2004! C’mon dude :D

  14. FrancesID Replied

    the link to the Ruby on Rails blueprint isn’t working :/
    Is the blueprint still being offered? 

  15. Tyrone Post Replied

    Want to write a hello world in Java?

    public class HelloWorld {
      public static void main(String[] args) {
        System.out.println(“Hello World”);
      }
    }

    Or you can write it in Ruby:

    puts “Hello World”

    :-)

  16. Hash Replied

    What do you suggest for me. I am a computer science graduate with beginner experience of c++ , Java, Android and few hardware languages. I have no experience of HTML but i know i can understand the syntax of any language if i start to learn it. RoR jobs are highly paid in my country. 

  17. Aparna Replied

    very motivational and logical reasoning as to why anyone has to learn ruby and rails.
    Kudos to the article  :)Sa

  18. Miguel Replied

    I like ruby. But I have to say that you won’t develop applications at lightning speed if you don’t feel natural with the language in the first place. There’s no magic potion. :)

    • ken Replied

      You nail it. ROR does a lot of magic, i.e. convention over configuration. I don’t like magic, unless I understand how it is done otherwise you will spend a ton of time debugging.

      Java script is taking over full stack development. You don’t have to learn two languages, e.g. Angular 2 & Hapi.js (walmart uses this back end framework) can deliver a high-traffic website.

      ROR has deep learning curve if someone is new to programming. Javascript/HTML should be first choice for beginners. You never learn framework first but language.

  19. Rustam Replied

    Great breakdown. You are so easy to read and understand. Keep up the good  work! 

  20. Pingback: 13 Things You Need To Know About Ruby On Rails - AlleyWatch

  21. Pingback: Sites You Love Built With Rails

Want more articles like this?

Sign up to get the most recent tech news, tips and career advice.