I posted an article about the Programming Deathmatch held by Berkeley Data Systems on the
InfoQ Ruby Community O'Reillynet Ruby blog this morning. I was only able to put in a little bit of my short interview with Brian Palmer into the article, but I didn't want to throw the rest away. Here are all of Brian's answers.
What's your Ruby background?
Brian: I graduated from the University of Utah in August. I worked my way through school as a freelance software consultant, so I had a lot of opportunities to experiment with new languages and technologies.
In late 2001, I ran across Ruby on a site listing comparisons of a bunch of different scripting languages, and it caught my eye because I recalled hearing about it in connection with the Pragmatic Programmer duo. I experimented with a bunch of scripting languages: Lua, Python, TCL, etc., but after about 20 minutes of screwing around with Ruby I was hooked, and I immediately started using Ruby whenever possible. At first it was mostly for code generation and miscellaneous scripts to help me in my 'real' development (I was writing mainly C at the time, for the Palm OS and Pocket PC platforms), but after a while I started using Ruby for OpenGL work, and then I began writing a few web sites in Ruby using the CGI library, which eventually became the main focus of my business. So it was a natural fit to pick up Rails when it was first publiclyreleased, and about 80% of my job has been in Rails ever since.
What was the Death Match like?
Brian: The Deathmatch was fun, but intense. I've never done a coding contest before, it's interesting to see how your coding standards change when you have 10 minutes to write a program. :) You really don't have time to think about what is the most elegant or most efficient solution, you just do the first stupid thing that comes to mind. Of course, maybe that's why I missed one problem in the 2nd round -- once I stopped to think about it I came up with a much better solution, but I didn't finish it until a few seconds after time was up.
Do you think Ruby helped or hurt you in the competition?
Absolutely it helped. Up until the final round, the only criteria was whether you could write a correct program in the time given, so the fact that I could write so little code to create my solutions was obviously a huge plus. The easy readability of Ruby and the direct way that Ruby maps to the way my brain thinks helped me quickly verify that my answers were correct. And of course, when speed is so critical then it's really important that you use a language you are very familiar with, so Ruby was the natural choice for me.
How does it feel to end up working for Berkeley Data Systems after being one of the winners of their contest?
Brian: Berkeley's a lot of fun, it's awesome to get to use Ruby and Rails on such a large system. I've been working as a freelance consultant since high school, so it's very cool to work on something so big instead of the one-man apps I've done up to this point.