Three Hard Things in Computer Science
There are only three hard things in Computer Science: naming, caching and resolving (i.e. naming things, cache invalidation, dependency resolution).
Tim Tiemens
Which is a derivative of:
There are only two hard things in Computer Science: cache invalidation and naming things.
Phil Karlton
References: