Learn Ruby and Rails with these resources
Tags: rails, ruby, codenewbie, webdev
Published: 2020-02-11 16:25:10

During the holidays I decided to learn Ruby and Rails. In this article, I share the resources I have used and would recommend.

## Assumed knowledge  

If you already know one programming language it should be enough to make the most out of the resources below. If you feel that you are lacking some (or a lot of) knowledge I would recommend having a look at [Learn how to code with these resources](https://learnitmyway.com/2017/06/04/learn-how-to-code-with-these-resources/).

## Install and learn Ruby

### [Install rbenv](https://github.com/rbenv/rbenv#installation)

I would recommend using `rbenv` to install ruby.

### [Learn Ruby - Codecademy](https://www.codecademy.com/learn/learn-ruby)

I would recommend learning Ruby here. You can get the course done in a day if you can focus that long!

### Cheat sheets

A couple of cheat sheets you might also find helpful:

- [Ruby API](http://overapi.com/ruby)
- [Quick reference - Ryan Davis and Austin Ziegler](http://overapi.com/static/cs/Ruby%20Language%20QuickRef.pdf)

## Get started with Rails

### [Rails guides](https://guides.rubyonrails.org/getting_started.html)

I found this to be a really friendly place to start. After completing the first guide I was able to pick and choose where to go next.

## Practice

Once you have completed the resources above I would recommend practising the concepts by starting a project of your own. It can be something similar to [address-book](https://github.com/DeveloperDavo/address-book-backend), which is a project I started for the same reason.

## Testing

It can be a little overwhelming learning how to test before you have had any practice but that is not a reason to forget them altogether! A nice place to get started is with [Testing Rails - Josh Steiner and Joël Quenneville](https://github.com/thoughtbot/testing-rails/blob/master/release/testing-rails.pdf). Some of the libraries have been deprecated since the time of writing, but don't let that deter you from good content!

## Additional resources

### Podcasts

- [Ruby on Rails Podcast](https://5by5.tv/rubyonrails). I particularly enjoyed [287: Recruitment on Rails with Brian Mariani](https://5by5.tv/rubyonrails/287)
- [Ruby Rogues](http://rubyrogues.com/ruby-rogues/). I particularly enjoyed [RR 428: Arming the Rebels with Rails 6 Featuring David Heinemeier Hansson](http://rubyrogues.com/ruby-rogues/rr-428-arming-the-rebels-with-rails-6-featuring-david-heinemeier-hansson/)

### [Ruby Weekly newsletter](https://rubyweekly.com/)

---

**Before you go…** Thank you for reading this far! If you enjoyed the article, please don't forget to ❤️ it.
 
I write about my professional and educational experiences as a self-taught software developer, so click the **+FOLLOW** button if this interests you! You can also check out [my website](https://learnitmyway.com/) or subscribe to [my newsletter](https://learnitmyway.com/newsletter) for more content.

You might also like:
- [Is full-stack web development worth learning?](https://learnitmyway.com/opinion-full-stack/)
- [Learning material – software development](https://learnitmyway.com/learning-material-software-development/)  (a list of learning resources, starting with Introduction to Computer Science)
- [How to write a CV as a software developer](https://medium.com/@developerdavo/how-to-write-a-cv-as-a-software-developer-8841a79f8458) (CV included)