When I work with folks new to Ruby and Rails I am often asked how to get started. While there is a plethora of resources if you “just Google it” one of the things that my friend Henry pointed out to me is there is a lot of noise when it comes to coding content. Many folks new to coding flood the market with low quality content that hides the good stuff. So here are my recommendations.
Perquisite — Learn the Basics of the UNIX Shell
Programming with Rails will inevitably require using a UNIX shell. Software Carpentry’s Introduction to the UNIX Shell is a gentle introduction to this tool.
Start with Michael Hartl’s Rails Tutorial
I learned Ruby on Rails using Michael Hartl’s Rails Tutorial. It is well done and Hartl updates this to cover the latest version of Rails. After working through this tutorial you will have made a clone of twitter. Along the way you will touch each part of the Rails stack and development process.
Learn Automated Testing with Effective Testing with RSpec 3
Automated testing was a tough area to learn. The two testing frameworks popular in the Ruby community are RSpec and Minitest. I finally started to understand how to use RSpec after reading Effective Testing with RSpec 3. I keep a copy in my Books app and use it as a reference day to day.
Learn Version Control with Git
Version control plays an important role in coding. Software Carpentry has the best recent tutorial. I find it easier to use a graphical client called Tower for my git needs.
Manage and Understand Ruby Versions with RVM
In order to develop Ruby applications locally you need to install the right version of Ruby. If you use the wrong version, apps can break. The options are similar but my favorite version manager is RVM.