What is Rails Beginners Paradox?
Well, if you are one of those guys who wanted to create a startup or build your own web application and went with Ruby on Rails instead of purchasing all those expensive Microsoft and Java tools, libraries and services out there (although being a Microsoft / Java expert), but after a point in time you are realizing that you are googling more often than you actually code, and considering whether or not to go ahead with Rails? (Phew.. that was long!) You my friend, are under the Rails Beginners Paradox!
It’s actually not as bad as it sounds. Hey, I was stuck in one too!
Anyways, after I got over the honeymoon stage with Rails and found that it wasn’t so fine and dandy, I found this blog post by Rob Yurkowski explaining why Rails is not for beginners. (Go ahead – read it)
If you feel like he is talking directly to you, well.. actually he is. You’ve got to change your plan of attack.
Here are my suggestions (I’ll be covering this in parts, so here.. this is part 1) –
We always need the right culinary tools to make the perfect dish (says the guy who can barely make coffee!). Like Rob points out, the main issue with us all is, we want to run 100 meters race before we can barely crawl. We want to learn Rails and build our web application, make money and get rich so badly, that we forget the main piece – learning Ruby AND Rails effectively!
In my previous post, I talked about the online courses, screencasts etc that are available out there. In this section, I’ll tell you what books you need, in order to master Ruby. (The books listed below are the ones I bought. It’s up to you whether you want to buy / download them or not)
- Eloquent Ruby by Russ Olson – I don’t know a lot about Russ Olsen (you can google it yourself), but this book is absolutely awesome! It really makes you write Ruby code eloquently. Having finished this book, you can consider yourself to be a Ruby Ninja!
- Practical OO Design in Ruby by Sandi Metz – From design patterns to interfaces to tips and tricks to improving performance by reducing cost, this book will make you a Ruby Sensei! Yes – you will be a master and you’ll be able to go teach others.
Rails – Yes. Here –
- Ruby on Rails by Michael Hartl – I actually have RoR 3, but you can actually go with later versions (as a lot of things seem to have changed with Rails 4 and Ruby 2). This book is perfect for beginners who want to start Rails. From basic MVC structure to a fully functioning app (like twitter), it talks about every aspect (including Test Driven Development – TDD)
- Advanced Rails by Brad Ediger – This book starts with Rails plugins and walks you through the “real” advanced Rails. From DB load balancing to securing your application from SQL injection attacks to localization, it tells you how everything is done in bigger projects.
- Enterprise Rails by Dan Chak – Obviously after finishing the Advanced Rails book, you’ll be thirsty to kick the world’s ass with your Rails application (Please go right ahead!). But before we do anything “enterprise”, the enterprise will look at you like you need to have some street cred. You can gain that by looking over the Enterprise Rails book. From big data to scalability to APIs, this book covers em all and tells you how to do it well.
- Rails Cookbook by Rob Orsini – Because cooking isn’t complete without a cookbook. I gazed over this book and bought it because it covered some pretty cool tips and tricks to overcome some complex problems. Flip over a few pages and see if it interests you, if it does – consider getting it.
Yay, I’m done with my book suggestions!! (Now you’re in a different paradox, right? :P) Like I said, the books I’ve mentioned are completely suggestions and it’s upto you whether or not to get them.
I found them really valuable and they made me absolutely confident about choosing Ruby on Rails as the platform to build my web application on, even though I come from the .NET world . I know I’ve invested a couple hundred bucks. But hey, it’s better than buying some cheap 3rd party library right? I can now take over the planet with my RoR knowledge and experience! (Oh, and the precious hours too!)
Anyways, if you are having this paradox and wondering if you’ve made a bad decision by switching to Rails as a beginner, please consider what I said and take a little effort. It’ll be absolutely worth it.
Happy RoR programming and good luck!