Sometimes, you’ll be able to find a more elegant solution to a problem by adding one more dimension, expanding the area of concern in one dimension, or, more generally speaking, extending the parameters in which you’re going to solve the problem.

For example, if it’s hard to solve a bottleneck in one sub-system, try looking at another related sub-system or even at the system as a whole. You might find that you can implement a better solution for your bottleneck at that other sub-system.

Another example is when you’re trying to make a system run fully autonomously with just algorithms but it fails a lot, it might be worth it to try and hire people (adding the dimension of people) to help make the system more robust.

In math, oftentimes, a solution can be expressed more succinctly when you add a more powerful abstraction into the equation.

This is in line with Einstein’s quote of “Everything should be made as simple as possible, but no simpler.” We often forget this principle when solving problems.

When we’re trying to explain things, we often come from a position of verbosity and we arrive at elegance from the process of cutting things out. But, when we’re trying to solve problems, we often focus solely on the problem area, which is equivalent to trying to express thing simpler than the simplest possible expression. Thus, when we extend the parameter, we make things less simple, which is a good thing because currently, we are in the state of “simpler than the simplest possible solution.”