There’s a joke I sometimes tell at family gatherings.
I have this vision of my ancestors of Clan MacIver. We’re preparing for battle. A line of hairy bearded Scotsmen on the top of a ridge. We face the enemy, raise our axes, and as one we charge, shouting our fierce battle cry.
“NO. YOU’RE DOING IT WRONG!”
This joke is of course wildly inaccurate. Setting aside the ludicrous cultural stereotyping, I think the people in our family who the you’re doing it wrong tendency come from most are on the maternal line (my mother and my father’s mother) – my father and his father before him are/were definitely perfectionists, but it’s more self-directed than that. But still, annoyance at other’s mistakes and failure to understand The Right Way Of Doing Things is definitely a family thing.
And, as you’ve probably noticed, I exemplify it somewhat. I don’t think I always know the right way of doing things, but boy do I have opinions. And I will often rant angrily about them. Here, on twitter, on IRC, in the pub, if you happen to stop me on the street to ask for directions, etc.
And for some reason it’s taken me 30 years to start to wonder… is this useful?
As far as I can tell, about 80% of our industry, and I suspect that number is generously low, is suffering from at least one of Dunning-Kruger or Impostor Syndrome (I’m of course in the remaining 20%. Yes. For sure. After all, I wouldn’t self-describe as being either of those, so I must be in the 20%, right?).
So when I shout angrily about how people are shit at writing software, who is listening?
On the one hand we’ve got the overconfident types. They might be listening, but of course they’re already doing everything right, so while they may treat my anger as a hilarious spectator sport, it doesn’t really apply to them does it? Really I’m just giving them another tool to beat people with.
On the other hand, we’ve got the people who are already insecure about their own skills. They’re afraid they’re shit at software development, and they’ll take angry criticism as validating that this is the case. I know from past experience (learning to drive) that having someone shout at you about how bad you are at the thing you know you’re bad at is a good way to completely destroy what little confidence you have left and ruin any chances of getting good at it by making you give up and go do something else.
So when I shout at people, who is listening, and what does it do to them?
There’s certainly a place for anger, and it’s a good tool for getting people to listen long enough for the mind control to take effect. But when it’s a post about making yourself better at a useful skill, who would I rather derive the benefit from it? And even if I do want the larger community to better itself, shouldn’t I be more careful about the people caught in the crossfire?
This post is full of questions, and I don’t really know the answers. I dropped out of my mind-reading classes because the instructor shouted at me too much, so I don’t actually know how my shouting affects people. But it’s a possibility that I’m worried enough about that I’m going to keep an eye on it. There probably aren’t going to be any overnight changes, but there may be a gradual shift in tone.
I may not know a lot about this software dev business of ours, but if you’re shouting about exception handling, you should probably turn up the volume…
It’s amazing how many people just don’t realize how powerful a tool exceptions are when used correctly, and hence don’t seem to pay them enough heed to ever get it close to something at the base level of amazing I enjoy every time something goes wrong. Squelched exceptions, overuse of catch, catch instead of finally, misuse of finally managing DB transactions, the list goes on…
Really, sometimes shouting done right just draws attention to what really is a very important and often misunderstood domain. Just be judicious and choose your battles ahead of time where possible.