Designs don't have "superpowers"

Time for another rant about a word seeing increased use in technical discussions (and elsewhere): superpower. It just doesn’t mean what people imply it means.

Consider:

Loki’s superpower is breaking up queries into small pieces and dispatching them in parallel so that you can query huge amounts of log data in small amounts of time. — Loki Getting Started: Labels [Emphasis added]

Now I am not criticising Grafana Loki itself. It’s probably a perfectly fine log aggregator for many important use cases. And it probably excels at parallelizing queries across large datasets of logs.

But describing this as a superpower misses the point. If Loki (the software, not the Norse god) is good at parallelizing queries, that is a direct result of design choices. We could highlight those choices using any one of several design rationales. The design’s excellence is a direct result of conscious choice and fully replicable in other designs.

Contrast that with the origins of superhero superpowers. They derive from circumstances unique to the character. You can’t build on Superman’s example and become “Super” yourself—you weren’t born on Krypton. Even the powers potentially available to anyone who studies long enough, such as the magic of Dr. Strange, require rare artifacts, unavailable to others. Ultimately, two of the defining features of superhero superpowers are their basis in forces outside our phyical understanding and the uniqueness of the individual posessing a given power.

By contrast, a design’s successes are a logical, intended outcome of that design. They are not beyond understanding, they are a direct outcome of an exceptionally clear understanding.

Superheroes are interesting because they are unique and more powerful than we ever can be whereas designs are interesting precisely because anyone can use their underlying principles to replicate their successes. Claiming that any particular outcome is a “superpower” effaces that important distinction.


Update July 12, 2021

Full disclosure: Reviewing old posts, I see that I used “superpowered” in my post on using TLA to explore failures of distributed algorithms. What can I say? I’m a work in progress.