How Santiago Pastorino Went From Ruby Newbie to Rails Core in 2 Years

By Peter Cooper

Just a month ago, David Heinemeier Hansson welcomed Rails' newest core team member, Santiago Pastorino. Strikingly, Santiago only started to contribute code to Rails earlier in the year and it's not every day that DHH is trumpeting someone else's productivity, so I had to catch up with him and learn his story.

When did you first get into Ruby programming and how did it occur?

I started around mid 2008 when I decided along with my friend José Costa to start our company WyeWorks. I wasn’t deeply familiar with Ruby and Rails at the time since we had to do a bunch of stuff to keep the company alive and focused on what we already knew. We both came from the Java world but we started to tire of it and felt we needed a change so we analyzed what we thought were the more productive and fun technologies to work with. At that time we felt attracted to Ruby on Rails as well as Python and Django. José had the chance to work a bit with Rails so we took that experience plus a brief study of other alternatives and finally we chose Rails for its elegance. As we started building projects for clients, we got more and more attracted to it and that’s how we finally decided that we were going to focus 100% in Rails development.

Other than Rails, what are some of your favorite libraries, tools, or gems?

Rubinius - it's awesome, I'm actually using it in development. Sinatra as a lightweight Web microframework is impressive. As a JavaScript framework I like JQuery, but I want to take a look at vapor.js which sounds interesting ;-) Then DataMapper, Devise, Bundler, RSpec, Cucumber, Webrat/Capybara, and Nokogiri my favorite gems.

You recently joined the Rails Core team even though you only started to contribute to Rails this year (2010). How did that process play out?

I started to contribute to Rails in February this year in a BugMash that was held by that time, though I've been always attracted to work in open source projects. I enjoyed working with Rails and the good vibe that I felt among the BugMash participants and the core members who jumped into #railsbridge to help. After that BugMash I kept on contributing in a fairly simple way, by running tests every once in a while and trying to fix what failed and the warnings that came up. One day I was in the #rails-contrib IRC channel and Yehuda Katz showed up and asked who wanted to help him with a task. Without knowing what was it I offered myself and I was then presented to the first challenging task that consisted of the back porting of SafeBuffer and all the stuff related to html_safe that Yehuda had recently incorporated to Rails 3. Excited about that task, by the confidence that the core guys gave me and the great vibe of the whole community, I kept on contributing even more tackling as much tickets as i could on LightHouse. Meanwhile I was working that way I was helped a lot and I really appreciate that, by the Core Team Members mainly Yehuda, José, Carl, Jeremy, Michael and David. Then Yehuda gave me access to control the LightHouse tickets and to the Rails CampFire. Over time I continued contributing and Aaron Patterson, who was one of the guys I bother the most to push my stuff told me that he had seen enough so he would ask Yehuda to give me commit access. That's how i got to be a committer. One month from that I was integrated to the "core." The fact that I was invited to be a part of the Rails Core Team really surprised me. It was unexpected until I read Yehuda in CampFire saying that the guys with commit access should join the core team after the release of Rails 3 and David was OK with that. I'm very thankful for this opportunity.

As a newly prolific contributor to Rails, what do you advise to people who want to contribute to Rails but haven't done so out of fear or even not knowing what to do?

My first advice would be to start by running the tests and go through the LightHouse tickets. Believe it or not, there are so many things on LightHouse and I think it’s a great starting point. It’s not so hard as it may seem, the most important thing is to persevere. Sometimes it took me a whole day to fix some bug and stuff like the back port that Yehuda asked me to do took us three whole days because with José we were just starting and we had no idea what to do.

What are your goals going on from now? Are you planning on having a big role in Rails 3.1 and beyond?