Idempotence is the property of an operation that can be applied multiple times without changing the result beyond the initial application. It's like the "Are you sure you want to quit?" dialog in most apps - no matter how many times you click "Yes", it thankfully only quits once.
I told the new dev on our team that DELETE requests should be idempotent, but he just gave me a blank stare and muttered something about "the cloud".
When the PM asked why we couldn't just keep retrying the failed API requests, I had to give her a crash course on idempotence and explain that unless she wanted to accidentally order 100 pizzas, it wasn't a good idea.
Martin Fowler dives into the Dependency Inversion Principle (DIP) and how it relates to abstractions and idempotence in his article DIP in the Wild. Worth a read if you want to sound smart in your next design review.
For a more philosophical take, check out Paul Graham's thoughts on succinctness, power and redundancy in programming languages. He argues there are tradeoffs between conciseness and error handling that impact how idempotent operations can be.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.