Aston J

Best way to learn Ruby & Rails

Posted on: October 9th, 2011 by AstonJ 57 Comments

That’s no typo, I really did mean Ruby and Rails – but before you run off (those looking to learn only Rails) read on… I started off wanting to learn just Rails too, but I quickly realised two things:

  • Rails will only get you so far – to be anything close to a Rails ninja, you need to learn Ruby (Rails is Ruby underneath it all). While Rails goes out of its way to simplify a lot, once you begin to do more complex stuff you’re going to need to know Ruby – and because Ruby is so easy to pick up anyway it makes sense to learn it from the outset. It will not only save you time in the long run, but will also help you learn Rails as well, because you’ll have a better understanding of what’s going on.
  • Even if you came for Rails, most likely you will stay for Ruby – like so many of us! The more you’re exposed to Ruby the more you’ll want to learn it. Ruby is an awesome all-purpose language with a multitude of uses (it’s not just for web apps!) so is well worth adding to your repertoire. Trust me, it will quickly become your favourite language, but if you still need convincing, check out this post.

If you’re only interested in learning Ruby, just skip over the Rails bits. Ok let’s get started!

Is there really a best way to learn Ruby & Rails?

Of course – whatever works best for you. But if you don’t have a crystal ball, and if you’re anything like me where you’d just like someone to come out and say, “Look, do this, this and this – then this, this and this, and you’ll be well on your way!” then you’ve come to the right place.

Ideally you’ll want to do everything mentioned here, but if you’re on a tight budget I’ve rated things as either essential, highly recommended, or optional. A lot of the material listed here is either in beta or hot off the press – so you’ll be cutting edge too!

Update: Wondering whether this is a good guide to follow? The powers that be in the official Rails IRC chat room seem to think so – a link to this page is now returned with the “!learn” factoid/helpa bot in the #rubyonrails channel!

Look no affiliate links

I don’t want anyone to think I am recommending material because I am getting commission (despite some of the affiliate schemes offering 50%!) so rest assured I have read/watched everything I am recommending and I am in no way getting paid for it.

Is this list still current in 2014?

I reckon it is – just get the latest versions of the books or resources mentioned, most of them will have been updated. You don’t need to worry too much about the Ruby books though, they will still be very relevant.

Step 1 – Get excited!

This is probably where you are right now. You’ve read about the wonders of Rails and the beauty of Ruby, and you’ve made a decision to jump in. Great – you’ve made an excellent choice!

If you haven’t got yourself excited yet, read some of my previous articles on Ruby and Rails, then check out the blog in 20 minutes video just to whet your appetite and to give you an idea of what’s possible with Rails.

Then go ahead and do some (or all) of these:

TryRuby.org – a great way to learn the basics of Ruby via the browser.
RubyMonk.com – another nifty ‘do it in the browser’ tutorial!
RubyKickstart.com – just discovered this, haven’t done it myself but it looks good.

I assume you already have some basic knowledge of HTML and CSS, if not do a quick google – you just need the basics and neither are difficult to pick up.

On a tight budget?

Get digital versions whenever you can (especially if you’ve got a Kindle!) often publishers offer up to 40% (sometimes 50%) off! If you can’t find any discount codes, be cheeky, email (or tweet) the publishers asking if they have any (or if any are due soon) you might get lucky!

Step 2 – For beginners!

If you are new to programming, or OOP (object orientated programming) then we’re going to start with the wonderful Learn To Program by Chris Pine. You can read it FREE online, or you can buy a book (that includes answers) from pragprog.com

Learn To Program is a lovely introduction to programming (and OOP) and luckily for us, just so happens to be in Ruby! It also makes you realise you don’t have to be Einstein to be a programmer – I really like how Chris makes the reader feel like anyone can learn, not just the super smart or the super geeky.

This book is essential if you’re new to either programming or OOP, but highly recommended for any relative newcomer – read it just as a motivator if nothing else. It’s short and sweet, and helps you lose the “I don’t think I’ve got a programmer’s brain” mindset as well.

Step 3 – Essential Ruby Training

This one’s a breeze, because it’s visual – just sit back, relax and soak it all up.

Kevin Skogland’s Essential Ruby Training over at Lynda.com is a great addition to this guide. The screencasts are some of the most professional I have seen (and contain almost 7 hours of content!) and Kevin really knows his stuff, and knows how to get you to know it!

As the next step is also from Lynda.com you could easily take out a single month’s subscription and get both done for around $25!! (£15!) What a bargain! But it’s not just the price that earns this an essential – the videos are extremely well produced with good, relevant content …and at the perfect learning curve.

Step 4 – Ruby on Rails 3 Essential Training

Everything I’ve said above applies here. One of the reasons I like this course is because there’s no mention of TDD (test driven development)! As great as TDD is, for a n00b it over complicates things a bit too much, hence this course is very well balanced and great for people just starting out with Rails.

It’s 12 hours long – but in perfect 5 to 10 minute clips. Another well earned essential!

As with step 3, there’s no need to go through the demo app or exercises yourself. That’s the beauty of screencasts, you don’t really need to as you get to see everything on screen (plus, you’ll be getting your hands dirty later!) You can get it here

Ruby Ruby Ruby Ruby Ruby

We’ll be concentrating on Ruby for a while now. The Rails course above was to give you a taster and for you to be mindful of the basics of Rails while learning Ruby. We’ll come back to Rails later, by which time you’ll be pretty well versed in Ruby :) (Btw, if you haven’t heard it.. Ruby Ruby Ruby Ruby Ruby. )

Step 5 – The Well Grounded Rubyist

I was totally hooked on this book when I first picked it up, it just made so much sense. I was also extremely impressed (and grateful!) with how David A Black explains every bit of code he includes – that’s such a big deal because it stops you from losing morale or feeling stupid. David is a real life teacher (it shows!) and the little touches and thoughtfulness in this book make it shine.

If you really didn’t want to do the three previous (Ruby) steps, you could quite easily jump right in here as this book covers the basics well – but try not skipping any steps if at all possible! This book’s not just about the basics either – it covers a great deal, spread over 15 well paced (and highly enjoyable) chapters.

No surprise this is an essential purchase. Get it here

Don’t be afraid to re-read chapters

Just want to quickly mention that as things are getting a bit hotter now, don’t be afraid to re-read chapters if things don’t quite sink in first time round. In the book above for example, I re-read the chapters on enumerators and enumerables.

Step 6 – Design Patterns in Ruby

Don’t be fooled by the age of this book – it’s still very relevant today, and absolutely without doubt, one of my all time favourites!

It’s all well and good knowing the fundamentals of a language (which you just learned from The Well Grounded Rubyist) but like any tool, it’s what you do with it that counts – and that’s where this book excels. It shows you how you might use Ruby in different situations.

Russ Olsen is clearly an eloquent writer, with a wealth of knowledge that he happily imparts in this easy to digest, amicably toned book. Another essential purchase. You can get it from here

Step 7 – Eloquent Ruby

Remember I said Russ Olsen was an eloquent writer? Fitting then, that he’s written Eloquent Ruby too!

When I read this book I highlighted so much of it on my Kindle that in the end, I thought forget that, I might as well read the book again later! There’s just so much in this book that you’ll find useful, interesting and noteworthy.

Eloquent Ruby teaches you how to use Ruby, well. Good clean idiomatic Ruby that you can be proud of. Apart from being a gifted writer, Russ is also an all round nice guy – and that warmth and friendliness shines through in his books – making them a very enjoyable read. You can get it from here another essential purchase.

Step 8 – Test your knowledge with Ruby Koans

It’s time to put your new found knowledge to the test! Simply head on over to Ruby Koans and answer the questions. The Koans promise to walk you along the path to enlightenment, and although they set out to teach you the Ruby language, syntax, structure, and some common functions and libraries, I think it’s an excellent refresher/quiz. Perfect to test what you’ve learnt up to here.

If you get stuck, check out my post that helps you with the answers: Ruby Koans Answers although you don’t need much help really, apart from knowing that there aren’t any trick questions it really is as simple as it sounds.

Back to Rails

As you’re now a Rubyist ;) it’s time to get back to Rails. There’s a little more Ruby a little later tho (The RSpec Book) so skip on ahead if you’re only interested in the Ruby side of things. Otherwise get in gear because we’ve got some really cool stuff coming up.

Step 9 – Rails for Zombies

You’re going to love this! Rails for Zombies blew our minds when it first came out – cos it’s slick, gory and awesome all at the same time!

Not only do you get to watch some slick videos, but you actually get to try out what you’ve learned by answering questions after each segment – via the brain browser. Getting an answer wrong gives you instant feedback, and you can only proceed to the next level when you’ve answered all the questions correctly. So the Zombies force you to learn :p (Don’t worry, you can ask them for hints if you get stuck.)

It’s a super way to learn, and did I mention it’s FREE! There’s no way on earth this wasn’t going to be an essential! Get over to railsforzombies.org now (well not now, when you’re at step 9!) and make sure you do each level a number of times – up to the point where you don’t need to look at the slides (or videos) to answer the questions. That’ll really help drum it into your brain.

Step 10 – The Rails Tutorial

This Rails Tutorial is a great walk-through, where you get to create a Twitter-like app. You als get to use RSpec and a few other handy gems along the way as well – which makes this tutorial well worth doing, even if just to get another person’s perspective on how they might go about developing with Rails, especially as it’s free!

The book therefore, is essential (It’s free!) and the screencast is highly recommended, as you can just sit through it and not have to bother doing the actual tutorial yourself (if you don’t want to). There’s also some extra tid bits of info with the screencast, and Michael adds a bit of humour along the way too. Get the info here: railstutorial.org

Step 11 – Agile Web Development with Rails

This is the ‘official’ Rails book, being co-authored and endorsed by the creator of Rails himself, DHH. Needless to say it covers the default Rails stack, so if you’re _not_ interested in RSpec (or Cucumber) then this book will be of great interest to you. The ‘Getting Started with Rails’ chapter of the official Rails Guides are a perfect compliment to this book as it doesn’t cover the absolute basics itself – so this mini review assumes you have read that chapter first.

The book is well written and the tutorial is especially helpful if you’re interested in creating a shopping cart system. My favourite part of the book though, was part 3 – getting into the nitty gritty! I’m also very impressed with how Sam keeps this book updated for all major versions of Rails – it has just been updated to cover Rails 3.2 (and if you bought the eBook you get free updates!!) It’s a great book, but for this reason alone the book gets an essential rating – there aren’t many books that get updated as often as this one! You can buy it from here.

Step 12 – Rails Best Practices

I really, really, enjoyed this course. I’d already read a few books and gone through various Rails tutorials, yet it still managed to teach me a thing or two! I especially like some of the pro tips that the Code School team have included – and in a fun, engaging format too. Rails Best Practices is, imo, essential, although if you’re on a tight budget then it becomes a highly recommended as one might argue it’s more expensive (and contains less content) than a book.

To get the most out of it, be sure to do the course over and over again, to the point where you don’t need to refer to the slides to answer the questions – Code School really is a great way to learn and this has definitely been my favourite Code School course to date. You can check it out here.

Step 13 – The RSpec Book

I bought this book to help me conquer my fear. I imagine most people new to programming dread hearing the letters TDD and BDD – because we’re far more interested in learning how to get things done, not learn how to test the stuff we’re doing on trying to get things done! So I thought, well I’m gonna have to jump in bed with this TDD devil to stop being so god damn scared every time it’s mentioned. So I did, and you should too.

This is a great book, not only teaching you RSpec (and Cucumber) but because it also contains plenty of tips on good coding practices, as well as of course the fundamentals of TDD and BDD. After this book testing makes heaps more sense – and so for those of you interested in using RSpec in your apps, this book is without doubt an essential purchase – for everyone else, it is highly recommended. Get it from here.

Step 14 – Rails 3 in Action

This book is a really good walk through of Rails, where you get to see how a world class developer would go about creating a Rails app. This means it has the added bonus of covering tools such as RSpec and Cucumber, as well as other important and widely used gems.

I also like Ryan’s writing style, he talks you through what’s going on, making it easy for you to picture things in your head – so you don’t feel lost or stupid. Ryan’s actually a big fan of The Well Grounded Rubyist (it was Ryan who actually recommended it to me) and it’s clear he’s taken inspiration from that book… which is great news for us! He’s also a really cool guy who spends a lot of time answering questions in the Rails chat room – something I think has helped him see things from his readers point of view too, it’s almost as if he’s written the book we would have asked for (what more could we possibly want!?) You can get it from here – an essential purchase because of the aforementioned reasons, and that it covers so much, even things like APIs and Engines.

Step 15 – Go create!

By now you have a very good grounding in Ruby, and an excellent understanding of how you might use Rails – the only thing left to do is go create, and to go create some more. The more you get out there and do it the quicker it will all become second nature. Don’t worry if you don’t remember everything you have read (none of us are that super-human!) the aim is to get a good overview of everything – just go out there and make things, while referring to the following:

The brilliant RailsCasts is almost as old as Rails itself, and is an absolute gem. Not only are so many free, but they are in short handy 10 minute clips that give you a boost of knowledge just when you need it. Stuck on something? Search Railscasts and you’ll almost certainly find something that helps! Recently Ryan announced a RailsCasts Pro Subscription, where subscribers get access to additional content and screencasts (at a very reasonable $9 a month). Needless to say the free episodes are essential, and if you can afford it so is the pro-subscription, but if you can’t, it still gets a highly recommended. Check them out here.

I LOVE the official Rails guides. They are well written and are full of first-class info (especially good for making notes). Originally I thought I’d just refer to them as and when I got stuck on anything, but since they are now available in .mobi, I have started to read them from start to finish on my Kindle – and they have quickly become one of my favourite Rails ‘books’! Don’t look down on them because they are ‘just’ the official guides – they’re essential – miss them at your peril.

Finally, use the Rails API when you need to dig a bit deeper and get help on the specifics.

You’re well on your way – keep at it!

You are well and truly on your way to becoming a hot Ruby and Rails dev. Carry on with RailsCasts, think about joining Code School and giving the Ruby Mendicap University a go too. Keep an eye on other screencasts and material that (often!) pop up in the Ruby and Rails world as well – to keep current. But above all, keep making things – the more you do the more things will sink in.

There are probably lots of great resources that I have missed (or just haven’t got around to yet) so ask around, read Amazon reviews, give anything a go you get a good feel from or the community rate highly.

Here are a few more resources that come highly recommended (all are on my own to-do list) you might want to check them out too:

  • The Ruby Programming Language – By David Flanagan and Yukihiro Matsumoto (the creator of Ruby)
  • Peepcode – Screen casts on Rails and other related topics
  • Programming Ruby, aka the Pickaxe book – by Dave Thomas, with Chad Fowler and Andy Hunt
  • Rails Recipes: Rails 3 Edition – by Chad Fowler (I’ve just started this book – like it already!)
  • Crafting Rails Applications – by José Valim

Good luck!

Advanced Ruby & Rails books? If you’re looking for advanced material, then you’re in luck, cos I’ve started a post on that too: Advanced Ruby & Rails books

Tags: ,
  • http://alegacyreborn.com legacy

    Thanks for the article it definitely pointed me in the right direction to start learning how to program in Ruby. I have been wanting to start learning a new language for a while now and it was between Ruby, Python, or Java. I am certainly glad I chose Ruby :).

  • Pingback: Can’t start at the beginning « smellslikerails()

  • Pingback: Programming languages - Page 2 - Fires of Heaven Guild Message Board()

  • http://ww.studiobrandstof.nl Gordon

    Thanks for this great article! I was looking for a starting point in Ruby/programming and found everything i needed right here.

    I’m currently going through the Chris Pine book wich is really great and have already ordered some of the books from the other steps. I have some experience with PHP but now i’m totally in love with Ruby.

    Keep up the good work!

    • http://ww.studiobrandstof.nl Gordon

      I’m well on my way now doing Step 4 and at the same time reading chapters from The well-grounded Rubyist. As i go along i will update here.

      I have to say that it is really good to have met some of the Ruby basics from step 2 and 3 because watching the RoR video’s in step 4 really make more sense now!

  • Pingback: Ruby and Rails | 5dividers()

  • Kamil

    Thanks for the great post! I already completed TryRuby and RubyMonk to get my feet wet!

    I started to go through RailsForZombies but read a bunch of posts saying people should grasp Ruby better before moving to Rails. So I am going to try become more familiar with Ruby. Great book tip (Well Grounded Rubyist), I am going to read that in tandem.

    I also enrolled in a free online class which seems like it is going to be really cool at http://rubylearning.org. It is a 2 week course that I think they hold every so often. The cool part is that there is a community of people who take it with you, and it supposed to feel like a class. They want you to have a basic understanding of Ruby because they teach you a lot of concepts on how Ruby is used and which technologies it integrates with.

  • Matt

    This is a great resource… I’ve been looking for something like this for a while!

  • Dante

    Thanks a ton. I couldn’t figure out where to start and tried to compile my own list of resources through sporadic research. My list is 40% of the things you mentioned, so I know you’re steering me in the right direction. You rock!

  • http://Endis.com Brett Payne

    Aston,

    Great article and extremely helpful. Working through the steps and running into some sizable books, to say the least! :) From your experience, how long do you anticipate your plan of action taking? it’s always good to know where the light is at the end of the tunnel.

    Again … great work!

    • AstonJ

      Hey Brett – thanks for the feedback!

      I planned on doing the above in around 6 months, but due to unforeseen circumstances (my dog was diagnosed with cancer) it took me a year (spent most of my free time with my dog, preparing his special diet, researching his illness – generally making the most of my time with him – they gave him 3 to 6 months, but he battled on for 11, bless him).

      As I’ve done all the legwork, you could probably do all the above in about 3 to 4 months, depending on how much time you set aside for it.

      I recommend taking as much time as you can off work, and devoting it to learning Ruby/Rails via the ‘course’ above… you won’t regret it :)

      Keep an eye on Gordon’s comments too – he’s promised to keep updating his post with how he’s getting on… would be great if you could do the same! :-)

  • Pingback: » Back on track Johann Kerr()

  • http://j.venator.vc J. Venator

    Thanks for posting such a fantastic aggregation of resource here. I have either completed or bookmarked most of these, and think it’s a solid suggestion list.

    I’d also like to make suggestions for an addition, a +1, and a removal…

    Add: railstutorial.org – Michael Hartle does an incredible job explaining the how and why of things, and has given a tremendous amount to the Ruby/Rails community. I’d recommend doing this one prior to Rails 3 In Action. Also, he just upgraded the free web-based version of the book to Rails 3.2, with updates to the video forthcoming.

    +1: Rails 3 In Action – This book is amazing. It has all the thorough explanation benefits of railstutorial.org, but with more intense testing and a deeper dive into more serious subjects such as API, rails engines, third-party services, etc. Like you said Ryan Bigg did a great job, while helping the reader build a web app that might be more representative of a daily business tool or SaaS solution. NOTE: be sure to use the same versions of Rails and the various gems as the book does or you’ll run into hiccups on occasion.

    Remove: Agile Web Development with Rails – I personally own this book (bought it when Rails 3.0 was just coming out), and have started and failed to finish it on three separate occasions even though my skills have been growing over the past year. They make a really great attempt at building a valuable real-world example app (a shopping cart), but following along can be almost impossible at times as their instructions often to sync to changes in Rails or various gems/dependencies that have been changing over time. They’ve made a huge effort to update the book several times, but there’s always something missing. Of course this happens in the other tutorials as well, but they have either done a better job of minimizing dependencies or utilize better forum tools to provide corrections and updates. The user forums for this book are really bad, which is surprising considering the talent behind the PragProg publishing group. Still might be worth a read if you can borrow it from someone, but I feel that railstutorial.org and Rails 3 In Action adequately fill the needs at this level and are easier to push through.

    • AstonJ

      Hi J – thanks for the comment!

      Railstutorial is already there – step 10 ;)

      R3IA is a great book, completely agree with you there :)

      AWDWR is also a great book, I really like how it’s almost always updated to cover the latest Rails version, and that it also includes other useful stuff, especially if you are going to stick to the default Rails stack :)

  • sami

    Thanks for the list! Will follow your advice.
    One question do you think it is OK to work on Ruby On Rails on Windows? Or Should I switch to Linux?

    • AstonJ

      Most Rails devs seem to use OS X, followed by Linux – so yes if you can switch easily then it’s certainly worth considering. Though I’m sure there are plenty of people using Windows too.

  • ryan

    Hi
    Im a complete beginner, currently learning HTML and CSS.

    If i was to spend every day full time working on your suggested steps above. How long do you think it would take to get through the material achieve competency in rails?

    thanks !

    • AstonJ

      Hi Ryan, it depends on how quickly you pick things up, but I’d say around 3 to 4 months if you were dedicated.

      I’d judge it by reading The Well Grounded Rubyist – then say it took you two weeks to read that, you could say the other books would take around the same (except for Chris Pine’s Learn To Program which can be read in a day or so).

      The CodeSchool courses shouldn’t take longer than a day or two either – and I’d say the same for the Lynda.com videos (which you just want to watch through).

      Good luck! And keep us posted if you decide to go ahead :)

  • http://www.gotrailed.tmblr.com sami

    thanks for making me decide on ruby and ruby on rails.
    Two things made me decide to learn Ruby
    1- Ruby on Rails
    2- Your post

  • Nick

    Hi Aston! You did a great job, with all these articles. And I want to ask question. When I’ll finish all this steps, I want go to the oDesk and work for freelancer. Now I study HTML and CSS basic.
    1)What I will need else for my future career? Javascript, jQue (i think that this is mistake in the title), something else?
    2)When I finish all this steps, will I have all knowledge for good freelance? Or I will need something else?
    Thank you for articles, and I hope, that you will send me answer.
    P.S.Also, I improve my English now, it still bad sometimes, but it much better than 1 mouth ago. I hope, that you will understand all this un-grammar text.

  • http://twitter.com/thisiswei wei lu

    hey man~ i read this post thousand time already,now it’s my bible of learning ruby and rails .just finished lynda two courses,i wonder you got any update since it was written in 2011,maybe you got new insights or resources? how to learn faster? and how to hack a job afterwards?(I’m currently unemployed in dalycity :) thanks!! this article helps too much!!! hit me up on twitter @thisiswei bro

  • Bojan

    Please can u tell me which is the best editor for Ruby for beginers and do I have to start working on Linux or can stay on Win 7,because I ‘ ve never working on Linux before…

    Thanks..

  • http://www.igotrailed.wordpress.com sami

    I use sublime text 2. It is fantastic.
    Watch the below video before starting using it. it is not very easy to start with, but once you get used to it, you will love it.
    The video will guide in how to configure the best way possible to work with Ruby and Ruby on Rails
    http://www.youtube.com/watch?v=05x1Jk4rT1A&feature=youtu.be

    RubyMine is a full featured IDE. But it is always cleaner and better to start learning a language with simple editor with syntex highlighting and simple auto complete.

  • http://www.igotrailed.wordpress.com sami

    I use sublime text 2. It is fantastic.
    Watch the below video before starting using it. it is not very easy to start with, but once you get used to it, you will love it.
    The video will guide in how to configure the best way possible to work with Ruby and Ruby on Rails
    http://www.youtube.com/watch?v=05x1Jk4rT1A&feature=youtu.be

    RubyMine is a full featured IDE. But it is always cleaner and better to start learning a language with simple editor with syntex highlighting and simple auto complete.

    I use Windows 7 and all is working very smooth, now anyone can now safely develop Ruby and Ruby on Rails on Windows 7.
    Both Sublime 2 and RubyMine has very stable Windows versions.

    You can always follow my blog. I am one step ahead of you, and I will advise regarding any issue I face using Windows if ever I encounter one.

  • Bojan

    Thanks sami,I just installed NetBeans 7.0.1 IDE,and I am very glad..
    I tried to install SublimeText 2 but I had some bugs which I didnt understand so I decided to install NB… It is not important which editor u use,everyone can do the job…

    Btw I use Ubuntu , but the code is same….

    Regards,
    Bojan

  • http://www.igotrailed.wordpress.com sami

    That is cool too, but heard it is slow.
    Anyway, so have you switched to Ubuntu now?

  • Bojan

    Yes,few weeks ago …
    I am not sure is NB slower because I didnt work with any other editor under Ubuntu , but it works fine so it just good for me ,for now and I heard a lot of positives .I am reading that book “The Little Book Of Ruby” from sapphiresteel and think it very usefull even for someone who never been in programming… Then I’ll start with your recommendations …

  • https://github.com/ddd David Deryl Downey

    I would also suggest that, after working through all the Steps defined above, you also hit

    http://iwanttolearnruby.com

    which is an excellent aggregation list of top sites for learning Ruby, and Rails, much like this one is.

    If you find any additional sites not listed here, or there, feel free to fork the list and crate a pull request for it here.

    https://github.com/awagener/iwanttolearnruby

    Amanda is always willing to take in suggestions. I hope this adds to your Ruby and Rails journey! :-)

  • http://www.JaretManuel.com Jaret Manuel

    This is pure gold. PragProg has a Ruby Course out now as well.

    @JaretManuel

  • Pratz

    Hi Aston,

    Great article. Exactly what a beginner to programming needs. There is so much talk out there about how PHP is easy to learn and is the best web development language, but after reading this blog I am going with Ruby and then jumping to Rails.

    I am an accountant by profession and I was so sick of my job that I quit. I have always been curious about programming so I thought to hell with the world, I am going to do something I like, whether or not it makes me any money. Currently, I am unemployed and I plan on being unemployed for a really long time so this article is perfect for me since I have all the time in the world.

    Hopefully I can get through this list in 4 months. That is the goal I have set for myself. I was wondering though if I could skip the Rails essential training video series until I am fully done with Ruby? I am on the Ruby essential videos and I am afraid jumping to rails now might be too much information to handle. Also I was thinking of reading Metaprogramming Ruby after Eloquent Ruby since you suggested it for advance reading. Any thoughts or suggestions?

    • AstonJ

      Yes that sounds ok :) I would not read Metaprogramming Ruby until you’ve done everything here tbh – as it’s quite advanced and you don’t need to know it until much later. It’s definitely a must-read for later though (maybe after you have created a couple of experimental apps).

      I’m pretty sure you’ll be able to cover this in 4 months too – in fact if you could keep us updated on how you’re getting on that would be great!

      Good luck – and welcome to Ruby!

      • Pratz

        Excellent. Thanks a ton!

        • Pratz

          Ok, so I finished Learn to Program and Ruby Essential Training in about a week. Learn to Program is a great read. It is very easy to follow until Chapter 10. After chapter 10 it is a little convoluted. The examples and exercises are hard to follow. But I would recommend sticking with them, whether are not they make sense.

          As far as the essential videos are concerned, I didn’t get too much out of them. Of course the purpose here is to just get a quick overview of the concepts involved. But really, you want to be able to put to practice what you’ve learned and this course doesn’t do that until the very end. By then I couldn’t remember much of what I saw. Sure, you could just pause each video and practice on your own, but doing that doesn’t give you the bigger picture. The question I kept asking myself is how does this fit in the bigger scheme of things? Having said that the author really knows his stuff and for a beginner maybe its worth watching the series just to get yourself familiar with the language. Or maybe another solution is to give yourself more time with it so you can practice on your own after each video (which is probably the recommended way to go about i).

          After going through the series I wasn’t satisfied and I didn’t want to jump to The Well Grounded Rubyist yet. So I decided to buy the Pragmatic Studio Ruby course for $200. It is worth every penny!!! This course is great for beginners. You start building an app from the get go with the very basics. Every video is followed by an exercise. Mike and Nicole Clark (the instructors) are fantastic. It’s almost like sitting across the desk from them while they explain things. Check it out at https://pragmaticstudio.com/ruby. They also have a sample tutorial which you can watch and decide for yourself. If you have extra resources, I definitely recommend this course. If not, the list above is tried and tested and I am sure will take you where you want to go :)

  • skivvy

    Sorry to hear about your dog. Great list, thank you.

  • Rightmanmoth

    I don’t like that out of 15 or so suggestions, about 13 of them are “essential”. You say you don’t have affiliate links, but you’re plugging tons of different sites and telling us every last one of them is essential. Kind of misleading.

    Otherwise, outstanding read.

  • Steve

    Hi there

    I am looking for a career change, and seeing as I spend a shedload of time at my PC, I really would like to get into programming as a way of working from home on a freelance level, start my own business etc.

    I have no prior programming experience, other than changing a few css things in wordpress.

    I have ordered Chris Pine’s book and am going to work through the online tutorials. I can’t do this full time, but can certainly devote a couple of hours a day to Ruby.

    Is this a viable option, giving myself 6-12 months to get my skill levels up.

    thinking of starting a website or blog now to document the experience, it might help me as I go along too.

    Thanks of all the advice too, really appreciate it

    • AstonJ

      Hi Steve – yes that’s completely feasible.

      If you’re interested, I am considering writing a book for newcomers to Rails – I can email you details if/when anything comes of it if you like :)

      Either way good luck and welcome to the community!

      • http://www.igotrailed.wordpress.com postscripter

        Have you written any book yet? Are you still considering it?

  • Matt

    Hi,

    I would like to thank You for this great resource!
    I started to learn Ruby about a month ago.
    I’ve already gone through TryRuby (twice), Rubymonk (the Prime course), the Chris Pine book, RubyKickstart, the Ruby tutorial at Codeademy (which I highly recommend), and also went through the Ruby course at Teamtreehouse.com plus a great, easy to understand, free course I found on Youtube (http://www.youtube.com/watch?v=WJlfVjGt6Hg&list=EC1512BD72E7C9FFCA&feature=plcp)
    I’ve already bought most of the books You suggested and will go through them when I get there but I want to go through the Ascent course at Rubymonk first, which I am going to begin today (To be honest those programming in the browser stye tuts are my favorites! :) ). Then the Lynda courses will be next and then will come the books.
    How long do You think it will take for someone with HTML/CSS/Javascript/Basic PHP and intermediate CMS(PHP – WordPress, Expressionengine) knowledge to learn Ruby and Rails with daily 2-3 hours of learning?

    Happy learning for everyone!

    Best Wishes,
    Matt

    P.S.: Already went ahead a bit and installed Rails and tried out Spree(Webshop) on my Mac. Can’t wait to know more about them! :) I think these little teasers can motivate someone quite a bit. :)

  • http://www.JaretManuel.com Jaret Manuel

    Aston,

    I attended Code Academy (now Starter League) in the Winter ’12 session and I can attest as mentioned in a previous note that this is a “pure gold” site that I wish I had known about before. I spent hours researching a good learning path and I had about 95% of these resources lined up. Your order and explanation makes it a solid beginner Ruby/Rails resource.

    I would make two other suggestions. The Pragmatic Studio via Prag Prog has an awesome ($200) Ruby course that is easily worth the investment that you could consider tossing into your mix. Also, Kevin Skoglund does an awesome job on the Ruby and the Rails videos on Lynda.com that you suggest. He has two other video courses that learners could take advantage of in the one month Lynda subscription that Kevin also teaches: 1) Git and 2) Unix for Mac (if you have a Mac – definitely suggest a Mac). Git is essential and many (like me) will not understand many of the tutorials like Hartl as some of the Git commands are implied (note to other beginners – much will be implied in the online world – posts like Anston\’s make it better but much of the internet assumes the reader is beyond beginner). Push past it. Anyhow, the Git videos will really really help. Also, “Pro Git” http://git-scm.com is a free highly regarded book. Consider tossing that up. I understand the resources are endless but I think this is an important area that gets overlooked on the Beginner Circuit.

    Another note, Ryan Bigg has a Rails 4 in Action that is currently in MEAP on Manning.com. Ryan is the man!

    I would love to know about your book if it comes to fruition or any future resources. You are doing the Rails/Ruby community a great service. One of the challenges I had was knowing where to dive into all of this, and while I eventually found a path and made it to Starter League – this site could have helped me get ramped up sooner.

    @JaretManuel

    • Pratz

      Second that – Prag Studio Ruby Course – Simply the best!

      • http://www.jaretmanuel.com Jaret Manuel

        Mike and Nicole of PragProg have a Rails Course out now as well and they are polling for RubyMotion. I really enjoyed their Ruby course.

  • Pingback: How I Plan To Conquer Ruby On Rails | The Blog Of Dale Knauss()

  • http://rubyyrails.blogspot.mx/ Yango

    I think this is a good path to follow.
    I’m not a programmer, but I want to learn RoR to enter the startup world. I’ll dedicate a good amount of time to finish this suggestions. I’ll try to post about my experiences.

    Thanks & Regards…

  • Matt

    Finished with the Ruby part with additional training resources.
    I also finsihed Rails for Zombies 1. Now I am doing Rails for Zombies 2.
    I already have many project plans to fulfill with RoR. I chose a smaller one to complete during the training period.
    For those who choose the path in this article must know that reading and watching videos only will get You nowhere! Even if You copy the exact same things from the video, dig into the code a little You will get a lot more out of it than by concentrating on theory only.
    I expect to complete the whole path in the article (with some additional trainings) by the end of february.
    Then I will learn only through making my project plans happen.

    In my opinion it is pretty important to have something that You want to create with RoR that You are emotionally connected to.

    Best Wishes,
    Matt

  • http://www.igotrailed.wordpress.com igotrailed

    I totally agree wit you Matt, I myself did Rails for Zombies 1 and Mihchael Hartl tutorial videos. And am planning to start with a project I have in mind in parallel to reading some other materials.

  • http://www.igotrailed.wordpress.com igotrailed

    Somehow I ended up not doing things in order, I know I won’t do all the above resources, but I did a mistake by starting with Michael Hartl tutorial as soon as I finished rails for zombies 1.
    Mihchael Hartl tutorial is a great one, a must read (or watch the screencasts) railstutorial.org
    But, it distracted me as a beginner with the time spent on writing tests, am totally new to the testing concepts. the tutorial shows a great deal of best practices in testing, and this is essential for any RoR developer. But it will move your focus of buidling the rails application. So make sure you follow the above order. Do Lynda Ruby on Rails essential before railstutorial.org.

  • http://10hourschallenge.wordpress.com/ Aras

    Thanks for the article Aston. This will be really helpfull for me.

    • http://10hourschallenge.wordpress.com/ Aras

      Step 1 – completed :)

  • http://www.igotrailed.wordpress.com postscripter

    I recommend this skillshare course, you will have to do a project of your own by the end of the class which encourages you for better learning.
    http://skl.sh/116I1an

  • http://www.onscreenexpert.com Lev

    This is a great list. I really recommend getting into a project and learning as you go, then diving deeper when you are stuck or interested in learning what’s under the hood.

    I’m working on a site to help newer developers get the advice they need, particularly when they’re stuck. It’s http://www.onscreenexpert.com. We match you to an expert, then you can videochat, screenshare, and pair to figure out problems and learn faster.

  • BrianJ

    Well put together Aston. I’ve been bouncing around a bit much the last year learning some HTML, CSS, JavaScript and RoR in a very out of order way. Your list reinforces my need for structure.

    Anyway QUESTION:
    It seems these days (could be wrong) a person wanting to get into freelancing needs to be able to do both front and backend work. While I’m OK with CSS and GIMP on the front end it would seem like I might need to be able to put something slick together with some graphics software, have you done this? What would you recommend? Or am I way off base and I could get by just really having the backend stuff down?

    Thanks
    Brian

  • http://learn-programming-quickly.blogspot.com steven f

    Thanks for this excellent Ruby resource. I’m a novice to Ruby so I’m always on the look out for sites that can further my knowledge. Ruby is a great language for beginners and it’s also very powerful. I’ve had a bash at lots of languages in my time vb6 java c etc, but Ruby is the best of the lot for me.

  • Pingback: Computers & Programming | Install Ruby on OS X 10.10 Yosemite (Using RVM)()

  • http://www.foffer.dk Christoffer B

    For anyone wondering if these books and tutorials are still applicable in 2014, I can tell you they are. This guide is very much still current, and I’m currently enjoying it! Very nice work AstonJ, people like you are important to the community and for us beginners! Thanks a lot!

  • Pingback: Ruby resources for beginners | Breaking into the world of technology()

  • gwhosubex

    Where’s Sandi Metz? where’s Antipatterns?