An Interview with Ryan Bates of Railscasts
Ryan Bates runs Railscasts, the hugely popular series of Ruby on Rails screencasts. If you code with Ruby on Rails and haven't yet seen the site, I'd really suggest checking it out - Railscasts has helped me more than anything else for my projects. I wanted to see if Ryan would be interested in being interviewed for Hackerbuddy, and he very kindly agreed.
What made you first get started with Ruby on Rails?
I started web development with PHP where applications would quickly turn into a jumbled mess of HTML and SQL. It wasn't long before I spent more time trying to maintain a project than adding features. In the search for something more structured I found Rails.
But it wasn't love at first sight. The first day with Rails felt overly complex, and I was certain its praises were just hype. Slowly I came to understand the powers of convention over configuration. It is a tradeoff with a steep learning curve, but in the long run you do less work.
Once I took Rails seriously, I decided to dedicate a month to learning Ruby. After that, I found Rails much easier to pickup.
What is it that you find most enjoyable about coding with Rails?
The conventions. I love it that the hard decisions are, for the most part, made for me. Trying to write well-designed object-oriented software from scratch can be quite challenging. How do I implement this web form? That's easy, just make a controller, view and model. I can do it without thinking which leads to very fast development.
Does this always lead to the best design? No, but its agility makes up for it. However it can get you into trouble when only going through the motions. That is why it is important to have a sensitive nose for smelly code and know the proper time to refactor.
If you met someone who was just starting out with learning to code with Rails, what advice would you give them?
It is hard to point to a single resource for beginners, that is why I decided to make an episode on getting started with Rails.
Rails is a large framework, and it can be difficult to learn all at once. The key is to break it down into chunks and learn each part on its own: HTML, SQL, CSS, etc. I mentioned I learned Ruby on its own first which made it much easier. This isn't always necessary, but can certainly help if you're struggling.
You recently launched Railscasts Pro - how is that going? Have you had to spend time marketing it, or did the site's popularity mean that marketing wasn't needed?
RailsCasts Pro has done very well. I thought it would peak by now but the subscriber base continues to grow. I haven't done any marketing outside of some posts to Twitter and mentioning the Pro episodes at the end of the free videos.
What did you find most challenging with launching a Pro version of your site? Did you find anything easier than expected?
It has certainly been a challenge. I have been covering larger topics recently which can take a while to research and put together. Unfortunately this means some of my open-source projects have not received much attention, but I am working on improving my schedule. If anyone knows a way to add hours to the day, let me know. ;)