The 3 Immutable Truths of IT

By Jamie Duncan 25 January 2023
The 3 Immutable Truths of IT

I’ve worked on a lot of complex computer systems in a lot of places over the years. I don’t have 40 years of IT experience. My first job in IT was in 2007 at an ISP helpdesk. I was troubleshooting DSL connections with static IP addresses on grandma’s DSL line. “Click Start, Run, and type ncpa.cpl” still haunts my dreams on bad nights.

But I tend to get myself into lots of situations and condense my experience. A co-worker once replied at my 1-year anniversary that they were surprised I had only been there a year. “It’s like you’ve always been around”. I’m still not sure if that was a compliment, but I decided to take it as one.

In my travels, I’ve discovered that there are exactly 3 immutable truths in the IT industry. Everything else is conditional. But these three statements are postulates, not theorems.

It’s a miracle the damned things ever work at all

Every time you tell a computer to power up and it actually does, you should do a happy dance and bless your local dieties. The number of things that have to go exactly right every time something happens in a computer is almost beyond the comprehension of the human mind.

It’s a miracle that they work as consistently as they do.

100% of computers will break at some point in their lifecycle

At some point, all computers succumb to the Law of Large Numbers. Whether you call it that, or Murphy’s Law that everything that can happen will happen. However you want to think about it.

At some point every computer will break. It’s inevitable, and all designs that matter should take this into account.

Virtually all failures are the human’s fault

Computers have been designed to do exactly what their told. When a computer is acting like a jackass, someone instructed it to act that way. By simple extension, we can say confidently that virtually all computer failures are the faults of the humans instructing those computers.


I sometimes refer to these Truths sarcastically in conversations. But I’m totally sincere when I say that they’re the guiding principles that I use to structure all of my interactions with computers.

  • I’m happy when they work.
  • I assume they’re going to fail.
  • I start troubleshooting by thinking that it’s my fault.

It’s hard not to fix most problems with those as your guideposts.

comments powered by Disqus