Empathy is important in daily life. The barrier of the internet has largely fizzled this out for a lot of our general interactions. I think back to a great post by a reddit admin about this titled "Remember the Human".
Whether you're working in the tech industry or anywhere else, it is important to try and empathize with someone else's situation. This seems to be an ongoing issue in the online community surrounding most things tech. If I had to guess, I'd say it relates to everyone wanting to be on top of the new hotness, and everyone wanting to appear correct at all times, since most of what we say and do are tied to a common profile online. Even when that isn't the case, the world can become a much brighter place if you take a beat to empathize.
I say 'empathize' here, but what I am saying is that you should try to put yourself in someone else's shoes before making assumptions or calling them out. This happens all the time online, especially in forums or blog posts. On any given comment thread, you can be sure to find someone who bashes an author's methods, or says that so-and-so is wrong in their implementation of somthing, or that people should just "get good" at whatever the topic is.
Well, guess what, the world isn't black and white. Nobody is 100% correct and nobody is 100% perfect. Everyone is a hypocrite and everyone makes mistakes. Everyone is learning and not a soul has any idea what they are truly doing in life. That's just how being a human is.
Let's take a few (paraphrased) examples. I won't be discussing the exact topic or linking to the authors of these comments, but they will serve to show what kind of empathy I am talking about.
Questioning tech choices
James posted an example of how he and his colleagues handle a quirky code scenario. Alex comments:
Ew, people still use
<some programming pattern>? And
<some slightly outdated package>? Gross
Alex doesn't know what lead James to his answer. Alex doesn't work in the company that James does, and she doesn't know what kind of code James is working with. She saw one excerpt, made assumptions, and decided that the worst assumptions must be true — James must be an uninformed moron who shouldn't be trusted with programming.
Think of how else this could have gone. Alex could have asked what lead to those decisions. A further discussion about better alternatives could be cultivated. Improvement and iterations could be made, but instead, hostility comes right out of the gate. James will be forced to the defensive at best.
Assuming common world views
Steph talks about how an external service changed, causing her project's builds to fail. Mark responds:
Here's an idea: don't use that system. Why do people even bother with that? Its 2016.
Mark might have a good intention here. He is suggesting that antiquated systems shouldn't be trusted if stuff like this can happen. The problem is that he is assuming that Steph lives and works in a place where this is up to her, and that this is something she intentionally wants to be using, and that she can make changes on a dime. That may be true, but if you take a step back and think about people's varied situations, you could surmise that, just maybe, this is a system that is in place because of a requirement from a customer. Or maybe she works for the government and this is required by law. Or, maybe it is something that has worked great, and only once has failed, and now she's posting for posterity about how other's can get value from this system while avoiding this issue.
A response to it being an employer requirement was similar to:
Quit your shitty job then
This is just unreasonable. Nobody specifically wants to work in a job they don't like, or use tools they don't like, or work in a language they don't like. People do it because they make a living, and hopefully find joys in some other parts of their job. They can actively work to improve their workplace. Telling someone to quit their job because you don't agree with something they said provides no value to anyone. You make yourself look like a stubborn fool to anyone reading a conversation, and you take away from their day, providing unhelpful commentary about their life.
You likely don't know a single thing about whoever is on the other end of the wire. They could be a student learning the trade and excited to share what they know, you shouldn't accuse them of being shortsighted because they haven't learned everything else there is. They could be a retired person wanting to pick up a new hobby, you shouldn't call them useless because they aren't sticking to the bleeding edge. They could be someone in a job where they use a lot of the latest tech, but its just not financially feasable or responsible for them to spend their time reading posts about the latest tech, because they have to ship their product sometime.
Now, I know the people this post rants about are the vast minority, but since the internet is an echochamber, its easy to see this stuff crop up a lot online. I can only think of once or twice that I've met someone in person who actually talks like an angry online person, and wouldn't ya know it, they're out of a job as of recently. That's not how the world works. The world works by embracing differences and ultimately finding the best outcomes.
Empathizing with them
I'll take a moment now to empathize with those who post angrily about other's works. You probably feel that you have a lot to give. You've been doing this for so long, maybe even you're still young, but you started so early. You probably feel that other's haven't given you a chance to show how good you really are. Maybe you've tried blogging a few times, or made a few stellar projects on GitHub that ended up not getting much attention. Maybe you see other people making posts online that get some traction, but you did it before, and better, and now they get all that credit.
That sucks. It really does. I've been there, hell, I'm still there, but the number one thing that has helped me work with others and just feel happier overall is to step back and focus on improving the world around me, rather than trying to control it. That generally means improving relationships with those I work with, those I meet online, and those I love. It means I help contribute to other projects, and pair with developers who need clarity on something I may actually know about.
Maybe your situation is nothing I mentioned above. Maybe you're just mad. I don't know, I don't particularly care, either.
I'm going to try my best to be nice to you and find out where you're coming from.
My employer had many of the office's managers read this book, and my manager suggested the same to me to help grow as a professional working with others regularly. It has helped immensely in the way I approach conversations in and outside of work.