Greg Borenstein started an interesting process this morning, inspired by Amy Hoy's talk at FOSCON about how to keep the Ruby community healthy in the face of explosive growth. It's a sort of chain letter, a kick start to the process of collecting stories from developers about how they learned Ruby. He named me in the first round, so I have no choice but to answer ...
How I Learned Ruby
What was your technical background before you started learning Ruby/Rails?
Ten years ago I was an operating system and security geek who spent a lot of time twiddling with Linux kernels and GCC. Then I discovered dynamic web sites, and played around with CGI Perl scripts. I jumped on the PHP bandwagon pretty early on, got into Java when servlets were the New Thing, and pretty much stuck with PHP and Java until early 2005.
How long ago did you start?
Early 2005. I'm not sure exactly when I first dabbled in it, but my first real venture into building applications with Rails was in April 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 about)?
The Portland Ruby Brigade, and Google. I had a pretty good understanding of architectural issues from the Java universe, so the hurdles of understanding MVC and ORM were long past ... the big issue for me was understanding The Ruby Way, and nothing explains that better than source code (Google) and a community of people who enjoy talking about it (the Portland Ruby Brigade).
I'm going to toss in a third resource, and that's developing Rails applications with a team. I was fortunate enough to spend several months working with the very talented developers at Planet Argon, and I've had the opportunity to work with several other small companies and contractors in the Rails community. There's nothing quite like pair programming and code review to "keep it real."
Strangely enough, I don't own a copy of the Pickaxe Book, and although I ordered a copy of the Agile book, I don't think I've gotten past the first few pages. Go figure.
Tell us the story of how you came to learn Rails:
I had heard of it and dabbled a bit in early 2005, but it wasn't until I ran into Marcus Estes and the Tables Turned folks that I found a goal to inspire me to build some real apps. For me, having a real project to work on is the best way to learn things, and working with other people who have innovative ideas provided the motivation to dig into the API docs and learn Ruby's tricks.
What keeps me interested in Rails is how much better it fits my projects than PHP or Java. PHP is great for tiny apps -- like building brochure sites that need common headers and footers and maybe a little "special sauce" to make it interactive and interesting. Java is great if you have to deal with existing infrastructure and enterprise systems that are expected to be stable and available for decades. My projects are usually somewhere in the middle, and Rails suits them perfectly.
Three Ruby bloggers to whom you're passing the baton: