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?


Join the conversation! 5 Comments

  1. Wow, powerful! I think sometimes people don’t realize how they’re coming off to others or they don’t have the capacity or patience at that time to really explain things correctly. For example, at a work place where employees are stressed during crunch time and a looming deadline around the corner, the newbie guy is trying to help and figure things out when the mentor comes over to review his work and says, “You’ve gotta do it like this, not like that.” Doesn’t really explain why or word it like, “Well maybe next time, try it this way or we do it this way because of such reason.” So the newbie either gets angry or even more confused whereas the mentor just failed at communication due to his own personal stress that the newbie was unaware of.

    And the internet gives people even more reason to “blurt” out things without thinking. Not to mention, words like this in a comment have no tone. I read an article recently claiming that all communication is layered, and therefore what is being “said” isn’t necessarily how the opposite person perceives it, that it’s just “information” and it’s the responsibility of the other person how they react to that “information”. Here is a link to that article:


    Now – I don’t totally agree that we are entirely responsible for our own reactions depending on this “information” coming from another person, however, it does make you wonder what’s going on through each party’s head during this exchange where one says something that comes off superior and angers or upsets the person trying to learn. There may be several things at play here.

    There’s also the case where people don’t mean to say, “Do it like this because it’s the way we’ve always done it,” just that they don’t have the sufficient skills to really explain it to another person. They know it’s correct, but have a hard time really explaining why to someone who doesn’t have the same experience as they do – and so communication fails.

    Anyway, sorry for the mini-blab session haha! I love your blog btw, it’s very honest and some of my first challenges I tackled in WordPress were helped along from your tutorials or courses on Tutsplus! Back on the topic of this post – I feel like from the material I’ve read from you, it’s been communicated very well and I’ve benefited from it.

    Thanks for listening – happy Friday! :-)

  2. Hi Tom:
    It does seem like the negativity in the development ecosphere has been amplified as of late. Even in the beloved WordPress community, there have been grumblings here and there. It IS human nature to see peoples faults before we see their strengths. Some people DO lift themselves up by pushing others down.

    I’ve had to come to grips with the fact that you can’t make anyone do anything they don’t want to do. To get technical, you REALLY can’t control anyone outside of yourself. The best course of action is to try and CONVINCE people they can go a better way and see if thy respond.

    In the design/development/programming community, we tend to see ourselves as more enlightened than people on the outside. We think we are better than that. Our morals are better. But the truth is, we are human like everyone else. We still have a lot of work to do, personally and as a community. It WOULD be cool if our community was the Utopia we sometimes envision it to be, but then there’s the cold splash of water that jars us back to reality and makes us self-reflect.

    Anyway, lots to think about here. Let’s do better.

  3. I’m with you. But something I’ve noticed is that the programming community tends to skew young, and within that set, there are a lot of men that are still fairly immature, for reasons all their own, but they also can be vocal. I don’t really see the women in the community get catty, which may just be due to their minority status, population-wise. I’ve seen respected developers fight like kids on Twitter and in blog comments, and language used that would make a sailor blush, right out in the open for current and future business acquaintances and clients to read. There is a definite lack of foresight and empathy displayed, which often accompanies life inexperience. They may be programming hotshots with big brains, but they still haven’t managed to temper their attitudes appropriately. Learning how to walk a mile in another man’s shoes takes time.

    This isn’t the same as what you describe, I know, but I think a lot of the same people dwell among both groups. And the only cure, along with more cowbell, is time and experience, aka “growing up and older.”

  4. As always Tom, great article. I agree that people on the internet don’t quite know how to express themselves properly. I think it stems from the fact that so many people take a self centered approach to things, as opposed to being more concerned about the betterment of all.

    We do live in a society that teaches us we are the center of the universe and that we’re always going to be right. While I don’t have a solution to the problem, I do know that I personally make an attempt to do what’s best for everyone.

    I think if people start practicing tolerance and working to not only understand the other person but genuinely help them we can do a lot of good for our community. Whatever that might be.

Leave a Reply