There are a lot tutorials and references on how to learn ruby and rails. I want to share with you how NOT to do it, based on my recent experience. When you first decide to learn ruby and rails, it can be a bit overwhelming. More than likely, someone will have recommended one of the most common sites, such as Codeschool or Treehouse, which are both great.
Here is where I want to caution you, especially if you have no prior programming experience. Spend plenty of time learning ruby before moving onto rails. I was advised by my friend Beverly to get a good grasp on ruby first, but I didn’t exactly listen. Not because I didn’t respect her opinion and guidance, but because I was swept way by the magic that rails offers.
I went through some of the ruby training provided by Treehouse and Codeschool, and was also watching some great videos from Railscasts which got me off course. Don’t confuse what I am saying, I love Railscasts, Ryan Bates is a great teacher. I am just saying that until you have a solid understanding of the fundamentals of ruby, you should be careful not to move forward too quickly.
If you are like me and crave the sense of accomplishment you get when you create an app and bring it to life by deploying it, then you are likely to get off track. Another thing that drew me away from the fundamentals was scaffolding. If you are not familiar, scaffolding creates a simple interface to put data in the database. The downside to scaffolding is that it will likely create many files that you don’t need. It is better to determine what you need in your app and add each piece as you go.
Before you jump into rails, I recommend you have a solid understanding of the following:
Moving forward like I did, before you are ready will only cause you a great deal of frustration and discouragement. During the time, beginning the second week of Nov 2012 through March 1, 2013 I did absolutely no work learning ruby and rails, as you can see by my github activity. I was very discouraged because I could not figure things out and was burning myself out trying to understand what I felt I should have already known. I had made up my mind, I was throwing in the towel, maybe this stuff just wasn’t right for me.
One day in late February 2013, I received an encouraging call from my friend Beverly. After our phone call, I decided to give it another try and get back to coding. I found myself right back in the same routine of cloning open source projects and following tutorials, but still not understanding ruby the way I should. I began my ruby and rails journey with Treehouse on April 1, 2012 and at the present time, I still do not have a good understanding of some of the basics of ruby. Even though I took a 3.5 month break, I still feel that I should be a lot further along than I am right now. I attribute much of the frustration I am experiencing right now from not building a good foundation in ruby at the beginning of my journey.
If you are new to programming in ruby, I hope that you will take something away from this post. Moving to fast, although exciting, will only cause you major problems down the road.
If you found this useful, please share.