Learning Ruby: Expert Advice for Absolute Beginners

The Web Development Series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace’s hosting solutions here.

The Ruby community and the language itself are a fast-growing phenomenon that plays an ever-increasing role in the ecosystem of web apps we all know and use.

If you’re a beginning Ruby dev, this post is for you. We have polled seven experts in the Ruby community — developers who have come highly recommended and respected by their peers.

This is the advice they give specifically to new Ruby developers. We hope you find it useful, encouraging and enjoyable.

If you’re a seasoned pro or an intermediate Rubyist, stay tuned. We’ve got lots more where this came from, and our seven experts have got tips, tricks and code snippets for you, too.

Jacques Crocker: Learn As You Build

Jacques Crocker is a Rails Jedi based out of Seattle who loves working on early-stage startup ideas and launching new products. He’s helped launch almost a dozen Rails apps this year including HeroScale.com (automatically scale your Heroku workers and dynos) and WordSquared.com (a massively multiplayer online word game). Next year, he’s planning on using Rails to launch 24 new web apps.

In an e-mail exchange, he told us new Ruby devs should “start building something and get it released to GitHub as soon as possible.

“You don’t have to have a new or exciting idea to implement. When you are learning, just build stuff that has been done before. Build a scaled down version of Twitter. Or reimplement a blog.”

Crocker says he once ported a PHP-built job board to Rails — a thoroughly educational experience.

He continued, “I’d recommend finding a project that looks interesting on OpenSourceRails.com and getting up and running locally (and the tests functional). Then try adding a few new features to it. And get it upgraded to the latest Rails version while fixing the dependencies.

“Jumping straight into development work without experience will definitely be difficult and frustrating. However the amount of learning you’ll receive will be enormous… Making yourself suffer through the pain of a new environment will help you learn faster than you ever thought possible.”

Yehuda Katz: Dive Into the Ruby Community

Yehuda Katz is a member of the Ruby on Rails core team, and lead developer of the Merb project. He is a member of the jQuery Core Team and a core contributor to DataMapper. He contributes to many open source projects, like Rubinius and Johnson, and works on some he created himself, like Thor.

He advises newer Ruby developers, “Don’t be intimidated. Take advantage of the very many robust community resources that exist, and make connections with community members through open source. The Ruby ecosystem is hungry for new developers, and if you make your mark, you won’t go jobless for very long.”

In fact, Katz says the community itself is one of the strongest points of the Ruby language. “Even though most of the web development community is focused around the Rails framework, there are standalone libraries for just about everything, like virtually every new NoSQL database and connectivity with services like Twitter and Facebook.

“There’s a spirit of experimentation in the Ruby community that makes it extremely strong.”

Obie Fernandez: Start With a Clean Slate

Obie Fernandez is the founder and CEO of Hashrocket, a Florida-based web consultancy and product shop. He’s a well-regarded blogger and speaker, and he’s also a series editor and book author for higher-education publishers Addison-Wesley.

He said, “Don’t try to bring over your old idioms and patterns, because they’ll just weigh you down.

“When I came over to Ruby from Java, my first instinct was to try recreating a bunch of concepts and architectural patterns that I already knew, such as dependency injection, instead of learning new ones more appropriate to Ruby. If you’re coming from a statically typed language like I did, you might have some trouble letting go of the perceived security of type constraints.

“There’s like this whole Zen aspect of working with Ruby where you have to let go of trying to exercise control over every possible interface for your objects.”

He also echoes Katz’s statements about the Ruby community. “We’ve got this amazing, creative and hard-working global community of people working to make Ruby the most enjoyable environment. There is no big commercial vendor getting all capitalistic on us and causing problems like you see with Oracle and Microsoft and their developer communities. Almost everything that gets done in our space, 99% is done for open-source love and passion and because it is useful to the person doing it.”

Ryan Bates: Ask — and Answer — Questions

Ryan Bates is the producer and host of Railscasts, a site full of free Ruby on Rails screencasts.

For beginning Ruby devs, Bates recommended, “You can learn a lot by asking questions, and you can learn even more by contributing, yourself.

“With every problem you run into, there are many others who will likely run into the same thing. When you find a solution, write about it to help others and to get feedback on better solutions. We’re all learning.”

Bates takes his own advice, as well, by contributing to sites like Rails Forum.

Disclosure: Mashable‘s features editor, Josh Catone, is the co-founder of Rails Forum.

Desi McAdam: Learn From the Masters

Desi McAdam is a Ruby developer at Hashrocket. She also co-founded and regularly contributes to the technical blogging group DevChix.

She said the thing that helped her most in her study and use of the Ruby programming language was “pairing with other masters of the language.” Since not everyone who wants to learn Ruby has one-on-one access to the masters, however, she has a few suggestions for beginning devs.

“I would also suggest reading books like The Ruby Way by Hal Fulton and Programming Ruby, a.k.a. The Pickaxe Book, by Dave Thomas, Chad Fowler and Andy Hunt.

“If Ruby happens to be the first language you are ever learning I would suggest Learn To Program by Chris Pine. My sister is a nurse who has never done any programming whatsoever and she was able to use this book to learn the fundamentals of programming and she did so at a remarkably fast pace.”

Raquel Hernández: Three Steps With Four Tools

Raquel Hernández is an experienced hacker/mathematician with a background that includes many programming languages and many work environments, from freelance and contract work to startups and larger companies. However, she’s made a particular focus of Ruby and Rails.

She came to us with a list of specific steps and tools for new developers.

“I would suggest reading Programming Ruby 1.9: The Pragmatic Programmer’s Guide (The Pickaxe Book) in order to get familiar with Ruby.

“For Rails-specific stuff, I’d highly recommend Railscasts as starting point. Pick a fun project; complete the Getting Started with Rails tutorial; and deploy it to Heroku.

“After completing these three steps, you’re going to be having so much fun and getting lots of things done that there won’t be coming back.”

José Valim: Focus on Best Practices and Testing

José Valim is the founder of Plataforma Tec, a web development shop and consultancy. He’s also an open source developer and a Rails Core team member.

For beginners, he writes, “Ruby is a very powerful language… it is natural that when you start your first project, you get carried away by the productivity the language gives you and don’t worry about Ruby’s best practices.

“My advice is to control a little this initial amazement and read up on Ruby best practices. Ruby is an object-oriented programming language, so the knowledge of features like encapsulation and inheritance and principles like single responsibility are extremely important to have.

Valim also advises new Ruby devs to not leave testing out of the picture. “Ruby ships with a built-in test framework, and there are several others available as open source, all with plenty of documentation and books. It will reduce your productivity at the beginning, but it definitely pays off withs well-tested, organized and readable code.”

Specific Questions or Tips?

If you’re new to Ruby and you have a question, feel free to drop it in the comments! Our panelists are likely to stop by with more feedback.

Likewise, if you’re a more experienced Ruby dev and you feel like answering questions or passing on some great advice of your own, please leave a comment and school us all.

Series supported by Rackspace


The Web Development Series is supported by Rackspace, the better way to do hosting. No more worrying about web hosting uptime. No more spending your time, energy and resources trying to stay on top of things like patching, updating, monitoring, backing up data and the like. Learn why.

More Dev & Design Resources from Mashable:

The Top 8 Web Development Highlights of 2010
HOW TO: Get More Out of Your Fonts
4 Predictions for Web Design in 2011
HOW TO: Make the Most of TextMate
5 Free Annotation and Collaboration Tools for Web Projects

Image of José Valim courtesy of Flickr, levycarneiro.

More About: beginner, developers, programming, rails, ruby, ruby tips series, Web Development, web development series

For more Dev & Design coverage:

This entry was posted in beginner, Design Lists, developers, features, Open Source Lists, programming, Programming and Web Development Lists, rails, ruby, ruby tips series, Web Development, web development series and tagged , , , , , , , , , . Bookmark the permalink.