Posted by Vince Wadhwani on Sep 06, 2006

A few of my friends asked me how I picked up Ruby on Rails. I basically went from knowing next to nothing about programming to being able to put together web sites like this one in a matter of just a few months. Here are the steps I took:

  1. Went to the great ONLamp tutorial on Ruby on Rails and rolled through it. Although almost 2 years old at this stage I still think it's a great introduction!
  2. I tried and failed to go through the Poignant Guide that many people love. It's a really interesting read but it was still a bit too advanced for me at this stage. Instead, I went out and bought the indispensable Agile Web Development with Rails: A Pragmatic Guide by Dave Thomas over at Pragmatic Programmers. Best book I ever bought. And lucky you it's in the second edition now (or will be in Oct 06 rather). Highly recommended if you're at all serious about learning rails!
  3. Went through the screencasts from both the official site and later on Peepcode As they say, "Seeing is believing".
  4. I started lurking on the mailing list a lot. I was trying to extend the Shopping Cart demo from the Agile Guide and the mailing list's web front end was very useful to me. Since that time there are also a few other websites worth checking out.
  5. I was learning a lot of the Rails framework but my Ruby still stunk up the place. Enter this tutorial called Learning to Program. If it sounds basic that's ok. It is. But there's just enough Ruby in there for you to learn something new. Promise! BTW, the full book by Chris Pine can be bought here.
  6. I joined a local Ruby Users Group. It was just in its infancy when I got there (me and one other guy) but soon blossomed into something much bigger. Check out this page to see if you can find a RUG near you!
  7. A great way to find resources is definitely the Ruby on Rails Podcast. This sucker gets downloaded every week to my iTunes and then promptly transfered over to my Nokia N73 via iTuneMyWalkman.
  8. Went out and bought another book. This time it was Rails Recipes by Chad Fowler. This is also a good book though I find the style and quality of the lessons to vary quite a bit. For instance, I loved the recipes for live preview and auto_complete but did not care for his solution to authentication. The good news is that by this time I was getting familiar enough with rails to form an opinion on these things! YMMV.
  9. Code, code, and code more. I put up this site and continued to refine BuyIndie. Nothing makes you learn and improve than actually practicing something. Gotta do it to get better.
  10. Lastly, I started find that CSS was my newest stumbling block. The code was good but the look and feel was awful. Enter this recommendation: Professional CSS: Cascading Style Sheets for Web Design from a colleague. So far I've really enjoyed it. It's helped me get my hands around CSS by actually employing examples from real web sites like Blogger and ESPN. I'll write a full review when I'm done with it but so far so good!
And that's where I am now. I still have a long way to go to get close to the level of competency of some of the better known rails programmers. Can you believe Geoffrey Grosenbach put up this site over a weekend?