New to Rails? Here Are Nine Tips for Beginning Developers
Friday, May 21st, 2010
If you’re a developer or designer who is just encountering Ruby on Rails …congrats! You’re going to love working the “agile way”. Rails is efficient, fast and a joy to work with. However, Rails can have a steep learning curve, especially for designers. The object-oriented nature of Ruby (which underpins Rails) is tricky for some to grasp at first. But once you learn the fundamentals, you’ll be on your way and you’ll never look back. With that in mind, here are my top ten tips (and resources) for wrapping your head around Ruby on Rails as a new developer or designer…
1.) It’s NOT Quick and Dirty
You see lots of claims that Rails can help you develop web apps 10X faster than any other framework or language. While this is true, you have to factor in your learning curve. It takes time to learn Rails. Noobies often have trouble even installing Rails and Ruby. Sometimes it’s not the right tool for the job.
While it’s true Rails can get your web application live in a matter of minutes with full “CRUD” functionality, that’s normally just a raw “scaffold” application; a starting point. Seasoned Rails developers don’t start with scaffolds. So remember: Rails is only “quick and dirty” once you’ve mastered the basics.
2.) Grab a Copy of the Agile Web Development Book.
If you don’t already have a copy of this book, purchase one immediately. I recommend the paper book as well as the PDF version, which is easy to search for snippets and examples while you code. This is one book you must own if you’re serious about becoming a Rails designer or developer.
3.) Visit the Learning Rails Site.
One of the best step-by-step tutorials on the internet, this was a resource that got me up and running quickly – and it’s free! The podcasters, Michael Slater and Christopher Haupt, are clear, easy to understand and don’t gloss over basics. They assume you have no experience working with Rails and take you through the process of building a working web app from start to finish. An excellent resource.
4.) Check out Railscasts by Ryan Bates.
Here is another indispensable resource for budding Rails designers and developers: Railscasts. On Railscasts, Ryan Bates releases a new video podcast each week. Instead of a step-by-step “let’s build a complete application from start to finish” approach, he covers a discrete topic each week.
For example, if you want to find out what Cucumber is, click on his Cucumber podcast. Want to know how to clean up your views, find that topic. Easy to digest, each podcast lasts roughly five minutes and teaches you a new skill each time.
5.) Get Hooked On Signal-to-Noise, the 37Signals Blog.
Not only did these guys create Ruby on Rails (extracted from their massively-successful Basecamp application), but their philosophy and expertise on all design and development-related issues reigns supreme. A daily must-read. Watch every video presentation from Ryan Singer and be sure to buy a copy of “Getting Real” from their site while you’re there.
6.) Get Hip to PeepCode Tutorials.
Geoffrey Grosenbach has been around a long time in the Rails community. He produces both PeepCode as well as the Ruby on Rails podcast. Highly knowledgeable, his screencasts are detailed and well-produced.
Peepcode covers such topics as JQuery, Git, Rails from Scratch, Prototype, Phusion Passenger and many other Rails-related topics. Good prices, too: just $9 per episode.
7.) Start Building Something Real.
Now that you’re armed with a little knowledge, it’s time to “get real”. David Heinemeier Hansson (the creator of Ruby on Rails) maintains that “building something real” is key to learning Rails. Start on a pet project you’ve been thinking about for a while or finally get your dream app on the launching board.
I believe Rails is best mastered by a “total immersion” approach. Throw yourself into the code, learn all about controllers, models and views and make mistakes. Without the deadline of a launch looming, testers complaining and bugs to fix, you won’t hone your skills as quickly.
8.) Reach Out.
The Rails community is awesome. I can’t believe how many great blogs, resources and forums I’ve discovered in my few years of Rails development. If you hit a snag in your code, it’s a simple matter to post to a forum and await a response.
One of my favorite forums is RailsForum. A few months ago, I posted a highly complex SQL query with tons of left inner joins and include statements I was having trouble with. In an hour I had my answer. A very valuable resource, I urge you to register and check it out.
9.) Give Back.
Remember: Rails started because Jason Fried and David Heinemeier Hansson decided they’d release the core of their successful product and share it.
Once you attain proficiency with Rails, start helping others. Skim forums and see what problems others are having. Start a blog (like this one). It’s what the “open source spirit” is all about: sharing and caring.
Follow my tips on Rails development (as well as check out the resources I posted) and it’ll both speed up your progress as well as make your life easier!