Ruby (and Ruby on Rails) are very accessible for beginners but provide plenty of scope for more intermediate or advanced programmers to improve their toolbox. Even if you’re a seasoned programmer there may be something here to interest you. If you know of any recommended resources not listed here, why not drop by and tell us about them?
Here are some resources we like and use ourselves:
A series of exercises that serve as an introduction to ruby, presented with a mystical terminal interface and flexible to use your editor of choice. A good start to understanding Ruby as a stand-alone language and introduction to some idioms that may be unfamiliar.
Perfect for: beginner, intermediate
An excellent install-to-app tutorial that covers Ruby on Rails from a novice perspective. It works with the opinionated defaults of Rails to let you understand how to use the default stack while encouraging you to solve problems yourself and really understand the why not just the how.
Michael does a great job building out a small twitter clone, layering in new features at a sensible pace.
Perfect for: beginner
The quintissential video tutorial series by @rbates. All episodes are now free to all and provide an excellent resource for many use-cases and common gems. The tutorials themselves are a few versions out of date, but still provide an excellent insight into how to get up and running with popular gems, when to consider “rolling your own” functionality all backed up by Ryan’s clear and concise narration.
Perfect for: beginner, intermediate.
Go Rails is another screencast-based tutorial series that provides a more general approach to creating, deploying and maintaining Rails projects with an eye on code quality and extensibility. Some content requires a subscription but the free tier videos should keep you busy for a long time first.
There’s a wealth of options here grouped by area of interest rather than a progression in difficulty (or relevance!)
For a novice, start at Install Ruby on Rails.
Perfect for: beginner, intermediate, advanced
Upcase is the free learning platform created by Thoughtbot. Recently released as fully free, it’s a perfect time to take up some of their content.
The platform is unashamedly aimed at the intermediate to advanced Ruby programmer looking to improve their skillset and move out of the ‘junior developer’ role. They also offer more crossover into real-life software engineering scenarios such as planning, specifying and launching a product.
Perfect for: intermediate, advanced
All the little things by Sandi Metz
Sandi has an impressive background in object-oriented software, working with Smalltalk when some of us were still in short trousers. In this talk she refactors some gnarly conditionals into a small set of objects with clear responsibility. A must watch.
Therapeutic Refactoring by Katrina Owen
Katrina has long been a favourite of ours at Cornwall Ruby HQ. She provides a no-nonsense approach to refactoring and being a good programmer in the sense of leaving others with good quality conditions to work in (including yourself in the future!) This talk from 2012 was an early inspiration and still provides an informative lesson in iterative refactoring.
For easy access to many conference talks, check out Confreaks TV