In every decision, it seems like we have to make compromises. There are pros and cons to each choice and you weigh how much you value each. You choose the cons you can live with to have the pros you really want.
But is it always the case or are we just conditioned to accept compromises? Are there times when we can find solutions without compromises if we simply spent more time looking?
Time looking for a better solution can sound a lot like indecision. If you're a usually decisive person you hate wasting time. Yet it's sometimes necessary to find the best answer. When building software there are many solutions to the same problem. The first answers that come to mind can be naive. They'll work but not have the best performance or design for the future. Instead, you can spend longer finding possible solutions. Considering their benefits and delaying making a decision as long as you could. Many times you end up with a solution simpler and more rewarding than you initially thought was possible.
There probably aren't any no-compromise decisions in life. Even the best solution will have the downside of the time taken to arrive at it. But maybe it's best to slow down and not be blinded by the options you see now. Who knows what'll pop into your mind in the future.