Are developers blinded by their optimism?

October 1, 2021

I’ve been having a lot of conversations about QA lately. And one theme I hear come up frequently (from professional testers) is the idea that testing needs a “different mindset” than development. This is sometimes phrased as “developers are optimistic, testers are pessimistic.”

I’m going to step out on a limb today with a bold claim:

This is utter nonsense

To be blunt: Any developer who cannot, to a reasonable degree, ensure that the code he wrote works, has no business calling himself a developer, or accepting a salary for that role.

Would you hire a plumber who required a separate “plumbing tester” to come by and test their work after he fixed your leaking toilet?

Of course not.

How about an auto mechanic where their mantra was “Our mechanics are too optimistic to know if they replaced your break pads properly. So we have professional testers who do that part of the job”?


I’d also challenge the idea that qualified developers are really “optimistic” at all, in this sense.

If you want an interesting conversation about impossible corner cases, just ask a group of developers to design something. They’ll debate UUID collisions, or timezone offsets on Mars, or any other number of things that only exist in the realm of theoretical possibility, but can never possibly have an impact on your software system.

Of course, testers are still valuable. But this value comes largely from having someone dedicated to the task, not from a different, magical “pessimistic” mindset. Testing isn’t magic. My 9-month old son tests things all the time. And he’s perhaps the most optimistic person I know.

Related Content

Reader response: How does QA fit into DevOps?

“We solve the problem of the ‘wall of confusion’ between dev and QA by enabling dev teams to do most testing on their own.”

A simple solution to the confusion between "testing" and "checking"

The distinction some make between "testing" and "checking" is valuable. But the terminology is not. We can do better (with practically no effort).

That one time I fired our QA team

I got a few complaints from developers who didn't enjoy splitting focus between dev and testing, but they admited it was better than before.