… can be a dangerous attitude to have when trying to solve a problem.

When I encounter a problem, I try to relate it to problems I’ve solved in the past. I find this to be true for me in code, in business, and in life in general. For some problems, it’s clearly the right thing to do to say “I’ve done this before” and move forward with a solution quickly. For example, with code, there are types of problems you see over and over again — you know which ‘solutions’ work and which ones don’t — but a lot of times, mostly in business and in life, it’s not as clear cut.

And that is the time to question your “I’ve done this before” instinct. I think we all strive for certainty. Certainty is comfortable — it lessens anxiety, and increases confidence. When we search our memory for similar problems we’ve solved in the past, we are searching for certainty — a way to convince ourselves that we know the appropriate path forward as we solve our current problem.

And as we search our memory for certainty, we tend to over-fit the results. During our search, we have a confirmation bias — we want to find ways we’ve ‘done this before’, and because of this want, we find them. And then we say:

Don’t worry, I’ve done this before

I’m certainly not discounting experience — there’s a huge amount of value in experience. You absolutely need to relate your past experiences to what you’re trying to do today. What I’m advocating for — and what I believe is not very natural to do, and therefore requires conscious effort — is the following:

Once you’ve found what is similar about those past solutions and experiences, ask yourself explicitly, What is different? — in the answer to this question, you’ll find just as much knowledge about the appropriate path forward as you did with your search for certainty.