Rails Novice to Ninja #4 - Matthew Bass

by John Moody on February 17, 2009

I originally wrote this series of posts on my former blog, Usable Web Apps. As I’m retiring that blog, I’m reposting the “Novice to Ninja” series. Look for some new interviews as well!

I met Matthew Bass at RailsConf 2007, where he did a great presentation on Teascript, a Rails app he had developed. Matthew was kind enough to share his answers with us:

Usable Web Apps: What three skills/technologies would you recommend that novice Rails developers focus on mastering to best improve their overall value?

Matthew Bass:1. Discipline. Ruby is a wonderful programming language that gives developers a great deal of flexibility in how things are done. With this power comes great responsibility. Just because Rails enables quick development of web apps does not excuse sloppy code. Being disciplined up front will take you a long way. One of the telltale signs of a newbie Rails developer is extremely long methods, often in the controller. Keep your methods short. Delete unnecessary comments. Don’t leave commented-out code in the project (you can always get it back from source control). Write tests. Run the tests regularly. Fix warnings in the logs.

2. Teaching. One of the best ways to learn something is to teach it. If you don’t have a blog, start one. Even if nobody reads it, post to it regularly. Explain how you solved a particular problem you ran into. Getting a strange error message? When you’ve figured it out, blog it. You might help someone else, and you’ll be keeping a record of the solution for your own future reference. Write a tutorial on a certain topic and split it up into several blog posts. Volunteer to speak at your local user group. If you don’t have a user group, start one. You don’t have to speak about something brilliant or deep. Just share what you’re doing on your latest Rails project. Tell stories of your own experience. People want to hear from you.

3. Switch to a Mac. I did Rails development on a PC for a year before the pain became too great. I was skeptical about switching at first, but I truly cannot imagine doing Rails development on a PC again. The tool support on the Mac is just too good. Having a Unix environment is pure pleasure. Don’t put it off if you’re serious about learning Rails.

Usable Web Apps: What are the biggest mistakes you see novice Rails developers make when trying to strengthen their skill sets?

Matthew Bass: Taking bites that are too large. Rails and the surrounding technologies represent an enormous pile of code. Trying to understand everything too quickly will leave you frustrated. Take it one step at a time, building up your knowledge on a daily basis. In some respects, those who got in at the ground floor of Rails have an advantage because they’ve seen the framework evolve over time and have a deeper understanding of why things are the way they are. But you don’t have to be an “old timer” to use the framework effectively, and even building a small personal project can serve as the catalyst that will trigger interest in other parts of the framework. Don’t give up. Don’t be afraid to ask for help. Be curious. Explore what you’re passionate about. If REST isn’t your thing, don’t worry about it. Maybe you’re more interested in what makes ActiveRecord tick. Explore that and leave REST for later. Subscribe to the Rails Envy podcast to keep updated on what’s going on in the community. If you hear something interesting, check it out. Play with it. Learn from it. Blog about it.

Thanks, Matthew!

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>