Learning Ruby on Rails: Starting out

Over the years I have developed a deep interest in web development languages. I am in no way an expert, but I do have an complimentary appreciation of most front end technologies. I feel this is essential skill when working with engineers on a daily basis. However, one of the big mysteries to me is the stuff that happens before the front end technologies such as HTML, CSS and JavaScript; namely the middleware and database layers. Whilst I have a basic appreciation of object oriented languages such as C++ plus scripting languages such as PHP, I confess I don't know enough to give me a leg up to establishing those quick wins in a project team.

I am going  to change this by learning Ruby on Rails.

But why rails? The engineering team at Symantec.cloud use the MS dotnet framework, so this might seem a slight tangent. Rails is advertised as quicker way to deploy web apps, with rails scaffolding providing the magic and power to make stuff happen with relatively little effort.

So this means, its a language which I am more likely to develop an interest in over a long term - since I can create apps easily on my own, plus its a little more cross platform and relevant whatever machine I may be using next.

My objective is to develop a bespoke wedding RSVP application. Before the end of January 2012. At the moment, I'm not sure if that is a ridiculous objective - but it gives me a challenge and something to work towards.

To aid my progress I have purchased two items:

Huw Collingbourne's exellent Learn Ruby Programming (in ten easy steps) screencasts (with a fabulous welsh accent) at Udemy and Michael Hartl's Ruby on Rails Tutorial, which I have purchased via my Kindle.

For the moment, these two resources have given me more than enough challenges, but I have no doubt that I will need more in the future.

One thing I have found is that the setting up the initial setup has been a major headache: Heroku is (by default) incompatible with Windows, you can't upgrade Ruby on MacOS unless you have Apples XCode installed, the RVM command is only available on Unix based machines. The list of challenges to a stable and working development environment seems endless...but I'm working through them one by one, with Google as my friend.

The bigger question for me is this. How will my knowledge of Ruby on Rails assist or improve my appreciation of user experience. Will it make me a better designer? Or will it simply distract me from the core principles of user/people-centred-design? The jury is out.

In the meantime, if you have any additional resources which may assist me, please leave them in the comments below. I think I may need them!