The other day, there was a post floating around called Why Angular 2 is Terrible.

Actually, saying it was "floating around" is too weak: I saw it everywhere on Twitter, and searches for Angular on Twitter were dominated by this one post for a decent amount of time.

This kind of post is very effective at reaching eyeballs. It was very easy to re-tweet, forward, stick on people's walls, and throw into a corporate Slack room.

Articles like this are very effective at getting people who already agree with the premise to smile knowingly. Perhaps less well understood, they are also very ineffective at getting the group of people who built the "terrible" thing to work on improving it.

Back in the beginning of the React era, Pete Hunt gave a number of talks comparing Ember's data-binding strategy at the time with React's data flow model. I didn't always agree with his framing, but I appreciate the way he tried to steel-man the Ember argument, creating example code that I felt represented Ember reasonably.

Because Pete didn't talk down to us, Ember ended up adopting the React data-flow model (and Data Down, Actions Up is now an agreed-on Ember best-practice).

So if you're gonna write an article criticizing a technology, focus on persuading the authors of that technology to improve it rather than preaching to the choir of people who already believe it sucks.