Ready Set Rails
  • Rails Fundamentals Workshop
  • Pairing as a Service
  • How to learn Ruby on Rails
  • Installing Ruby on Rails

This is Why Learning Rails is Hard

Posted on March 27, 2012 by brookr in Novice, Rails, Ruby

Ruby on Rails Has Many Dependencies

It’s in the name. Rails depends on Ruby. But as anyone learning Rails can 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 it’s own flavor of conceptual requirements. Just how much do you need to know to be effective as a Rails dev? Here’s a mind-map I generated of the conceptual landscape underpinning a modern, competent web developer using Rails:

Map of Rails Competencies
There it is. That’s all you need to know! ;]

If this looks intimidating to you, fear not! You can get started with just the basics. This should give you 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. Use this 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!). As a guideline, I made the list based on what I thought one Rails developer would expect to be able to talk about with another Rails developer upon meeting for the first time.

This is Why Learning Rails is Hard

Using terms like “hard” and “easy” generally refer to familiarity. Something is easy if you know how to do it. Something is hard (in one sense) if you have to figure out the steps as you go. Learning Rails is “hard” because there are many independent concepts to learn, and if you aren’t already a web developer (competent with those branches on the left), then it can feel quite daunting to have to understand such a variety of concepts to do the simplest things in Rails.

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 you develop with the Ruby programming language will boost your Rails efficiency and understanding.

The Best Way To Learn

With this foundation of what a Rails developer’s skills are built upon, we can explore the best way to go about achieving each of these competencies. In the following posts in this series, I’ll look more in-depth at the individual competencies and how to best approach learning them. Pick the path that best matches your existing skill set.

Do you know what style of learning works the best for you? I’ve met people who pick up new skills 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.

If you’re like me, and are ready to dive in, sign your butt up for my 8-hour get-over-the-learning-curve “Learn by Doing” Rails Fundamentals Workshop, May 31st & June 1st (9a-1p both days). It’s a live, online workshop, so you can attend from anywhere, and ask your own questions. Over the course of the workshop, you will learn to create and launch your own web app. Brilliant!

 

(My thanks to @TrevorBramble, @JackDanger, and @Carlos d’Avis for giving valuable feedback on early versions of the map and post.)

4 comments on “This is Why Learning Rails is Hard”

  1. Nate says:
    September 19, 2012 at 10:24 am

    I’d love to know what tools you used to generate the graphic.

  2. Quora says:
    May 19, 2012 at 1:23 am

    What’s the best way for a beginner to start learning Ruby on Rails?…

    People have many different learning styles, so naming one “best” way for all beginners is difficult. However, there are some basic principles of human nature that might light the way. Specifically, we know practicing anything gets us better at that t…

  3. Marina Pina says:
    April 21, 2012 at 12:13 am

    Very useful graphic… Thanks!

  4. Chris J says:
    April 6, 2012 at 11:58 pm

    This map would’ve been great to have when I was learning rails!

(c) 2012 Ready Set Rails: Learn by Doing