Ruby learning materials.

I often get asked about recommendations for resources to learn Ruby (and how to program, generally). This list is intended to catalogue the various resources I have shared over the years and be an easy reference point for future learners.

Ruby Koans

This is my go to recommendation for learning the Ruby language from scratch. You'll complete a number of exercises in the form of tests. Your goal is to get each test to pass by writing Ruby code. As with most $language Koans library, it starts off very easy and then ramps up in complexity.

The Odin Project

Specifically the Ruby portion of the "Full Stack Ruby on Rails" course. This course covers off almost all of the basics that you would need to be productive with Ruby in a project that isn't super complex.

Ruby Weekly

One of the joys of the Ruby world is that someone is coming out with a Cool New Thing™ almost all the time. This can be hard to keep track of, and I have found Ruby Weekly a great resource to keep on top of all of the happenings in the world of Ruby. There are similar newsletters from the same publisher for other languages, too.

Ruby Tapas

These timeless videos from Avdi Grimm illustrate the why behind a lot design patterns we employ every day, using real examples to help solidify the benefit of following these patterns.



  • The Bike Shed — Out of thoughtbot, general developer experience, challenges and joys, usually covering Ruby and Javascript.
  • The Ruby on Rails Podcast — A weekly chat about Ruby on Rails, OSS and programming in general. Though not always about Rails specifically.



Garry BernhardtWatch

Thinking about the boundaries of and within systems can be tricky for new programmers. This talk does an excellent job of introducing the topic and providing concrete examples to take with you throughout your career.

Y Not- Adventures in Functional Programming

Jim WeirichWatch

A detailed introduction to functional programming with Ruby, via first principles of lambda calculus.

Refactoring Ruby with Monads

Tom StuartWatch

Dealing with unwieldy code using monads to help simplify presence or absence of data in our apps.

All the Little Things

Sandi MetzWatch

Another journey through a hairy refactoring, this talk takes an ugly section of conditional code and converts it into a few simple objects. It bridges the gap between OO theory and practice and teaches straightforward strategies that all can use to improve their code. Also, checkout Sandi's book at Practical Object-Oriented Design, An Agile Primer Using Ruby.


by Daniel Nitsikopoulos

in posts

Tagged: ruby

© 2023 Daniel Nitsikopoulos. All rights reserved.

🕸💍  →