Notes on debating for the web development community

Don’t. Just don’t debate. Especially if the issue is an important one.

It took me decades to figure this out, despite clear evidence from several fields (like psychology), and being backed by substantial research. I’ve always been an argumentative bastard, but arguing and debating people just doesn’t change their minds. It does the opposite: the exercise of having to come up with explanations and rationalisations for their point of view makes their conviction in their point of view stronger.

Debating people lowers the odds of them changing their minds and directly undermines your own position. The best thing to do—and I’m still trying to get into the habit of doing this properly—is to:

  • Simply state your position in a manner that does not force others to defend theirs. People are social beings so—all else being equal—the fact that others hold an opinion makes them more open to considering it.
  • You can outline reasons why you hold your opinion as long as you don’t use your reasons as a weapon to club others into your position. “I believe in X because of Y and Z, and those matter to me.”
  • Do present information and facts without forcing people into a particular interpretation of what those facts mean to them. “I found this helpful in making up my own mind.”

Unless you want to undermine your own position and force others to strengthen their resolve:

  • Do not call people out by name or affiliation for having a position. Doing so indirectly is often just as bad as doing so directly to their face.
  • Do not exaggerate their opinion. Instead of forcing them to reconsider, exaggerating their beliefs only increases the odds of them adopting that exaggerated position.
  • Do not demonise their position as that forces people to either deliberately avoid you or vociferously defend themselves by attacking back.

I managed to reach middle age without learning this lesson and it’s a lesson I’m still struggling to heed. My tendency to argue and debate has done nothing but undermine the positions that I hold and the values that matter to me.

My advice to the web developer and javascript communities: don’t make the same mistake I’ve kept making for decades. Debate doesn’t change minds. Exchanging information and explaining your context—empathy—is the only thing that works.