My experiences so far learning Ruby and Rails

I’ve been working on building my web development skills for six months or so, and in that time I’ve experimented with a number of different methods for learning what I need to know. I started out with resources like Treehouse and CodeSchool and a couple of Udemy courses (like this one). These were great for picking up some HTML, CSS and JS fundamentals but wanting to turn this into a career, I knew I had to dig deeper. These are my thoughts on some of the courses I’ve completed so far.

BaseRails

My first experience learning Rails was with BaseRails. At the time they had four projects available, including building a web scraper, and simplified clones of Etsy and Yelp. I ran through all four projects in a couple of weeks, and while they were a good introduction they didn’t cover any particular topic in depth; I built a few apps but at the end of it I didn’t necessarily understand how all the pieces fit together.

I’d recommend BaseRails if you’re brand-new to Rails and want to get a quick overview of how it all works by actually building stuff, rather than reading a book (I know I learn more by building than reading). BaseRails costs $25 per month and each course only takes a few hours to get through; you’ll comfortably be able to cover all of the material within one month.

The Rails Tutorial

Rails Tutorial Sample App
The Rails Tutorial Sample App. It doesn't look like much but what's under the hood is production-quality.

Wherever I read about the best way to learn Rails, Michael Hartl’s Rails Tutorial featured prominently. The tutorial is probably the most well-known resource out there for learning Rails and is now up to a 3rd edition.

The tutorial guides you through building a full-featured Twitter clone, with user authentication, SASS, deployment to Heroku and Amazon S3, SendGrid integration, and TDD all covered (TDD is covered in some detail). It has you build user authentication from scratch which ends up being a lot of code, but it’s cool to now know how to do this rather than having to rely on a gem like Devise.

I’ve completed the course once but found myself tuning out a bit in the latter TDD-heavy chapters so I’m currently running through it for a second time and I’m definitely picking up more the second time around. The book is free to read online so you’ve got nothing to lose by giving it a go. I bought the pack that includes screencasts for each of the chapters and I found these to be really helpful in solidifying my understanding. Some of them are quite long (up to two hours) so I’d suggest using the book first and then referring to the screencasts if you get stuck, or just want to get a really solid understanding of the material.

The Pragmatic Studio

Pragmatic Studio screenshot
The Pragmatic Studio learning environment

I first heard about The Pragmatic Studio through a blog post by Patrick Jones. I jumped into learning Rails without knowing much about Ruby as I was excited about building projects I could have live on the web, rather than basic command-line programs. The further I got into the Rails Tutorial the more I realised that if I wanted to learn (and understand) everything properly it would make sense to go back to basics and get a solid grounding in Ruby before going any further.

I signed up for their Ruby Programming course and I got a lot out of it, including the confidence that I have what it takes to be a developer, albeit one with a lot more learning to do. The course comprises around 20 hours of video broken up into 5-20 minute lessons so it’s easy to knock over a couple of lessons a day without having to set aside a heap of time. The instructors (Mike & Nicole Clark) are fun to watch, and rather than copying what they are building on screen the course has you building a program that is similar in functionality but different enough that it feels like a bit of a challenge. Like the Rails Tutorial I ran through this one a second time and got a lot more out of it. The course runs at $169 (less if you’re a student) and I’d definitely recommend it for anyone looking for an introduction to Ruby.

Tealeaf Academy

I started with Tealeaf Academy last week on their Introduction to Ruby and Web Development course, and plan to follow this up with their two more advanced courses. It’s only early days but I’m learning a lot and already feeling more confident as a Ruby developer. I’ll be writing about my experiences with Tealeaf as I go; you can read about the first course here.