I’ve been following the “Rails pr0n star” scandal, probably too closely for my own good, and making my share of grumpy twitter comments. Let me just get the standing and being counted out of the way first:

I found the slides in question entertaining and cleverly put together, but inappropriate for their context. But moreover, I found the reaction of DHH and other prominent members of the Rails community distressing and distasteful. It shows a lack of maturity to be unable to distinguish between sensitivity and censorship. I’ve been involved with Ruby since years before Rails came along, and this is emphatically not the warm, humble, encouraging Ruby community I know and love.

That said, I want to talk about something else. I want to talk about a couple of terms that I feel have been unfairly besmirched as this mess developed.

The first term is “Rock Star“. Nearly every blog post I’ve read about how sucky the Rails community is has put the blame on the “rock star” stereotype. I don’t think this is fair to rock stars.

What programmer has not, at one time or another, committed a righteous act of transcendent coding and been seized with the urge to run down the hall screaming “WHO RULES? THAT’S RIGHT I RULE, BABY! FUCK YEAH!” and then do an air-guitar solo on top of their desk? Come on, you all know what I’m talking about.

In decades past when a Joe Hacker got this feeling it was quickly quashed by the realisation that he was a mere geek, a permanent social pariah, and that such displays of blatant self-confidence were simply not for him. So he’d tamp it down, open another Mt. Dew, and slink back into his cave.

But something happened at the dawn of the 21st century. Geek started to become cool. Hollywood started making blockbusters out of comic books. Programmers started writing programs for the web that made ordinary people happy and got them laid, rather than just irritating the living hell out of them at their day job. That made programmers kind of cool. And the programmer demographic itself started changing. Suddenly it was possible to go to a users group meeting and talk to people who not only dug obscure programming languages and D&D, but also playing the guitar and snowboarding. The fact that you wrote code for fun stopped being something to hide from potential dates, and started being something that might actually help score you a date

Joe Hacker looked out over the rim of his cubicle and realized “hey! I am pretty awesome! And it’s OK to feel good about that!” And then he moved out of his parents’ basement.

Being a programming rock star is about empowerment. It’s about pride. It’s about knowing that you’re not just another cog in a corporate wheel or an academic wanker, but an artisan with the power to change people’s lives with nothing but information. It’s about hearing “this is gonna be a great party – be sure and bring your laptop“. It’s about embracing the electricity of that “eureka” moment and sharing it with other people who understand the feeling.

But rock stars are supposed to be “bad boys”, right? Sure; but chest-beating about being “edgy” does not make you a bad-ass. If anyone knows about being a bad-boy rock star in the Rubyverse it’s Giles; and he wasn’t impressed. Neither were Zed or Obie. To quote Reg Braithwaite:

Porn is *not* edgy. Walking into Oracle’s Head Office and shitting on their conference table is edgy.

Matt’s talk wasn’t rock star behaviour, and the defensiveness and posturing that followed it were even less so. It was just plain old garden-variety immaturity.

The second term I want to defend is “professional“. DHH doesn’t seem to think much of it:

Professional to me is facade, fake sincerity, political correctness, not offending anyone, and everything else that makes life lifeless

Spend some time with any real-life career rock star – the kind with groupies and a dozen guitars- and I’ll wager you’ll find that whatever else they are, they are a deeply professional musician. Professionalism is orthogonal to “edginess”. I know edgy people. I mean really edgy people. People who play with fire and get suspended from hooks for fun. People who do things in private to other people for both business and pleasure, things which are beyond the scope of this technical blog to describe. These people are nothing if not professional about the things they do. They have careful rules about when and where. They are profoundly mindful of boundaries, and painstakingly sensitive. They have to be. It’s the same for any practitioner of an extreme sport – beyond the gung-ho, devil-may-care veneer, you will almost always find someone with a finely honed sense of where to draw the line, of what their limitations are, and most importantly, the ability to listen.

There are always exceptions, of course. In any given “fringe” community there’s always a few irresponsible characters. They are the ones who wind up getting ostracised from the group because their cavalier attitude threatens everyone else’s enjoyment and/or safety.

So I don’t think that word “professional” means what he think it means. I think what he really means is “corporate”, which is a whole different animal.

As for me, I still aspire to be both professional and a rock star, both in code and in music. And I don’t think there’s anything wrong with that.

UPDATE: I will moderate any more comments that try to argue the case that people overreacted to the slides. That debate is both irrelevant and over. To quote Martin Fowler:

At this point there’s an important principle. I can’t choose whether someone is offended by my actions. I can choose whether I care. The nub is that whatever the presenter may think, people were offended – both in the talk and those who saw the slides later. It doesn’t matter whether or not you think the slides were pornographic. The question is does the presenter, and the wider community, care that women feel disturbed, uncomfortable, marginalized and a little scared.

This is a post about the meanings of the terms “rock star’ and “professional”. Anyone who wants to debate the meaning of the term “porn” is welcome to take it up with Justice Potter Stewart.