GithubHelp home page GithubHelp logo

learn-ruby's Introduction

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 a roadmap 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, keep reading!
  • If you're wondering why I chose Ruby and not full-stack JavaScript, I explain why on my blog. Or if you want a second opinion, read this or watch this.
  • 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 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 roadmap. 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 stuff 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).

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 blogs, podcasts, screencasts

Front end

HTML and CSS

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

Expanding my horizons

Other resource lists

learn-ruby's People

Contributors

fpsvogel avatar n-hebert avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.