The How-I-Learned-Ruby Quiz

This week, the circus is in town. Well, not quite, but it feels like it. Really, it’s just OSCON, O’Reilly’s preposterously big, expensive, and prestigious annual open source convention.

One neat side effect of this fact is that yesterday was FOSCON, a free informal one day unconference of Ruby enthusiasts held at Free Geek in parallel to the main conference. FOSCON’s organizers took advantage of all the impressive Rubyists in town to put together quite the compelling lineup of talks: an impressive real-time demo of Distributed Ruby, a dandy little talk about how to use scripts, shortcuts, aliases, and Rake tasks to make your Ruby programming more fun and lots more. Jim Weirich, the inventor of Rake, was there for godsakes — it is quite odd to suddenly meet, in person, someone who built something that’s totally indispensable to you, something you use 200 times a day.

But, it was the one totally untechnical talk that’s stayed stuck in my head: Amy Hoy‘s presentation, billed as “The growing nature of the Ruby community & embracing us ‘right-brainers’ with the minimum amount of trollishness/help vampirism/etc”. The gist of it was that Rails’ explosive popularity in the last two years has drastically diminished the quality of help available to both Rails and Ruby newbies. Old hands and experts who were formerly willing to help newcomers have been overwhelmed by a swarm of freshly arrived unsophisticates and buried by the deadening repetition of basic questions. Amy’s talk featured a clarion call to the elite geeks in the room to do something about this problem: to create central repositories of educational resources, to improve their own writing abilities, and, above all, to retain, and even nurture, their empathy for the less knowledgeable.

In the Q&A, Chris made a great suggestion. Why not gather together stories from experienced Rails and Ruby coders about what things were like for them before they were so good? Such a collection would serve as great encouragement to newbies, seeing that even the exalted experts had to start out somewhere and it would give them a variety of options for paths they could follow to get moving towards greater expertise themselves.

So, to spur the creation of this collection, I give you the How-I-Learned-Ruby Quiz. In the spirit of The chain-letter of musical love and a thousand LiveJournal quizzes, the idea is simple. You answer a few questions about how you came to learn Ruby/Rails and then you pass the baton to some other people who fill out the quiz themselves. They fill it out on their own blogs and get even more people to do the same. And so on. It’s easy. I’ll show you.

The-How-I-Learned-Ruby Quiz

What was your technical background before you started learning Ruby/Rails?

Pretty strong HTML and CSS, beginner-level PHP, no real programming fundamentals.

How long ago did you start?

About ten months ago. Fall of 2005.

What were the two most useful resources to you in the learning process (not counting the Agile Book or the Pickaxe Book, which we’ll assume everyone knows)?

Chris Pine’s Learn To Program Ruby was the biggest single factor in my managing to finally really understand object oriented programing and the spirit of Ruby as a whole — that was the moment when I really began to shoot up the learning curve on Rails. Being so lucky as to work all day right next to someone who is actually really good at this stuff also made a huge difference. The value of having a mentor every step along the way can really never be overestimated.

Tell us the story of how you came to learn Rails:

I learned Ruby because of music.

Four years ago, I graduated college as an art major and set off to start a band. Right at the end of college I’d met Jim Griffin, a visionary Geffen Records executive who’d been involved with the online distribution of music since 1994. Griffin conveyed the horror of the major labels and convinced me of the importance of the web for an independent band.

The eventual result was a company: MusicForDozens.com. We manufactured (burned, printed, glued) and sold CDs to order for any musician who wanted. My much more technical cousin (an American history professor) built the site using FileMaker. I watched. It took about eight months. I learned HTML.

In the following couple of years, I made and maintained my band’s website but still spent relatively little time on the web. I hadn’t yet caught the bug. In December 2004, I came across a post called Five Mistakes Band and Label Sites Make. It turned out to be on a blog called 43Folders, through which I rapidly discovered Quicksilver, del.icio.us, and, more importantly, a sense of playfulness and excitement about the real world usefulness of computers (well, Macs) and of the web generally.

Around this time, a music friend of mine, Chris, approached me about the idea of making Music For Dozens better, of rebuilding it so that anyone who wanted could upload their music and sell it, without contracts or sending CD masters through the mail. He started writing an mp3 uploading and selling web app in php. I watched. Gradually, I learned some php. I learned programming basics: variable assignment, control flow, etc. I learned php’s syntax and how to setup a database using YourSQL. I used subversion for the first time.

I only ever made it so far with php. I could never fully internalize object orientation and so things of great importance, like clearly following the application’s structure and totally understanding its model of the domain, always remained outside my grasp.

Awhile after we launched MFDZ 2.0, Rails came along. You can guess much of the rest of the story. I’m now on my second professional Rails contract. I quit my day job in January.

Three Ruby bloggers to whom you’re passing the baton:

Chris Anderson, Peat Bakke, and, of course, Amy Hoy.

Tagged: , , , , , , , ,

This entry was posted in learns_to. Bookmark the permalink.

3 Responses to The How-I-Learned-Ruby Quiz

  1. Greg says:

    Thanks guys! Thought I’d collect some of the other relevant links here, too, as they emerge:
    Jason Voorhis takes the quiz
    Pune Ruby mentions the quiz

Leave a Reply

Your email address will not be published. Required fields are marked *