Very often I meet people who want to learn to build web apps, by using Ruby on Rails. But where to start? When I learned Rails I also learned it had a steep learning curve compared to other languages around 6 years ago. Not because the language is hard, no Ruby is absolutely human friendly when it comes to syntax.

For the beginner or anyone unknown to Ruby on Rails; it is not a language or a tool. Don’t compare it to PHP (or other languages) or it’s frameworks.

I even think that it’s greater than a web development framework only. It’s more like a life style in coding. In my opinion the coolest and fastest way of creating web applications.

There are a lot of resources like books, screencasts, online learning tools and more. I believe there are some basic aspects to deal with which in most of the cases have nothing to do with coding.

Mindset

Your mindset should be focused on learning something beyond coding only. You should open your hart to it :), so first believe Rails is the way to go. Make sure you believe Rails is going to take over the world of web development. Off course there are other tools which can do the same, but that is not the point I want to make here. You will spend your precious time in this, so make sure you are doing it for a good cause.

Besides coding you should be willing to relearn the way you use your tools. If you never used the terminal, go through the pain getting used to it (yes, it hurts in the beginning). Used to point and click? Release that thought and undo this habit while learning and doing. Typing is way more faster when using the right development tools.

Activate yourself

Don’t get stuck in books, do start a side project and make your hands dirty!

Discipline

It will take time to learn, give it the time and don’t give up. Because there is a lot to learn. Especially when you haven’t done web development before.

The conventions, how does the framework ‘think’, which is needed for rapid development. What does Rails mean by model, views, controllers, routes.

You have to learn to design software, most Ruby developers do make own design decisions, that doesn’t mean you have to invent the wheel all over again, there is a lot of good stuff already created and waiting for to be used.

Designing software also includes knowledge about best practices, design patterns, patterns are ‘ideas’ on how to implement specific problems. You could get these from books, examples and articles and they don’t have to be Ruby on Rails related.

HTML, CSS, Javascript: if you want to make descent web applications you have to learn markup languages and javascript. You don’t have to become an expert at this, because front-end development is a separate sport.

However Rails makes it easy to use these markup languages, because of some tools (gems) which I’ll explain about in a later post.

However Rails makes it easy to use these markup languages, because of some tools (gems) which I’ll explain about in a later post. Databases, it doesn’t matter what database server you’ll be using. But prepare yourself to learn about storing data and this time in one of the most accessible way possible. Rails makes it extremely easy to interact with different types of databases.

Versioning, the Ruby on Rails community embraced GIT as the standard for versioning. I still meet developers in other ‘worlds’ who don’t do versioning. I hope that you do because it’s out of the scope of this explaining it. It is a must have as soon you begin to interact with other developers or a remote server.

Deployment, with Rails we don’t just FTP the files to a webserver. Some services (like heroku) do mimic that experience, but if you want totally freedom. You should reserve some time to learn about deploying to an empty linux machine. Some like using services like heroku, some like to do it themselves. It’s up to you.

Just start

Don’t wait! It’s very easy getting started with Ruby on Rails on your own machine.

http://railsinstaller.org is the easiest way to get the stuff you need on your machine. But it is not the only way, you could also look for manual installation instructions.

If you have any questions just ask! I will try to write about it. But google it first :)

This is the first post in a series of different posts about Ruby on Rails for beginners, my aim is to write to the beginner guys & gals out there.

Next post is about how and why I went from my Windows Laptop to a Mac.