For a while I was skeptical about writing this, till I saw a post on reddit where a user was asking for books on Rails to read. There are lots of articles online to suggest books, so in this article we eil go beyond merely suggesting books.
As a new Rails developer, it is advisable to follow a structured course if you want to be a proficient developer. The offering online is wide, and here are my own suggestions.
Learn Ruby First?
There are differing opinions on this. Some believe learning Ruby first is important, while others believe you can learn Rails first, and Ruby will follow.
Here is my opinion: “Learn Ruby first!” Why?
If you want to understand what is happening under the hood, you need the knowledge of Ruby. Here is a suggested Ruby pathway to get you going. Follow that path, then step on to this one.
Thou Shalt Learn Git!
There are no different opinions on this. Knowledge of git is important! Git is a distributed version control system, and Ruby/Rails developers use it all the time. You can learn about it using the book – Pro Git v2. Seriously, get comfortable with git first.
This may be the defacto book for anyone who wants to venture into Rails development. Tell anyone you want to learn Rails and you will likely get a recommendation for THE Ruby on Rails Tutorial. Trust me when I say this is not the normal kind of Rails tutorial you find on any blog. The author, Michael Hartl, takes you through the process of building a Twitter clone application from the ground up. He does this without any user authentication gem, you can be sure that it is a thorough (and not contrived) tutorial. Some important concepts covered in the book are:
- Deploying to Heroku
There are different pricing options, and each one comes with a different collection. For those who cannot afford to buy, there is an option to read it online. Whichever way you choose, don’t skip this one. I recommend you start it as soon as possible.
The next book I recommend is unlike the first. The Rails 4 Way by Obie Fernandez, Kevin Faustino, and Vitaly Kushner is a great reference book for Rails developers. This is not a Rails tutorial book on how to write Rails applications. Rather, it presents deep information and insights to make you a better Rails developer.
I feel confident in recommending this book to new Rails developers as one book that would guide them as they progress. It moves beyond the circle of new developers into intermediate developers, who stand to gain from it, as well.
With Rails 5 on the way, I am guessing we’ll see another book by these authors. You won’t regret having this among your collection.
Learn Ruby on Rails, by Daniel Kehoe, is a book targeted at beginning developers. It starts with a pleasant introduction to Ruby on Rails that is good for developers with no coding experience. Here is what Michael Hartl said about the book;
“If you’re new to web development, I recommend Daniel Kehoe’s excellent Learn Ruby on Rails book. Learn Ruby on Rails is the gentlest introduction to Rails that I know of, so it’s a great place for beginners to start.”
In the example Rails application, Daniel introduces the developer to version control. He also shows how to build a mailing list by integrating MailChimp and Google Drive.
If you are starting to learning testing, which I recommend you do, I suggest you get this book. Rails 4 Test Prescriptions provides you with a complete overview on a volume of Rails testing tools. The book is great for developers who want to know more tools, as it explores multiple frameworks.
Upcase by Thoughtbot is a great way to sharpen your programming skills as it provides you with insights from one of the industry leading companies. A subscription to Upcase gives you access to the Upcase app repository and videos. It is a great way to learn how one of the most-respected Rails companies work. The materials will improve your skills in areas like testing, as you get to do TDD. The weekly exercise gets subscribers to use critical thinking. Upcase provides a weekly iteration every Friday.
The individual subscription costs $29/month. Give it a shot, as it provides the foundation for your future.
Treehouse is one of the most complete and popular online course offerings. The Rails track in Treehouse is definitely going to blow your mind. It is comprised of the following:
- How to Make a Website (HTML)
- Ruby Basics (Ruby)
- Console Foundations (Development Tools)
- Git Basics (Development Tools)
- Installing a Ruby Development Environment (Ruby)
- Build a Todo List Application with Rails 4 (Ruby)
- Database Foundations (Development Tools)
- ActiveRecord Basics (Ruby)
- User Authentication with Rails (Ruby)
You can be sure of starting your own business or landing a job after complete the Rails track. After all, one of the tracks teaches you how to start a business.
Treehouse provides a forum to ask questions and interact with other students. The beauty of this is the involvement of the teachers.
The first and most important blog to read is the official Rails Guides. It includes almost everything you need to know about Rails. Just like the best way of knowing about a product is reading the manufacturer’s manual; the best way of knowing the ins-and-outs of Rails is reading the Rails Guides.
Thoughtbot is one of the most well-known and respected Rails companies, with open source products that have been instrumental to the Rails community. Giant Robots comes with a lot of insights wrapped up in articles by Thoughtbot developers. To become a master of a field, you have to learn from masters who have gone ahead of you. Subscribing to Giant Robots is one way of learning from the masters.
SitePoint Ruby provides many articles on Rails. One of the strengths of SitePoint is its community of professional authors. You can be sure of getting top articles and tutorials covering Ruby, Ruby Gems, Rails, and other frameworks.
SitePoint also has a very popular forum that goes beyond Ruby into many facets of web development.
RailsCasts provided by Ryan Bates is one of the best screencast sites on Rails out there. The screencasts are short and focused on one technique, so it is easy to apply to your project. It covers categories such as; production, authorization, debugging and a host of others. A fee of $9 gives you access to Pro Episodes. With Ryan Bates back, the whole community is hoping to see new screencasts.
GoRails aims at helping you solve the challenges that comes with becoming a developer. Chris Oliver, the author of GoRails, provides you with a fresh approach to learning by showing you new problem solving, design, and development processes. A pro plan which costs $9/month, gives you access to; pro screencasts and community discussion, along with the free screencasts and guides.
This pathway should provide a direction for you to start your journey with Rails. I must emphasize that you must not stop with these suggestions, as there are tons of resources out there which are not mentioned. One of the strengths of Rails is its community; you can be sure of new resources springing up everyday. Feel free to drop any great resource you are aware of in the comments section.
Good luck on the path!