Over the past four months I have made an active effort to learn how to program and build apps using Ruby on Rails. For the past three years I had been working with PHP mostly using custom architectures with a couple frameworks mixed in. As most people would, I bought myself a copy of Agile Web Development with Rails and Build Your Own Ruby on Rails Web Applications. Of course I did not read either book from cover to cover, but did spend time going over various chapters. I also read various development blogs and spent time on www.railsforum.com.
Two months into my transition, I decided that the technical direction for a major rebuild of a client website/application would be in Rails. I wrote the original version myself using PHP. I subsequently hired two developers I knew for the programming efforts while I focused on business requirements, technical requirements, wire frames, page flows, and content offerings. While most my time was spent on various requirements and project management, I did offer my developers very high level technical guidance.
Though I had been keeping up with learning Rails, I still didn’t feel as if I had it down. By this time I even built a couple toy apps. Well about a week and a half ago I decided to jump into the coding to help on a few last minute enhancements. After about a week of fixes and coding, the light bulb went off. I wouldn’t say I am a rails expert now, but I feel very comfortable with the framework.
The reason this light bulb went off was due to two factors. First, I spent time understanding the fundamentals of the “Rails Way”, and second I saw how an application I originally built from the ground up was converted to Rails. This second factor is what really propelled me over the learning curve. I had a very thorough understanding of how this application was built and I knew all the business rules. By seeing how Rails implemented the same business logic really helped me to “get it”.
For anyone else going through the same transition, my advice would be to first learn the basics of the framework and then convert an existing application you own over to Rails. At this point you will be focused on Rails as opposed to trying to understand requirements as well as understand the framework. This is a better path to follow than learning the basics and then trying to write a brand new application as most people would do.
One Response
Ajay Mehta
May 29th, 2007 at 4:17 pm
1Sounds interesting. I’ll have to try it out sometime, thanks for the tips.