Since this is at the top of Hacker News: this article is not good advice generally. Here's what I do (and mentor people to do the same):
1. Don't start with the argument, start with the data. Debates/arguments/discussions etc. are what to do about the underlying data, but I've found very often the disagreement stems from people having different bits of data. Before you get into how to marshall an argument, you have to start with collecting what ground truth is. Many people don't practice this intentionally, so they get into a debate over some decision the team is making without having all the facts.
2. Form opinions easily, be ready to discard them quickly. I am quite happy to share my understanding of some technical matter, and I almost always provide that understanding with an invitation for people to tell me why I'm wrong.
3. Over the short term, yes, it's hard to change people's minds. Over the long term, you don't have to change people's minds, you can change the people you work with. You can vote with your feet or (if you're more senior) you can influence how your organization hires and promotes people. I actively seek out working with people who disagree with me in interesting ways. Not pedantically, and not over minutiae, but in ways that change how I see a problem. It turns out, when you seek out people who are good at productively disagreeing, you don't run into some of the problems OP writes about as often.
4. One of the ways to help sift out who the people are you want to work with is by offering feedback. Most people are terrible at giving feedback, so it's important to first get good at giving feedback. The author says that people don't learn from feedback, people learn from consequences. One of the effective ways of delivering feedback is to structure it as "Here was the situation, here are facts about what happened, here is the outcome." However, once you get decent at giving feedback, some of the benefit of giving the feedback is in the signal of how the person responds. The people I want to work with generally take this feedback well, and in turn offer me similar feedback.
5. Debate what matters. A lot of technical debates engineers engage in are either not important to the end product are easy to change later. Don't waste your time on those.
would you like to argue about this?