Two Paths to Simplicity

I had an interesting discussion with a friend over the weekend.

I was trying to solve a problem with some software I was writing. I explained to him how I was attempting to do it.

He laughed.

He thought the way I was trying to solve the problem was way too complicated. He said that I should do it in a different way.

After about 15 minutes of debate, we came to the realization that both ways were legitimate ways to solve the problem. Both had positive and negative attributes.

The debate boiled down to a universal dichotomy in the path towards simplicity:

1. Start with something. Start taking away the unnecessary parts. Reach simplicity.

2. Start with nothing. Start adding only what is necessary. Reach simplicity.

My buddy was favoring number 1. I was favoring number 2.

To his point: I had almost all of the software written already. I could leverage that to solve my issue.

Towards my point: if I did things his way, I would not be able to know all the possible ways to solve the issue. I was trying to come up with the ultimate solution.

As it turns out, I came up with the algorithm to solve the issue using technique number 2, but it took way too long to run. So, I went with a solution based on number 1. And it seems to be working great.

When the rubber hit the road, number 1 won out over number 2. Is it always like that? Can you ever really start with nothing then only add the necessary parts?

It all depends on the situation. I think there are cases when you have a fresh start, a clean slate. And there are cases when you don’t have that luxury.

The point is to recognize when you are going down path number 1 or path number 2. Recognize when one path is not working. Understand that there are other options.

The choice to switch paths will always be up to you.

One comment

  1. Nice post. This is something I spend too much time thinking about. But I enjoy thinking about it!

Leave a comment