This article and the accompanying discussion on Hacker News really got me to thinking tonight. I'm not going to say much about the post itself other than that I agree with Dan's sentiments. I don't know who in their right mind would address a guest at a professional conference using the term "sexy." But it did get me to think a little bit more about professionalism, professional behavior and how it relates to software development.
We as developers, and especially those of us in the Internet world, are used to a certain level of what would be traditionally considered non-professional behavior when it comes to the workplace. Most obviously, there's the dress - T-shirts, jeans or shorts (depending on your climate) and sandals are common dress. Many companies' offices are outfitted with lots of things you would not find in a traditional office - ping-pong tables, beer kegs, beanbag chairs. It's all very collegiate. We tend to have very little patience for those who "don't get it" - every developer has probably at one point labeled a user a PEBKAC. And then there's the language - I think developers might be second only to sailors in finding creative ways to swear.
Essentially, we get to be big kids. It's a pretty sweet gig!
I think a lot of this is because we, as developers, value one thing above all else: the ability to deliver. As I think about it, I can remember working with some brilliant people - and some of them had absolutely no social skills and no idea that some of their behaviors were not just unprofessional, but outright disgusting. If you can ship quality, it doesn't matter if you wear a suit and tie every day or you wear a threadbare T-shirt and haven't shaved since Nirvana first hit the radio. To us as fellow developers, what you produce is what matters above all else.
As one comment said:
The programming world is so used to breaking the norms, revolutionizing industries, and wearing T-shirts and sneakers to work that we forget, sometimes, that some aspects of "professionalism" actually do serve a purpose.
While these things may be "okay" in our culture - the culture of dot-com, the culture of software developers - to outsiders, we are baffling, uncouth, at times rude and definitely unprofessional. Now, if you're working in a startup, you're probably around only a few other people who are like minded and are part of the culture and won't think anything of strange behavior as long as you ship. My last job was with a startup that was 4 months old when I joined the team and was still very small. I remember hearing a story about someone in the company who, during a long night of coding in a small office, just got up, took his pants off, sat back down and started coding again. This may be kind of an extreme example, but this general kind of behavior is considered the norm for developers, especially in Internet startups.
But, there comes a time when we have to drop - or at least tone down - the unprofessional behavior and actually start taking business seriously. I'm not exactly sure what that point is, but it's probably about the time that people who are not part of "the culture" become involved. Marketing, sales, business development, management, accounting, and other more traditional business fields are not part of our culture and they don't get our ways. Once these people become involved, and definitely once/if they outnumber the developers, we must begin to accept the fact that we have to modify our ways a little bit.
The thing is, we criticize them as being "stiff," "squares," "boring," "demanding," "not getting it," and the like. We begrudgingly work on tasks for them, the whole time complaining to our coworkers in our culture about what we have to do for marketing, or accounting or whatever and how they just don't see the big picture. But we are unwilling to meet them even half way when it comes to working in a professional environment. I don't know if they're trying to understand us, but are we even trying to understand them?
Over the last couple of weeks, I've been trying to raise the bar for myself a little bit when it comes to being professional. No more T-shirts and jeans or taking shoes off. I've tried to stick to "business casual" dress, although it's tended to be a bit closer to the casual side (I still wear sneakers and my shirt is almost always untucked). But I've worn collared, button down shirts and khakis - something that would have been unthinkable a year ago. I'm actually even thinking about wearing a tie occasionally. I've been trying to tone down the language and start thinking respectfully about each task regardless of it's interest factor.
I guess what I'm trying to get to in my admittedly rambling diatribe is that professionalism starts with respect: respect for ourselves, respect for our craft, respect for our employers, respect for our coworkers whether they are developers or not, and respect for our peers. We need to begin to have more respect for what we do as a craft and profession, and more respect for the people we encounter every day. We should always strive to treat everyone we encounter with the respect they deserve at the very least as fellow human beings. That means not referring to users that break our software as idiots and not referring to women presenting at conferences as sexy.