DEV Community

Cover image for Nobody Cares About Your Programming Experience
Fagner Brack
Fagner Brack

Posted on • Originally published at

Nobody Cares About Your Programming Experience

Avoid disregard an argument based on the author

In Argumentation Theory, there are concepts called fallacies. They are mistakes of reasoning, discovered and elaborated by scholars over the ages, known to have been used in discussions and debates as an attempt to support an incorrect claim.

One of these fallacies is the Ad hominem.

It is usually used in discussions where the counterargument is not correctly addressed, which can cause a cascading effect that might wreck the discussion, like what you can see at the bottom of Paul Graham's Hierarchy of Disagreement:

Alt Text

Most people believe that ad-hominem is just about attacking the physical characteristics or the authority of the author instead of focusing on the argument. However, ad-hominem can manifest itself in many subtle ways.

For example, in software engineering, teams argue about abstract technical decisions all the time. Eventually, a situation might come up where someone provides an idea or argument that is contradictory because that person is known to belong to a group that has made many mistakes in the past or is a junior developer. The instinct is to ignore that person's ideas merely because of those past experiences, arguing that the idea is irrelevant based on the credibility of the person that is making it, questioning his or her capability of delivering a correct answer.

That is ad-hominem.

More specifically, a Tu quoque if the focus is on a single person, or a Guilt by association if the focus is on the group that person belongs to.

Ad-hominem is when somebody tries to criticize the argument but instead criticizes the person. Whether the attacker is correct in criticizing the person is irrelevant, for the point of ad-hominem is focusing on the person, not the argument.

Ad-hominem is to ignore somebody else's argument or idea because of the person that is making it, instead of the content of that argument or idea.

In this case, it is the responsibility of all parties to put the arguments or ideas on the table and argue against the content of those, not against who is defending or attacking it.

There is also another fallacy, called Argument from Authority. It happens when an argument is ignored in favor of an authority's opinions. "Authority" in this context can be a person, an organization, a methodology… anything, it doesn't even need to be famous.

In software engineering, the classic usage of this fallacy is when a suggested practice is ignored just because somebody else already tried it and it didn't work at the time, therefore it is assumed that it doesn't work, no matter the circumstances.

The problem with that reasoning, which usually comes with expressions like "I have used in many projects and it didn’t work", is that instead of providing evidence of why that practice doesn't work, one tries to disregard the argument using the personal experience as a self-entitled authority.

Personal experience is mostly irrelevant, ideally, arguments should contain evidence backed up by a measurable, independent and scientific study, for the experience might be different, either by a different execution or a wrong execution. Besides, there is the human factor, where emotions can cloud the judgment of individuals when disagreements take into account matters of personal experience.

However, there are kinds of complex systems where such evidence is impossible to get, either by the lack of resources or for the lack of time. Imagine an ordinary team in an ordinary company; you don't always have the time and knowledge to run controlled experiments. Therefore, you may delegate debatable decisions to the most experienced person in the room in that subject; not because they're right, only that they're the ones most likely to be. A good example is a doctor, you can't expect to run a controlled experiment in order to treat a disease that it's going to kill you tomorrow, you have to act now.

The argument of personal experience is weak because it relies on an experience that might be different, either by a different execution or a wrong execution.

Also, the relationship between the perceived and real knowledge may differ, either because of the Dunning-Kruger Effect or the Impostor Syndrome. The image below shows a transition of mindset from the Impostor Syndrome to reality:

Alt Text

Every individual has the potential to come up with great ideas and arguments. One doesn’t have more or less knowledge than the other. Everyone has different pieces of knowledge. It doesn’t make any sense ignoring every argument or idea because of the person that is making it. Something important might be missed.

Personal experience is a self-entitled authority. It relies on the belief that one person has executed something the exact same way as somebody else did, which is rarely the case.

Ad-hominem is arguing against the author, not the argument. When anyone tries to use the argument of personal experience, that person is arguing against the author (his or her experience), not the content.

Do not judge the person by experience. Instead, judge the argument by the content.

Unless you're dying tomorrow.

Thanks for reading. If you have some feedback, reach out to me on Twitter, Facebook or Github.

Top comments (3)

eduardogrtt profile image
Eduardo Girotto

Nice post!
I feel this in everyday life as a software architect. There are some people, who make it extremely difficult for a conversation.

mellen profile image
Matt Ellen

Yeah yeah yeah. That's just what an Australian would say. In my experience, I'm right.

ubahthebuilder profile image
Kingsley Ubah

Nice post!