By Brook RiggioDecember 5, 2013

This is Why Learning Rails is Hard

It’s in the name. Rails depends on Ruby. But anyone learning Rails would tell you it depends on a lot more.

There is a whole corpus of tools and concepts that a modern web developer must be familiar with. On top of those, Rails comes with its own flavor of conceptual requirements. Just how much do you need to know to be effective as a Rails developer? Here’s a mind-map I generated of the conceptual landscape underpinning a modern, competent web developer using Rails:


There it is. That’s all you need to know!

If this looks intimidating to you, you’re not alone. The flowchart is a high-level overview of the set of things you’ll want to understand the essence of to be considered “competent” as a modern Rails developer. Get started with just the basics and use the graphic to guide your learning process.

The branches on the left side are general areas of knowledge that would be understood by any web developer. The branches on the right are specific to Rails. The right side also holds general practices done the “Rails Way” (VCS? Git! Process? Agile!). The list covers topics that two Rails developers could expect to discuss upon meeting for the first time.

This is Why Learning Rails is Hard

Labeling something as hard or easy generally references familiarity. Something is easy if you know how to do it, while something is hard if you have to figure out the steps as you go. Learning Rails is hard because there are many independent concepts to learn. If you are not already a web developer (competent with the branches to the left), then the prospect of learning a variety of concepts to do the simplest things in Rails can be daunting.

Luckily, these competencies can be developed in parallel or independently. You can learn about Git while you are learning the command line. You can learn to deploy a basic Rails app without understanding anything about all the testing framework alternatives (or even VCS, for that matter). Any skill developed with the Ruby programming language will boost Rails efficiency and understanding.

The Best Way To Learn

This is the foundation that supports the skills of a Rails developer. With it, we can explore the best way to achieve each of the Ruby on Rails competencies.

Do you know what style of learning works the best for you?

Some can pick up a new skill just by reading a book or watching a screencast. I’ve found that I learn best by watching the way other people do something, and asking them questions about what I don’t understand.

Looking for more resources? Find out the seven ways I recommend beginners learn Ruby on Rails.

If you’d like to find out how you can learn Ruby on Rails at Code Fellows, check out our Ruby on Rails Development Accelerator or shoot us an email.

Get job-ready in Ruby on Rails »

Thanks to Trevor Bramble and Jack Danger Canty for reviewing and providing feedback on this article and the graphic.