Why I made Engineering Enigmas

kqr
Sun, 03 May 2026 18:04:53 GMT

Engineering Enigmas is simplified Tarot reading for working engineers.

Any time you feel stuck and need help in finding a way forward, open that web page and follow the advice given. You may have to be creative in how you interpret the advice in order for it to apply to your situation – that’s intentional.

Don’t refresh the page until you get advice that suits you better. Take what you are given and roll with it.

… wait, what? But why?

Humans hate deciding things randomly but do it anyway

Humans like to be seen as either

1. rational, analytical people capable of strategising their decisions down to the last detail; or

2. in tune with their inner emotions and intuition, capable of understanding exactly all nuances of how they feel about alternatives.

That’s what we tell ourselves, but we are never that analytical or intuitive. In its place, we have used randomness to decide things since time immemorial. When we do it, we do it in a way that allows us to hide that it has happened – even from ourselves. Here are three of the ways.

We have entire professions legitimising arbitrary decisions

Many of our decisions have no strong rationale either way.

Which of these four alternatives should we try first to improve our profitability?

Which cloud provider should we rely on for primary services?

Which job offer should I accept?

How much time should we spend on paying down technical debt?

A decision needs to be made, but among decent alternatives, we can’t really single out one clearly superior option. This means whatever we decide, it will ultimately be arbitrary.

Admitting to an arbitrary decision makes us look not-analytical and not-intuitive, so we look to others to validate our decision and lend it legitimacy. This is the reason we pay astrologers, witch-doctors, macroeconomists, and management consultants; they are all people that generate decisions with the rational capacity of a pair of dice, but we pretend they know what they are doing so their support turns an arbitrary decision into a legitimate one. Result: we are no worse off, but we sleep better at night.

These professions hide how clueless we are behind fancy words and speculative hypotheses. They serve a social function, rather than a technical one. The decision is just as arbitrary as before.

Randomness can improve decisions in adversarial situations

In section five of Scott Alexander’s review of The Secret of Our Success he quotes the author explaining how Naskapi foragers decide where to hunt for caribou:

Traditionally, Naskapi hunters decided where to go to hunt using divination and believed that the shoulder bones of caribou could point the way to success. To start the ritual, the shoulder blade was heated over hot coals in a way that caused patterns of cracks and burnt spots to form. This patterning was then read as a kind of map, which was held in a pre-specified orientation. The cracking patterns were (probably) essentially random from the point of view of hunting locations, since the outcomes depended on myriad details about the bone, fire, ambient temperature, and heating process. Thus, these divination rituals may have provided a crude randomizing device that helped hunters avoid their own decision-making biases.

This randomness serves much the same function as randomness in poker or rock-paper-scissors: in adversarial situations, deterministic and systematic strategies can be exploited. The caribou can learn how the Naskapi hunt – unless they randomise their decisions. Of course, they didn’t admit to this randomisation. The cracking pattern is a message from the deities.

Randomness can infuse creativity

Sometimes the astrologer (or management consultant, or heated bone) does not directly decide, but they inject enough randomness into the decision process to kick loose a few rocks and spark the creativity of the real decision-maker. (Weinberg talks a lot about this in his Secrets of Consulting book series, where he calls it jiggling the system.)

Embrace the randomness

Instead of fighting against the arbitrariness and randomness involved in making decisions, we can save a lot of time and effort by realising it is there, and using it more actively. If I find it hard to decide something (e.g. between strawberry or vanilla ice cream) I glance down at my watch, and thanks to chronostasis (the neuro-optical phenomenon where when you first look at a clock, the second hand appears to stand still for longer than usual before getting moving again) it is trivial to see whether I did so when the second hand pointed at an even or odd number. If it was even, I go with the first choice, otherwise the second.

I use this method to decide on a lot of things. I don’t admit it often, because when people around me realise that’s what happened, they sigh and treat the decision as invalid and get re-stuck trying to decide again.

The reason it makes sense to embrace randomness is that however rational we are, we can never strategise down to the last detail. Chance and unknown factors play such a large part in determining the outcome that at some point, it’s better to stop strategising and just decide. Anything is better than nothing, and doing something will give us more information. This information is helpful for adjusting or making similar decisions in the future.

Tarot for engineering

This is what Engineering Enigmas helps us do. A while back I read Xe Iaso’s Tarot for Hackers article, where she proposes drawing Tarot cards to help understand software systems. What I dislike about that approach is that it requires some familiarity with Tarot cards and their meaning, as well as how that meaning changes depending on location in the spread. We don’t have time for that! We just want to be kicked loose.

What we want is something closer to Eno and Schmidt’s Obliuqe Strategies. Inspired by that, I authored vague and widely applicable advice based on the meaning of each Tarot card. That’s what the tool shows you.

Discuss