/learn-ruby

Learning resources for Ruby, Rails, and related skills.

Learn Ruby: a resource list

Hi! As a second-career developer who didn't go through a bootcamp, I've found it helpful to keep a road map of learning resourcesβ€”building my own curriculum, in a way. I hope this list helps you too!

If you notice any broken links here, please let me know by opening an issue.

Table of contents

The "not done" sections (currently "Fundamental tools" and below) are somewhat chaotic because I haven't yet seen what's worth keeping there.

Preliminaries

  • If you want to keep it simple and use just one resource that can take you from zero to hireable, I suggest the free Odin Project or (if you prefer videos) the GoRails Learn Ruby on Rails Path. If you want more variety and more depth on certain topics, keep reading!
  • If you're wondering why I chose Ruby and not full-stack JavaScript, I explain why on my blog. And here's a second opinion by the founder of a bootcamp that teaches Ruby.
  • Make sure your day job is conducive to part-time studying if you're a working adult looking to switch careers. I used to be a teacher and spent hours grading in the evenings and on weekends, which would have made studying very difficult. So I switched to a remote customer support job to free up my schedule.
  • You should spend more time coding than reading about coding. I mention this because below I list lots of books and courses but not many hands-on projects. Why? Because starting a project and getting into a coding routine is easy (if you can't think of any project ideas, try these lists: 1, 2, 3), whereas knowing what to read/study is not at all obvious at the beginning. Hence the focus on books and courses here.
  • Last but not least, take care of yourself! Exercise and get plenty of sleep, and you'll better retain what you learn. If you develop wrist pain from heavy computer use, act swiftly: get an ergonomic keyboard (the one I use has a learning curve, but I love it and it was affordable), do daily wrist stretches, and try using a break app such as Workrave.

Without further ado, here is my learning road map. Resources marked with a dollar sign (πŸ’²) cost money. You may be able to find books for free (from your local library, interlibrary loan, or more dubious sources) but buy them if/when you can, to support the authors.

Basics

Front-end basics

Ruby basics

Rails basics

Only books and courses are listed below, but be sure to build things as you learn. I myself started building a large-ish Rails app at first, but then I found it more helpful to build a series of small throwaway apps (1, 2, 3, 4).

Getting hired

Ruby/Rails communities

Here are some places where you can learn with others or ask questions when you get stuck.

Fundamental tools

SQL

Git

How the Internet works

Linux / command line

Advanced Ruby and Rails

Advanced Ruby

Advanced Rails

Front end

Web standards

Hotwire

Expanding my horizons

Games in Ruby

There are several game libraries in Ruby, but I recommend πŸ’²DragonRuby Game Toolkit because it has the liveliest community. You may qualify for a free license (see "Free Unrestricted License" on the homepage), and the creators regularly give it away for free during game jams and other special occasions.

DragonRuby tutorials:

DragonRuby community and reference:

Other Ruby game libraries: Ruby 2D, Gosu, MiniGL, Taylor.

Ruby blogs, podcasts, screencasts

Rails codebases to study

I've chosen the codebases below based on a these criteria:

  • Is active, with recent commits.
  • Does not use a JS framework on the front end, though I made exceptions.
  • Is well-known or it solves a problem that's interesting to me.

If you want to explore more widely, here are other places to find open-source Ruby projects:

Small codebases: Less than 50k lines of Ruby code.

Larger codebases: More than 50k lines of Ruby code.