On Building Software

Beware the Blind Faith of Tests

Ka Wai Cheung
On Building Software
3 min readMar 2, 2024

--

We want to find the magic to raising kids. Build them up to fine young men and women, self-sufficient and social, self-loving and empathetic, sharp, creative, open, confident, passionate, kind, resilient, forgiving of others, forgiving of self.

A healthy adult by way of a framework of rules — studs and beams creating boundaries hammered in at odd geometries over time and not the 90-degree angles we envisioned. A mess of rules.

Do this, not that.
Be this, not that.
Too much.
Too little.
Stop.
Go.
Not now, later.
Now, not later.

We hope this human evolves like a poured-concrete structure filling in the gaps of space we’ve left in an exact way. Yet the reality of a person is they are prone to evade the spaces entirely, to be defiant, to scamper to areas of the house we haven’t put boundaries around and to areas beyond property limits.

To be perfectly human.

To raise a good human (or at least the flawed human you want) is a mystery then. Some elixir of other approaches outside the obvious one: Standing up guideposts in the ground and nailing other ones off of them. Maybe the way you behave. The standards you set for yourself. Your own imperfections. The passing of the good and the bad genes. And luck.

They say a good kid does not have to be taught to be good and a bad kid cannot be taught to be good, whatever good and bad means. So maybe it’s best not to head directly into the rules because teaching directly has a kind of demeaning, threatening, offensive taste to it that none of us like.

None of us want to be told and at the same time, telling has the flaw of exactness. A rule has one wrong, a million rights. You cannot do this but you also did not say you couldn’t do that or that. Or that. Or that. A rule is ostensibly an example but its worth is its essence.

You cannot do this but you also didn’t say you couldn’t do that. This is what a rule is.

Why the infield fly rule was created.

Why the rich can stay rich during tax time.

Why the filibuster exists.

The rules followed. The essence not. Whether by intention or convenience. So another rule is created. At another odd angle.

The raising of kids by way of the rule has its merits because it is at least direct. We just need to be aware of its natural limitations — its penchant to cause a false confidence, to obfuscate essence, to create sneaky paths around the studs and beams.

It’s a bit like writing tests to create the software we want. To find that magic of writing good software and to believe tests are that magic that make software resilient, adaptable, secure, performant, fast, scalable. Simply because you have them. Studs and beams, at odd angles, the software filling the empty spaces between them.

Yet the reality of software is it is prone to evade the spaces entirely, to be defiant, to scamper to areas of the house we haven’t put boundaries around and to areas beyond property limits.

And when we — the humans writing the software — believe software will behave, that in fact the studs and beams of testing are enough, then the rule — the test — has defeated us both.

--

--

On Building Software
On Building Software

Published in On Building Software

A collection of short essays on designing, building, and maintaining software for lone wolves and super-small teams.

Ka Wai Cheung
Ka Wai Cheung

Written by Ka Wai Cheung

I write about software, design, fatherhood, and nostalgia usually. Dad to a boy and a girl. Creator of donedone.com. More at kawaicheung.io.

Responses (1)