“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies.” – C.A.R. Hoare
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors. - Phil Karlton Who do we write code for? This question is not often not considered, and so the answer is usually nobody. Thus, nobody is who understands the code.