Skip to content

Learning resources for Ruby, Rails, and related skills.

Notifications You must be signed in to change notification settings

guru-br/learn-ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 

Repository files navigation

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. 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.
  • Find a system for keeping organized notes, code snippets, and bookmarked links. I use a simple text file.
  • 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

Ruby scripting

Ruby blogs, podcasts, screencasts

Front end

HTML

CSS

CSS games

Accessibility

JavaScript

Web components

UI and usability

Hotwire

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.

Advanced Ruby and Rails

Misc. Ruby/Rails

Rails architecture

A.K.A. where the heck do I put my business logic / how can I keep my models from getting huge?

Games in Ruby

The minimalist route is to build a text-based game in Ruby, or to contribute to a project like Magic: The Gathering: The Ruby Project, where you can implement Magic cards in Ruby.

If you want to make a graphical game, there are a few tools to choose from. The one with the most active community is 💲DragonRuby Game Toolkit. You may qualify for a free license (see "Free Unrestricted License" on the homepage), and the creators regularly give it away for free at game jams and other special occasions.

DragonRuby resources:

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

Expanding my horizons

Other resource lists

About

Learning resources for Ruby, Rails, and related skills.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published