learn-ruby icon indicating copy to clipboard operation
learn-ruby copied to clipboard

Learning resources for Ruby, Rails, and related skills.

Learning Ruby: a resource list

Hi! As a second-career developer who didn't go through a bootcamp, I've found it helpful to keep notes on learning resources—building my own curriculum, in a way. If you have a favorite resource that's missing below, let me know by opening an issue!

Overview

  • Preliminaries
  • Frontend basics
  • Ruby
  • Rails (~20% finished)
  • Other essentials
  • Ruby blogs, podcasts, screencasts
  • Computer science (~30% finished)
  • Other programming/CS resource lists

Preliminaries

  • If you're wondering why I chose Ruby and not full-stack JS, I explain why on my blog. Or if you want a second opinion, read this or watch this.
  • I list a lot of books and courses below, and hardly any hands-on projects. Let me be clear: you should be spending more time coding than reading about coding. But starting a project and getting into a coding routine is easy (if you can't think of any project ideas, just "build your own X"), whereas knowing what to read is not at all obvious at the beginning. Hence the focus on books and courses here.
  • If you've never written a line of code in your life, you may want to start with the free tutorials at BigBinary Academy and/or Learn to Program (or buy the updated book version). I studied some computer science in high school, so I had a bit of a head start.
  • If you are a working adult looking to transition into software development, make sure your day job is conducive to part-time studying. 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 tech support job, which freed up my schedule.
  • Find a system for keeping organized notes, code snippets, and articles/videos saved for later. I use a simple text file, which is more effortless than any knowledge base app that I've tried.
  • Last but not least, take care of yourself! Studying (especially while working) can easily be overdone. Exercise and get plenty of sleep. If you develop wrist pain from heavy computer use, act swiftly: get an ergonomic keyboard (the one I use is effective and affordable), do daily RSI stretches, and start using a break app such as Workrave.

So without further ado, here is my learning path. Resources that cost money are marked with 💲. If you need more free resources, see the links to other lists at the bottom. You may be able to find the books for free (from your local library, interlibrary loan, or more dubious sources) but be sure to buy them when you can, to support the authors. 🙂

Frontend basics

Ruby

Rails

Only courses are listed below, but be sure to build stuff as you learn. Here's how I started building my first Rails app right from the beginning. Another invaluable form of practice is to start contributing to open source.

JavaScript

Because try as you might, you can't avoid it. Note: there are so many JS books out there and I haven't surveyed the landscape yet. These are just books that have been personally recommended to me.

Other essentials

Ruby blogs, podcasts, screencasts

Checking one of these off means "I've read/watched/listened to all the posts/episodes that interest me from the past few years, and I'm keeping an eye out for new posts/episodes that would help me, or old posts/episodes when they become relevant to me."

Meanwhile, computer science

Other programming/CS resource lists