Just two days ago I was listening to the Ruby on Rails podcast and I heard an interview with Justin Weiss. At the time of the interview, Justin was still working on his book, Practicing Rails: Learn Rails Without Being Overwhelmed.
I had been feeling pretty overwhelmed. I’d finished chapter 9 of the Rails Tutorial, trying to complete the roll-your-own authorization project in the Odin Project. My problem was the sheer volume of things to remember. I’ve completed Hartl’s tutorial up to chapter 9, read all the Odin Project suggested material, and even been through the first 7 chapters of Hartl twice, and I still felt in over my head. It’s hard to even know where to look for answers when your subject matter is so big. Sometimes you put your code into the model, sometimes you put it in the controller, sometimes in the view… and where did Hartl even cover this again? Is this supposed to be a helper method? A Rails method or something I’ll have to write myself?
Rails is big. And complicated (although well organized!).
So that evening I checked out Justin’s blog and found that the book is out! I downloaded the free first chapter and I was impressed enough to buy the book.
I’m happy to report that the book has been immediately helpful to me, specifically the recommendation to build lots of tiny apps to learn small pieces at a time. Somehow, this shifted my thinking from being overwhelmed and intimidated by rails. Suddenly, I began to see it as more of a tool that I could tinker with and learn to use, little by little. Instead of worrying about views, layouts, testing and all that every time I try to learn a new concept, I can just work on the single concept I’m trying to figure out.
There’s a lot of good, common sense advice throughout the book on how to break learning, and other problems, down into small enough chunks that it becomes trivial.
It’s so easy to get swept into the big complex ocean of information. Google for one small problem you’re having with your project and you can get sucked down into a world of learning about gems, strange programming techniques with funny acronyms, and on and on. Practicing Rails will help you cut through all that complexity.