J.S. Cruz

Contra Bug

I hate “bug”. Not “bug” as in “terrestrial arthropod”, but “bug” as in the term used to describe software problems.

Software engineering might be just about the only “engineering” discipline where the presence of – sometimes critical – errors are just taken as a given, and there is this culture of accepting it with either muted indifference at best, or jokingly at worst.

I hate the term because it diminishes the impact of what we do. I hate the term because it shows we don’t take ourselves seriously.

Picture of a cute, drawn bug.
Prime suspect of the British post office scandal.

Bridges don’t have bugs. Buildings don’t have bugs. Roads, hammers, pens, or shoes don’t have bugs. They have structural flaws which are foreseen, planned for; if they do materialize, there are usually punishments for their creator. In the worst cases, commissions are formed trying to figure out how and why the flaw happened, and how we can avoid having it happen again.

The desk I’m using currently is more than one hundred years old and belonged to my great-grandfather. It doesn’t have “bugs” because the craftsman who made it set out to make a functional, sturdy desk. If it failed somehow, if a piece was out of place or a sometimes was poorly joined, I’d wager he’d be devastated; he wouldn’t slap his knees and say “ah, well, bugs happen :)”.

Why can’t we have this professionalism? Why is it a given that the software we write will have flaws that we can’t model? Why do we paper over this with a cute-sounding word like “bug”? Software problems cause real world damage, you know?

What others words could we use?

So “bug” is out. What to use then?

At work, I’ve been trying to use the term “flaw” – “there’s a flaw in program”. It is a bit nerdy and definitely uncommon, but at least it perks peoples’ attention to the fact that something serious happened, that a real person had/will have a real hardship due to this flaw, and the blame for that lies solely with us, the creators of the program, rather than with the moth in the Mark II relay.

Tags: #engineering