Le blog d'Archiloque

Why Warhammer 40,000 is a good metaphor for software development

Warhammer 40,000 (aka w40k) is a franchise set in a sprawling science-fiction grimdark universe (they even invented the term).

It’s a miniature wargame, some role playing games and video games, and several hundreds of books. For a few years those books are one of my media of choice when I want to consume something that don’t require any energy.

As with many operations of this size, the lore is inconsistent and even often contradictory, but a few essential things are always here:

Forget the power of technology and science, for so much has been forgotten, never to be re-learned. Forget the promise of progress and understanding, for in the grim dark future there is only war. There is no peace amongst the stars, only an eternity of carnage and slaughter, and the laughter of thirsting gods.

And as everything I read, they remind me of software development:

Good stories need marines heroes

W40k lore has combat walkers the size of fortresses, spaceships the size of cites, space bases the size of moons.

But its origin is a wargame focused on infantry units (the space marines archetype in science fiction has been heavily influenced by w40k ones), so w40k is a universe where infantry fight is paramount, even if it doesn’t make any sense.

Books, even those that depict massive conflicts, often tell stories focused on a few individual characters.

Because we need heroes (and traitors), because we need stories where a few people make a difference.

And forgotten be the cannon fodder who bears the bulk of the effort.

Our worst problems are often created by ourselves

W40k has several deities or deity-like creatures, among them the four chaos gods. They are malevolent against humanity, corrupting the body and souls and waging wars.

These are sustained by the emotions and desires of all material living things, especially humanity, having been created when humanity prospered and grew among the stars.

And now they plot humanity’s demise (but aren’t shy to mess with other sentient beings).

I like this better that the usual pride punishing stories that involves an existing god taking umbrage of a mortal: we actively created the gods that want our fall, and there is no meaningful way to appease them.

Automated things often run on hidden labour

In w40k humans have gigantic machines with incredible complexity. But there are no or very few advanced computers or things like AI.

Advanced “automation” doesn’t rely on electronic, but on labour, lots of labour.

Spaceship engines rely on having people shoveling something looking like coal to be burnt, computation relies on people tabulating data manually. This kind work is often a punishment, with people having no choice about it.

The lore is not shy about it: people in power have normalized it, for them it’s just how things work, and the ends justify the means.

Forgetting important things does not prevent creating new things

W40k has a fall from grace tone: many technological breakthroughs have been forgotten because of the endless wars.

But unlike many post-apocalyptic media, it’s doesn’t mean that technology is back to stone age, or even that we see things deteriorating: new things are constantly created.

So it’s a mix of old powerful things maintained barely kept in working state and of new empowering things on the bleeding edge of technology. The same people use them both without feeling any contradiction the two.

The ultimate goal is to preserve the balance of power so humanity is always be the underdog against more powerful enemies. Forgotten technologies are used as deus ex machina or things you can use as a last resort while new ones are used to maintain the status quo when the enemies grow stronger.

Some software projects are green field, others are like crumbling worlds.

But the mix of old and new in w40k reminds me of what I felt on several project with legacy code being modernized, and that I think is rarely described, at least compared to the “fast IT and slow IT” model used to describe larger systems.

In w40k, the human technology specialists are an official cult called Adeptus Mechanicus. This cult is not focused on rituals (unlike other technology-related religions), but on keeping its knowledge secret and on keeping strangers out of their business, even if it can lead to problems.

They have their own defense forces and some low level members are aboard space marines ships to provide some help to maintain and repair.

But technical help on the front is managed by tech marines: beginner space marines with a kind of sixth sense of mechanical sympathy toward the machine are chosen and sent to the Adeptus Mechanicus.

The Adeptus Mechanicus train them, but don’t treat them as equals: they are not part of the cult and will never be. After their training, they become useful assets to the marines.

They have their own hierarchy. They can have a large impact, but will never command.

They have been tainted by the Adeptus Mechanicus. They are still trusted, in most cases, but sometimes their loyalty can be questioned: in case of a conflict, who would they follow?

Ideology control

Corrupting humans is the best way for the chaos gods to extend their influence. To resist them, heretical thought must be fought, at all costs.

Human space marines are resistant to corruption, but they are such incredible prizes when it’s done that they are one of the favorites prey of the chaos gods.

So human space marines have a dedicated hierarchy in charge of dealing with this issue.

Tech marines deal with technology, librarian with mind.

During fights, they use their appearance to instill fear and their special powers to inflict damage and other miseries on their opponents.

Out of battles, they are charged with fighting corruption. Space marines must attend rituals to reinforce their learning, and show reverence to the priest. Every deviation from the official credo can be a sign of heresies. Even if officially they are not in charge of the teams they are member of, their decisions are always followed, because no space marines would risk doing otherwise.

That’s it aka disclaimer

I don’t mean that playing w40k or reading the novels would give you profound insight about software development, at least it would be a change from Sun Tzu.

I also don’t mean that software development is an eternal unwinnable war of endless suffering, even if sometimes it definitely gives me this feeling.

It’s just sometimes some grim dark humor makes difficult things easier to bear.