Architecturally Elegant -

Hard problems

Jyri-Matti Lähteenmäki


There are certain hard problems in any industry. In software industry the following are quite widely considered to be the two (!) hardest problems:

  1. naming things
  2. cache invalidation
  3. off-by-one errors

This is of course a famous joke, but nevertheless, I would agree with it. Anyone who has worked for a sufficient amount of years in software industry can agree that these are at least hard problems.

But, these are valid in a rather low level of the whole process. If you look at things on a higher level, you might end of with a different list.

Currently (I may change my mind in the years to come) I feel that the following represent the hardest problems in software industry, when looking on a higher level:

  1. all problems are people problems
  2. learn to live with imperfection

You probably recognized that these are not my inventions. Indeed, I believe that many (if not most) industries may share the same hardest problems.