Programmers Aren’t Confrontational. F**k you!

Cover Image for "Programmers Aren’t Confrontational. F**k you!"

Freelance ProgrammingWeb Development
I was reading an interview with developer Mark Dalgleish recently. He mentions how important it is that we as developers do something about our confrontational nature.
I think it’s a little exaggerated to say we have a “confrontational nature.” Maybe even a little insulting, and over-generalized. But I think there’s fact in the idea that there’s sometimes a subtle tendency toward defensiveness in our profession. Not everywhere, but here and there.

Respect (just a little bit)

When developers get good at something, we often get opinionated about it, which is 100% fine. But sometimes we take it a step further, and we get a little touchy when someone disagrees. Or as this article mentions, we sometimes treat inquiries as criticism (or worse, attacks). Or we’re quick to mock or discredit people for their imperfections. I think sometimes we get too attached to our technologies. And to our opinions.
Respectfully disagreeing is healthy. But imagine getting verbally (or physically) bitch-slapped every time you questioned something your parent did. If this actually happened to you, your childhood was fucked up. Sorry. A parent should be mature enough to say no to a kid most of the time without snapping and giving that kid a micro-trauma. I’m sorry that happened to you. They were a-holes, and you’re better than them.
On the other hand healthy, civil debate is what success is made of. Relationships grow from positive back-and-forth. Brainstorming sessions go better. Companies grow. Partnerships are fruitful. It’s the stuff chemistry is made of.
This is what code reviews are all about. People look at our code, and offer suggestions on how to make it better. The advice is free. And like all free things we can take it or leave it. Picking a fight about it will only prevent us from getting better.

C’mon. How big a problem is this, really?

I really don’t know. If you’ve got data on this, post it in the comments. I can say that I’ve worked at places where it’s prominent, and worked at places where it’s completely absent.
I’ve seen it far more on the internet, where people are quick to flame others for their mistakes, or disagreement is met with harsh resistance. But I’ve also seen threads online where people can have meaningful conversations even though they have drastically opposite beliefs. Like, Republican vs Democrat type opposite (whatever the tech version of that is). Real polite-like though.

Practice empathy & patience. Even if you’re awesome.

Many of you may not even need this advice. I hope that’s the case. Feel free to ignore it. But I think I’m pretty good in this area, and I certainly know there’s room for improvement. I continue to work on my empathy and soft skills regularly, treating them like my coding skills, and I encourage you to do so also.
Not because there’s anything wrong with us. But because these things just make us better developers, are GREAT for our careers, and great for our lives as well.
What are your thoughts on this? Leave a reply.