Monday, February 09, 2009

MWRC speaker interview: Andrew Shafer

It's Monday morning, so it must be time for another MWRC mini-interview. Andrew Shafer (@littleidea) was good enough to answer several questions for me.

This interview has a lot of meat to it, so enjoy. Then, go register for MWRC!


You're a programmer working on a very sys-admin-y tool. What could sys admins learn from developers?

Andrew This is a fascinating question on several levels. I like to talk about Developers and Sysadmins tribes, but the truth is, there are a lot of subcultures. For example, Ruby developers are not Java developers or kernel developers. The fact is there are a lot of smart people out there with tribal optimizations who could all learn a lot from each other. I know less about the different sysadmin tribes, and I hate to over generalize, but from my observations the sysadmins can benefit a lot from learning to think more symbolically, especially the way things are going with infrastructure. There is a tendency to get stuck in the procedural details and to avoid abstraction. The other big thing is version control. And forget about CVS, RCS or anything else, go straight to git. Do it now. Seriously. What are you waiting for?

What can programmers learn from sys admins?

Andrew I don't want to over generalize here either but it's probably almost the opposite lesson. Ruby programmers tend to work with fairly high levels of abstraction. Sometimes there is a lot of value in the details. If you are only manipulating symbolic abstractions, you often don't know how things really work. Sysadmins tend to know a lot more about the operating systems, hardware and networking. If you want to build modern web applications at scale, the developers have to consider that stuff. This is less technical but sysadmins probably think more holistically about how they fit in to an organization, since their customers are often internal and they wear pagers. Admins probably have less tendency to blow people off with a 'works at my desk' shrug. (or then again, they might be BOFH disciples who will make sure it doesn't work at yours...)

Either way, there's a lot of things for these tribes to learn from each other. This might not be so clear when one server can handle the whole stack. I'm a big fan of pairing, but there are definitely big benefits to having devs pair with admins on projects or issues that blur the application/infrastructure boundaries.

Why should an average Rubyist be interested in Puppet?

Andrew There is the obvious answer of being able to automate provisioning things like Rails consistently. For anyone who might not know, Puppet is a framework which allows you to describe how a system should be configured and then makes sure it stays that way. Puppet has it's own language, which generates Ruby objects, which get transported to hosts and then does the work of comparing the system to the desired state and changing whatever isn't in the proper state.

But Puppet has a lot of interesting pieces of code. The most interesting is probably either the parser or the resource abstraction layer, both places are where some magic happens. Puppet was first released in 2005 and people have learned a lot about DSLs and adopted Ruby idioms along the way. Some Puppet code is an unfamiliar dialect to most Rubyists, but the exercise of understanding how Puppet works will teach most people a few new things about Ruby.

Besides your own talk, what are you most looking forward to this year?

Andrew That's tough, do I have to pick just one thing? Last year, Jim Weirich's keynote blew my mind and I'd go out of my way to hear him talk about almost anything, but Brian Marick is another one of my favorite speakers who always has a few new twists and wrinkles for my cortex to process. If we can have a MWRC awesome speaker celebrity death match between those two, I'll look forward to that the most. Last year, the most practical talk for me was Philippe Hanigou's jedi knight dtrace talk, so I'm looking forward to getting his insights from Smalltalk. Jay Phillip's Adhearsion talk might be a show stopper too. Ben Mabey and David Brady, I have met at the Utah Ruby User Group, so I want to see them represent. Can I just go through the whole speaker list and say why I'm excited about that talk? I always look forward to hanging with the Ruby tribe.

Why should people come to MWRC?

Andrew MWRC 2008 was my first Ruby conference and I was blown away. If this year is half as good, it is worth 10X the price of admission. Watching Jay Phillips and Yehuda Katz debate about testing in the hallway for 10 minutes was worth the $100. At the time, I was coming up the Ruby onramp from years of Java and C/C++. I came in with enthusiasm but no expectations, and I left thinking I finally found my people. I was struck by the raw passion and the touch of irreverence. There wasn't just a bunch of people talking about a technology, it was a group who was literally bending technology to their will and daring you to join them if you could. You shouldn't come to MWRC because you want to learn about Ruby, Google and Amazon can solve that, come to MWRC because you want to be inspired.

Click here to Tweet this article

No comments: