Over the weekend, I came across a tweet sharing an image of a profane commit message. The tweet originated from a developer from a small but well known Belfast software company.
I wasn't impressed with this, so I replied to let the originator of the tweet know I thought it was pretty immature. This lead to a (civilized) Twitter discussion with a couple of interested parties about the tweet.
In this particular case, the screenshot was from a commit to a local repository, which will be cleaned up prior to pushing to a public repository. It was tweeted by a developer in the company who wasn’t the original committer. The code wasn't for a client deliverable, but for a community project. It is worth pointing out that the company concerned does a lot of good work with the local developer community. The overall feeling was from the guys at the company was that the both commit messages and the tweeted image were no big deal. I disagree, and this blog post will explain why I think there is a problem:
Swearing is guaranteed to offend someone. In this case, it offended me. It may well have offended others. I'm not saying this as someone who is blameless - I do curse. But there are plenty of ways of expressing yourself without swearing.
I don't doubt the above commit messages were just a way of letting off steam. We've all been there; my language is certainly not perfect. But I seriously question the wisdom of tweeting an image with a colleague's name, the name of your company and a load of profanity. Once it is broadcast on a social network, it is out there for ever. Would you be happy seeing this one of the top 10 search results for you personally, or for the company you work for? No, neither would I.
Something relatively minor like this can affect on how professional we are perceived. In this case, it has diminished my personal opinion of a company who were doing sterling work to support the local developer community. In the same way, if I walk into a business meeting dropping F-bombs in every sentence, it reflects badly both on me personally and the company I work for.
In this particular case, the code was being committed to a local repository before being cleaned up for release to a public repository, and this was seen as a mitigating factor. I would ask why take the chance of something like this getting released publically or to a client by mistake? Why not hold yourself to the same standard for personal/community code as for a client deliverable?
Incidentally, in one company I've worked for, I'm aware of someone wasting time going through the source code for a major contract and removing the various profane comments before releasing the code to the client. This stuff can have a cost to a business.
The company concerned doesn't feel this is an issue. But as this recent story shows, just because a company doesn't care doesn't mean their customers will take the same view. Geeklist lost a significant number of users following this online spate.
I have no doubt I will told to lighten up for mentioning this. But the fact is there are very few female developers. If we want to start attracting more women into careers as coders, we need (as a start) fewer "brogrammers" and a more gender neutral environment. Posting a commit messages with references to a sexual act doesn't help, it just perpetuates programmer stereotypes. If you think I'm grasping at straws here, please take the time to read the following articles:
Possibly you think that I'm making a mountain out of a molehill with this. Or that I'm just showing my age. But I seriously think tweeting an image like that is out of order. Just as I think that a company that allows a culture where it is OK to have developers documenting code in this way has issues. I would encourage you to respond with your thoughts via the post comments. If you want to get in touch with me directly, please DM at @AndyParkhill. Thanks.