Hang around any community long enough and you are going to see the good parts, the bad parts, and the weird parts . Similarly, I think that anyone who has been involved in any type of community for a significant amount of time will have plenty to complain about.

I’m not just talking about online communities either – this is just as applicable online as it is offline.

But, if you’re reading this, then you’re reading this online and odds are you’re active on Twitter or Facebook or some other form of social media where we all use the services as our own platform for sharing our opinions with the public where others can read, respond well, respond negatively, or ignore.

Whatever the case, I think that we’ve gotten far too comfortable sharing our criticisms in 140 characters or less without showing enough empathy or understanding or education for our peers and it’s to our own detriment that this is happening.

They Should Become a Better Programmer

Imagine this scenario playing out in the programming industry (or in even a part of the programming industry):

You’re an Experienced Programmer who shares something about how “dumb” it is that other developers aren’t doing things using [this particular methodology/design pattern/architecture/etc.]. A Younger Programmer clicks on the tweet and reads a conversation among you and your peers.

In the course of the conversation, you and your peers share links to tweets or posts all of which are geared towards educating other programmers in how to do something.

So the Younger Programmer decides to visit some of these blog posts, browse through the comments, and sees you lambasting the programmer for the work they’ve shared not because it’s altogether wrong, but because it’s not how you would go about doing it.

Furthermore, the comments don’t provide any real points as to why something is wrong, why something should be done another way, or any guidance or mentorship on how to improve it. Instead, you just claim the author is, in so many words, ignorant and whatever it is they’ve shared is no good.

At this point, the Young Programmer closes the browser and becomes more self-conscious about sharing their work, is suddenly more cautious and suspect about everything they read, and is left feeling like they aren’t sure who to follow if they’re hoping to get better at what they do.

All of this happens when enough people like this don’t offer any guidance on how to get better, and The Other Programmer comes off as helpful but is apparently wrong (based on what the Experienced Programmer shared).

We Can Do Better

When we share statuses, tweets, and comments that chastise other programmers for their work without providing any real guidance as to how things can be made to be better imply that we know more, that we have a better idea, and that our experience is akin to some level of enlightenment that we have attained and others haven’t (and perhaps can’t).

Give me a break.

But books, lectures, courses, and experiences are all great teachers and we all go through it in some form or fashion. I’d much rather be someone who recommends a great book, provides or recommends a great talk, shares a great course, or generally provides a great experience for those looking to learn rather than being someone who takes the knowledge and clutches it tightly as if it’s some grand secret that only a few privileged people can know.

So let’s say that you, the Experienced Programmer, has someone try to call you out on it in email (in order to have a private conversation which is obviously already more respectful than whatever you’ve done), in a reply tweet, or in a blog comment trying to hold you accountable for what you’ve said and then you turn it around as if it’s some fault of theirs rather than yours for why you’ve come off the way that you have.

Case in point: It’s hard to write things like this because people can then just act dismissive and claim that you’re being sensitive about something that isn’t even a real issue.

But if it’s enough for you to inject some level of commentary, then it must be an issue that’s real enough to warrant some type of attention, right? I mean, we don’t give our attention to things that don’t matter, do we?

 

Anyway, you’ve basically created a scenario in which you’ve completely insulated yourself from allowing others to criticize you or to tell you that you’re wrong:

  1. You setup a set of claims insulting other programmers for their work without providing any guidance, mentorship, or education as to why said work is wrong.
  2. When someone challenges your viewpoints (respectful or not), you dismiss them under the idea that they’re tool emotionally involved or that they’ve taken things the wrong way.

It’s far easier to criticize other people when you write off any criticism that comes back to you as an ad hominem.

The overarching problem to all of this is that we live in an age in which we urge more people than ever to learn to write some type of code. We place it on a pedestal and say “come and try this, it’s not that hard, you can do it, it’s great and everyone should learn to do it because it teaches you so much!”

And then we act like this.

I can’t speak for anyone but myself, but aside from the fact that I don’t know if everyone should learn to code (which is the content for a different post), I don’t know if I’d want to join a community, less an industry, that was so hypocritical. I mean, clearly there is good in this which I’ll talk about more in a minute, but if I saw how people are now prior to getting into it, I’d second guess my decision.

It’s kind of twisted: Yeah come on in, the waters fine. Heads up, we may try to drown you.

Speaking From Experience

Obviously, I can only speak as far as my experience is concerned – that’s true of all of us – and a lot of my experience comes from spending a lot of time not just in software, but specifically in the WordPress space.

For the most part, I really enjoy it. I’ve met a lot of people online that I would’ve never met otherwise. I’ve learned a lot from people who are much more experienced that me and who have helped – and continue to help – me get better at what I’m doing.

It's not a wretched hive of scum an villainy. Not completely.

It’s not a wretched hive of scum an villainy. Not completely.

 

I’ve gotten the chance to chat with people on the other side of the world and exchange ideas. I’ve been able to help others, be helped, and to try to contribute to work other people who have (and vice versa) in order to help make things better for other people.

Clearly, a lot of really good things have happened. I’ve become a better programmer because of the time and effort that others have put in to provide useful resources. There are good people worth following in this space.

At the same time, a lot of really rude, disingenuous, and generally cruel people exist and they have no problem spending their time harshly critiquing others if they don’t measure up to whatever semi-arbitrary standard they’ve set. As long as they themselves see themselves at the bar (if not above it), then all’s well.

It’s part of the human condition, I suppose.

And believe me, I get it: We want people to do things in a way that is well-designed, maintainable, and that can scale. Anyone who cares about programming cares about these things. We’re not unique in that regard. We all want to be better at what it is we do. We want to know better strategies, we want to know better tools, we want to know more design patterns, we want to know more.

But when we see Experienced Programmers subtweeting about something they’ve read or heard and then they see the same Experienced Programmer and their peers trashing something that someone else wrote or shared without providing any reasons as to why it’s wrong or how it could be made better, it creates a pathetic reputation for those who care about helping people who are coming up behind us, and it creates a poor reputation for those us who look up to whatever it is that you’re doing.

Way to go.

Nothing Really Matters

The thing about all of this is that it almost seems futile.

Maybe Queen was right all along.

Maybe Queen was right all along.

Maybe it’s a pessimistic point of view, but I don’t know if people can (read: will) change for anything like this. I mean, as programmers, do we even look at ourselves enough to decide we’re personally acting like this, or are we just thinking of a number of other people who act just like this.

And if you do think of yourself, are you going to do anything to change it or do you still standby whatever it is that you’ve said and the way you’ve said it?