I think most programmers spend the first 5 years of their career mastering complexity, and the rest of their lives learning simplicity.— Buzz Andersen (@buzz) December 30, 2009
Indeed, this is true.
But it isn’t just programmers.
In software, simplification is what several basic design principles are about:
- Don’t Repeat Yourself
- Law of Demeter, or Principle of Least Knowledge
- Principle of Least Astonishment
In fact, almost all of various design patterns you can read about in the pattern wiki will address at some point a concept of simplification. The basic concept of a pattern itself is to simplify thinking about a design, in fact.
@buzz has a very good point – when we set out to learn something, often we make things much more complicated than they need to be. Then, as we mature, we learn what to remove, what to reduce, what to reuse.
Antoine de Saint-Exupery precedes us even here: