How to learn Ruby on Rails

by Tom Cullen
December 1, 2011
How to Program
My quest to learn how to program started with spending some time looking at the python language. I had a hard time picking it up because I wasn’t devoting enough time to it.  Thats when I did something drastic.  I quit my job and landed a spot in Code Academy.  Its a 12 week program is based in Chicago and is an intensive immersion into the world of Ruby on Rails.http://codeacademy.org/  They have an amazing professor, brilliant mentors and an all around fantastic support group.  All that schooling puts you in a position to succeed, but you still need other resources.
If you can enroll in Code Academy, DO IT, but either way let me show you what I think is the best way to get you to becoming a Rails programmer.
 
My learning strategy.
This will be different for each person, but I want to share with you what works for me.  Many smart people will think this is overkill, but I needed it to get the info into my very thick skull.
1. Find an Exercise(book, tutorial, class etc) and read through it taking notes. - You will get stuck and not understand everything.  Its ok, just keep going.
2. Go back and read it again and take more (and better) notes really trying to understand it.
3. Action - Do the exercise.  Learn by example getting stuck and figuring out how to fix it.
4. Do it again. - Now it should start to flow.  Your understanding of the concepts and syntax are all coming together.
Gaining this deep understanding of what you are learning will save you time in the long run.  I don’t have a great memory so I need the repetition… each time you go over it, you are learning more and understanding more.  Open your mind and know that you have a lot to understand.
The next step is learning from the right places, My recommendations:

 

RUBY
Get a basic understanding for what Ruby is and how it works.  Don’t go crazy, your goal is learn how to build web applications fast.
1 - http://tryruby.org/   There are others out there, and this one has some errors in it that allowed me to waste too much time, but it gives you an understanding of how Ruby works.  Do it a few times.  If you can understand tutorials like these, then its time to move on.
2 - I used Learn to Program by Chris Pine to get a better understanding of Ruby.  I think that its important to get a solid understanding of the language before you head to Rails (which is a framework in Ruby).  http://pine.fm/LearnToProgram/
 
 
RAILS
Ruby on Rails Tutorial Learn Rails by Example written by Michael Hartl.
 This is the holy grail for going from zero to developer the fastest.  Many people think you should skip the Ruby understanding and just work on this book.  In actuality I think they are right, but I would get stuck so long on the ruby part that it was worth it to learn more Ruby first.
Take the learning strategy and apply it to this book.  This book is available free online in html version, or you can buy the book (hardcover or pdf).  They also have screencasts that guide you step by step through the book (basically books on tape).  I used these screencasts and LOVED them.  I had those playing while I was programming along (thank you pause button) and had the pdf rolling along with me.  So all at once I was hearing Hartl teach, watching what he did, doing it myself, and had a book to reference when I got stuck.  This worked for me.  The rails casts are about 17 hours long, but take probably 3 times as long to get through.  You will get through Hartl and then want to do it again… which leads me to the final step:
 
 
PRACTICE PRACTICE PRACTICE 
If you don’t practice, two things happen:
1. you don’t learn more
2. you forget everything you knew.
Its sooooo important!

 

At this point you know how to build a decent web application.  Your world of learning is just beginning though.  Javascript, jquery, AJAX, HAML, more Ruby, etc are all next, but don’t worry about those now.  They will come with time, and as you learn Ruby on Rails, you will naturally gravitate toward what you need/want to do next.
 
 
Congratulations on becoming a programmer!

Chicago startup guides

LOCAL GUIDE
Best Companies to Work for in Chicago
LOCAL GUIDE
Coolest Offices in Chicago Tech
LOCAL GUIDE
Best Perks at Chicago Tech Companies
LOCAL GUIDE
Women in Chicago Tech