Yesterday I was working on a bit of code that I’d written in such a way that my mind couldn’t make good sense of it. It was something like “if this isn’t true and this isn’t true and this isn’t true and this isn’t true then do this.” I wanted to alter two of those “this isn’t true” statements so that they were “this isn’t true and this isn’t true but only if this other thing is true.” With the way I had the problem laid out I couldn’t figure out how to do what I wanted.

So I changed the problem. I made it “if this is true or this is true or this is true or this is true and this is not true” then do the opposite of what I was first doing. I was able to fix the problem I was having by thinking about it in a different way.

Another situation could be where you are working on a problem that has multiple components and trying to keep all the information in your head at once isn’t working. Change the problem into multiple smaller problems that you can reason about separately.

I don’t think this strategy of changing the problem is universally applicable. It won’t help you solve many everyday problems like keeping mosquitos out of your house or avoiding traffic. But maybe it can and I’m just looking at the problem of figuring that out wrong.