Software Engineering and the No True Scotsman Fallacy

“If you rely on jQuery you’re a jQuery developer, not a real developer.”

“Nobody actually enjoys writing JavaScript, they just do it because it’s the only thing that runs in the browser”

“Only academics use languages like Haskell and Lisp”

“Real developers don’t use Windows”

If you’ve been in the developer community for any time at all, you’ve probably heard statements like these. They’re popular because they’re easy to repeat and they boost the ego of the person who says them. They’re also over-generalizations.

Sure, some developers rely too heavily on jQuery. JavaScript definitely has some not-good parts that annoy many developers. Some technologies are mostly used in academia. Lots of developers prefer OS X and Linux.

But that’s not the whole picture.

Many developers know when to use jQuery for a quick solution, and when to reach for other tools. Lots of developers actually like JavaScript, and use it everywhere they can. There are large communities of people building real software with “academic” technology. While you and I are tweaking our .bash_profile, lots of real developers are using Windows and Visual Studio to get shit done.

I believe these kinds of generalizations continue to live on partly because of the “No true Scotsman” fallacy.

Person A: “No Scotsman puts sugar on his porridge.”

Person B: “But my uncle Angus likes sugar with his porridge.”

Person A: “Ah yes, but no true Scotsman puts sugar on his porridge.”

No true Scotsman – Wikipedia

The core of this fallacy is the rejection of evidence that contradicts our beliefs. It’s sort of a rhetorical form of confirmation bias.

What a convenient thing to be able to say “No real developer does X”. Any counter-examples can be easily rejected, because obviously anyone who says “wait, I do X” isn’t a real developer. No need to actually back up your claim.

Instead of rejecting technology, patterns, or methodologies because they’re not what “real developers” use, we should be willing to listen to people who have chosen that path. They chose it for a reason, and it’s worth hearing them out, even if their situation doesn’t match your own.

I am now accepting new clients for part-time consulting and software development projects. Learn more

I haven't configured comments for this blog, but if you want to get in touch, you can find me on Twitter