I spent a significant amount of time this Summer learning Ruby on Rails and, of course, I’m still learning. I wasn’t completely new to Rails when I started; I’ve worked in Rails apps in the past, but as the Front End Developer, I worked mainly in the views directory. Earlier this Summer though I decided I wanted to really dive deeper into the framework and learn it properly.
I tried various methods of learning and found out what worked for me and what didn’t. I’ll go over those here and hopefully help you on your path to gaining a deeper understanding of Rails.
What Worked For Me
- Ruby on Rails Explained for Front End Developers
- Pragmatic Studio
- Ruby on Rails Tutorial (simply known as the Michael Hartl Tutorials)
Ruby on Rails Explained for Front-End Developers
My first step, earlier this year, was to read “Ruby on Rails Explained for Front end Developers”, which turned out to be a great quick into. There’s not too much to the book, but that’s by design. It’s enough to get you familiar with the directory structure and a high level overview of the way things are interacting with each other behind the scenes.
The Pragmatic Studio series is where I really learned both Ruby and Rails, and so far has been the best investement for me in terms of both time and money. There’s three courses in total:
All three courses together will run you about $450.00, but it’s absolutely worth it.
What makes the series stand out from the others is the fact that you’re building a similar app alongside the instructors instead of mimicking what they’re doing on screen. You watch a lesson, then implement the lesson concepts you just learned in your own app. Writing your own app is vital to truly understanding what you’re doing. I had a million a-ha moments while watching the courses.
Ruby on Rails Tutorial
The Michael Hartl tutorials are the intense deep dive that every aspiring Rails developer needs to make at least once, but more likely twice. He’s thorough and getting through all the lessons will take you some time. When you finally come out on the other end though, you’ll have a completed Twitter clone and an in depth understanding of Rails. Take your time though and run through it twice. I definitely picked up more the second time through than the first.
Since I’ve taken the course earlier this Summer, he’s updated the book and retitled it to Ruby on Rails Tutorial – Learn Web Development with Rails. The update looks like he’s taken out a lot of the more complex topics from the first book to make it more approachable. Much of the last edition was setting up your environment and getting things working properly, which can be a bit daunting for a true beginner. I think this new streamlined approach will be great.
What Didn’t Work For Me
Lynda.com is a fantastic service. I’ve had an account off and on for years, and found the Rails instructor, Kevin Skoglund, to be really good at going through each feature in the framework. The “Essential Training” course is extensive and clocks in at almost 13 hours.
What I found that didn’t work for me was it counter-acted my own style of learning. I simply don’t learn coding passively. So, while I enjoyed watching the series, I felt like everything I learned leaked out of my brain fairly quickly. I had learned a ton, but had no where to apply it in the real world. I need a project to sink my teeth into to really learn.
Agile Web Development with Rails 4
Agile Web Development with Rails 4 is a book that walks you through building out a Rails 4 app with e-commerce and sign in/sign out features. While the fundamentals in the book are great, I was really disappointed to be using scaffolding in the project. I sat in a quiet corner at the local library for 3 days going through each step, but that annoyance in the back of my head that I was using scaffolding started to bother me more and more, until I ended up abandoning the book midway to return to the Hartl tutorial.
I understand why the authors chose to use scaffolding, but for me personally it felt like it was using too much ‘magic’, which was exactly what I didn’t want to do.
My Recommended Learning Path
There’s a lot of training sources out there, and I can only speak to what I’ve tried. That said, my recommended path to Learning Ruby on Rails is:
- Ruby on Rails Explained for Front End Developers – Time: a quick read finished in a few hours
- Pragmatic Programmers – Time: about a month to go through all three courses
- Michael Hartl Tutorial – Time: a month to go through it once, but I recommend that you do it twice
Completing these courses will certainly put you in a path to either build your own app, or be ready for at least a Junior Rails Developer interview. I’m not a Rails expert by any stretch of the imagination, but I feel like I’m in a good spot to become a more full-stack developer now.
I’ve always happily relied on CMSs to take care of backend duties, and while still use (and love) CMSs, I have a much greater understanding of them now, (especially how they work with the database). I also have a much better understanding of MVC frameworks, and how all the parts interact with each other, which will set me up for any of the myriad of MVC frameworks out there today.
Good luck on your own journey.