How I Started Learning Ruby on Rails
I quit my job this year and decided to do something completely different! Well, I'll still be a computer scientist, but with other projects. That's when I've started to learn Ruby on Rails (RoR or simply Rails) and here are some of my experiences about how to become a Rails developer.
Getting Started
Start with Try Ruby!
It's free and you don't have to install anything to get started! It gives you a basic idea about how Ruby looks like, without putting you through the overhead of setting up the coding environment first.
Similar to Try Ruby, but with more content and still for free, is Codecademy. Also here, you don't have to install anything in order to start coding. But if you already have some experience with software development, you might find those exercises a bit too easy.
Btw. Ruby is the programming language and Rails is a framework written in Ruby which makes web application development a lot faster and easier.
Get deeper into Rails with Code School.
I really love Code School! Partly because of their genius way to make learning fun, partly because those guys know what you need in order to become a paid Rails developer one day. And after finishing the tutorials, you should definitely code along those Soup to Bits screencasts!
Or have a look at Michael Hartl's Ruby on Rails Tutorial. You'll develop a Twitter like website with user and content management. Hartl explains everything step-by-step, it's super easy to code along and every step is test-driven! It's definitely a good place to start.
Here are some suggestions for where to go from here
Start your own project
The fastest way to learn coding is, in my experience, by working on a real project. You can read tones of books or finish every online tutorials, but those problems are always too clean and self-contained. The problems in a real project are often much messier and you will have to make imperfect decisions, try different solutions and talk to other people.
Those projects can be anything, but definitely try to find a topic which means something to you. Otherwise you might lose the motivation when the problems start to become more difficult.
Problem solvers
Watch RailsCasts! Whenever I want to implement a new feature in my project and I'm totally clueless, I'll start googling for solutions and for most of the time I end up watching one of the many RailsCasts by Ryan Bates. They are always a good starting point to get a brief idea about how a particular feature or gem works and looks like in code, and from here I can start to dig further into the solutions for my particular problem.
Ask questions on StackOverflow. There is not a single question related to coding which is not somewhere on StackOverflow, at least it feels like that. You'll see why! And you earn reputation points by asking or answering questions and trust me, watching your points grow is totally fulfilling.
Go to Rails developer meet ups
One reason I find Rails so attractive is because of the really nice community. There are tones of different meet ups here in Berlin: RailsGirlsBerlin, Rug:B or MeetUp-Groups are just a few. Some of them are for complete newbies and others are for professional Rails developers, but wherever you go Rails people love to help each other! And I bet there are plenty rails group meetings in your area, too. And if you can't find any, just start your own one!
**Two other sources, which I only recommend with a side remark **
Agile Web Development with Rails 4 by Sam Ruby
When I first started with Rails I found this book a bit difficult to read and the project (an eShop) too complex, but it has become more and more a solid reference book.
APIs on Rails by Abraham Kuri Vargas
I would suggest to start off with Code Schools's Rails API course and the related Soup To Bits Screencast. And afterwards, you can come here and have a look at some other tools and ways to build an RESTful API in Rails. But I find the setup part at the beginning a bit too much for a tutorial book.
Now have fun coding! ♥