Please tell us a bit about yourself and your background.

I’ve been programming since I was in high school, starting with GW-Basic and progressing through TurboPascal, C/C++, Java, Python, and eventually discovering Ruby around 2001 or 2002. I worked for about five years at BYU, until I met David at the 2004 RubyConf. A few months later I found myself happily employed at 37signals, where I’ve been ever since!
Why did you choose Ruby?
Just before finding Ruby, I had been playing with Python. I liked a lot of things about it, but eventually grew tired of the significant whitespace. I went searching again, and found Ruby. Everything about it clicked for me: the blocks, the ubiquitous objects, everything.
Why is Ruby a good language to learn?
It might not actually BE a good language for everyone. It was for me, because there was very little mismatch between Ruby’s syntax, and how I thought about problems. I’ve been teaching Ruby to my son now, too, and it’s been interesting to see where match is not so seamless for him as it was for me. It’s still a great language for him to be learning, but among other things, the auto-coercion of values (both when it happens, and when it doesn’t) is surprising to him.
How should I proceed to learn Ruby?
Build something! I actually wrote a series of blog posts recently where I suggested implementing maze algorithms as a way to learn a language, and I really think that’s a great approach (if you’ve already got one or two programming languages under your belt). If you’ve got a specific project in mind already, though, that’s going to be even better. Books and websites will only take you so far; to
really become proficient, you need to apply what you’re learning in a “real” environment.
When did you start working on Rails? What was the motivation?
I first started working with Rails in the fall of 2004, after meeting DHH at RubyConf. He and Jason hired me on a consulting basis to work on some features for Basecamp, and that was really my first introduction to Rails. A few months later they hired me full-time, and I got to work with this stuff every day, day-in and day-out!
How would you briefly describe Rails from your perspective to new users?
Why should they consider it?
Rails makes the common case easy, and the uncommon case possible. More than that, though, it makes the common case “brainless”, meaning that you don’t even have to think about it. The common case is the default, and works by default. While this isn’t unique anymore, back in the day Rails really blew people’s minds, because they were used to the monolithic, XML-configured frameworks in Javaland and elsewhere that required you to configure every little thing, even (and maybe
especially) the things that were the same between 99% of your projects. A framework that did all that for you seemed too good to be true.
Other frameworks have adopted the “convention over configuration” idea now, but Rails still leads the pack, largely because of its Ruby underpinnings. Ruby’s awesome metaprogramming features make it
especially well-suited to applications like this.
What operating system do you prefer?
I’m a Mac guy, 100%. I was heavily into linux until I joined 37signals, and they introduced me to Mac OS. I haven’t looked back.
What is your development environment look like? (Text Editor, Web browser, etc.)
I use MacVim for writing code, and the latest stable version of Chrome as my browser. I use Terminal.app for command-line access, and I generally have two or three of them open (in tabs). I use Xcode when I do iOS development, but only for the build and debugging features; I still use Vim to write the code. Rake, of course, is indispensable. I use iChat for IM (but I don’t particularly like it; iChat is what we use at 37signals), and we use Campfire to communicate as a team.
Do you have a blog, website?
http://weblog.jamisbuck.org. It tends to be technically-focused, but beyond that is generally just about whatever I happen to find interesting, or whatever I happen to be working on at the moment.
What do you do in your free time?
I’ve been learning the guitar, using http://www.justinguitar.com as a lesson guide. I also enjoy reading science fiction and fantasy, woodcarving, playing with string figures (http://www.ekawada.com), and tinkering with software.
What are your future plans?
I’m really not sure.
I take things a day at a time, and see where they take me.
Something you want to add?
Nothing, really. Thanks for the interview!
Blogginlägg, developer, interview, Intervju, Nyheter, Programmering, rails, Ruby, Ruby on Rails, Utvecklare, Webbutveckling(Intressant)