How to Deal With Haters in Comments and Github

That's what I was asked yesterday for about 5th person already. How do I deal with that when I write an article, when I tweet or comment on Github and someone is throwing dirt on me?

I learned this process while being a maintainer of ApiGen for 1 year and then 6 months again, where I got to dozens of online-hate-wars and found that it leads nowhere.

Then I tried another way - a compassion.

We could sum it up in 4 steps:

1. Process Emotion - Take a Breath

Yes, it hurts. When I write a tutorial on how to deal with hater, and someone writes me: IT'S STUPID - it hurts. I put so much work in it and instead of a like I get slapped. In fact, that could be a feedback. With a little effort even constructive.

What information he or she wants to communicate to me? In 90% of cases:

You don't respond right away. When you feel uncomfortable right after reading the comment, you'd only return the same emotion and the same would probably get back to you. Take an hour break if you need. It's ok.

2. Investigate - Get more Intel

We want to know what's on the other's mind. We want to find something useful for us, to make our work better next time.

How to Respond?

This is how damaged 10-years marriage on therapy looks like.

Follow Context

It's the same in programming. There is no ultimate answer to a sentence out of context - reaction always depends on it. We behave differently in a group of friends people or while writing first comment on repository maintained by programmer from South America.

But in the most cases the reaction to such question is more constructive than the first comment. And that's enough for me - I'll take more from it than if I'd remain silent and returned back emotion.

3. Is it Worth it? Iterate

Baby steps. I do not expect that I get sandwich feedback to my first answer - after all, it took me year to get from that's wrong to useful and well-accepted feedback.

Sometimes it takes time, sometimes I regress and mirror anger back, but I try to remember the first point - process emotion. When it doesn't work, I just stop and focus somewhere else.

Often we get from potential argument to his or her sending a new pull-request.

4. Is it too much? Let it go

It is possible, that there is no useful information at all. In that case, let it go. You can leave in silence...

...but how useful is silence to you, when you don't understand something?

What I try to do, is to express that. It's the last and least I can do:

Next time, this person might realize it's not personal attack similar to his childhood experience in school or with his parents, but it's only about miss interpretation of words. And he or she might call you to express it better, like I do when I feel keyboard doesn't work. After all, only 7 % of communication is verbal.

Tip for Github Maintainers - "24-hour Take a Breath"

Github has this super feature right in Settings of every repository, that can give everyone time to process and realize what happened. Outsize the emotional tornado. With calm and peaceful mind.

I wish I knew this before. It would save many words I could not take back.

Don't worry, be happy!

Do you learn from my contents or use open-souce packages like Rector every day?
Consider supporting it on GitHub Sponsors. I'd really appreciate it!