A practiced method to solve hard problems

Here at Mediafly, we are faced with hard engineering, product, sales and marketing problems every day. Each of us takes a different approach to solving these problems. Some of us like to create pros/cons lists. Others dig deep into data and use that help answer every question. No one approach is the “right” approach for everyone.

I recently had a conversation with our Engineering Manager[1], and he described his approach to solving hard problems.

  • Take an attempt to solve the problem, but don’t stress about it if you can’t figure out the solution yet.
  • Review the key aspects of the problem right before you go to sleep. This involves working on the problem from multiple angles. Meaning, if you tried one solution and it doesn’t work, try another. If it did work but it’s ugly, just note the key parts of why it works and why it’s ugly. You need to get intimate with the problem and be really familiar with it from all angles.
  • Now, let the problem go. Sleep on it, take a shower, go for a run. Do something to take your mind off of it entirely.
  • When you least expect it, an insight will find you. When the solution does find you, immediately explain it to as many people as you can. Don’t worry about whether they are an expert in the subject domain. Just start explaining. The mere process of explaining acts as a forcing mechanism to refine the solution further. It also serves as a filter; if what you thought was initially a great idea turns out to not be, attempting to explain may allow you to filter out the seemingly-good idea much more quickly, and get back to solving the problem another way.

I’ve watched him apply this method of problem solving over the years, and it truly is a thing of beauty. He will often take 2, 3, 4 attempts at particularly thorny engineering problems. He will sometimes throw away the code he wrote for an attempt and go back to the drawing board. He will restart this process from scratch as necessary. But, regardless, he almost always comes up with a solution that solves the problem elegantly. And watching his success has led me to begin adopting this approach for problems of all sort that I face as well.

[1] Special thanks to @laimis for being the inspiration for this method and this post! And he credits A Technique for Producing Ideas as inspiration for this process.


How to raise Smart Kids

A great study from Scientific American.

My conclusions:

  • Never talk about intelligence as a born-in trait, but rather as something that grew with the child.
  • Tell a child when they do well that they did so because they worked hard, not because they are smart/talented/brilliant.

Interesting quote:

“Those congratulated for their intelligence, for example, shied away from a challenging assignment—they wanted an easy one instead—far more often than the kids applauded for their effort. (Most of those lauded for their hard work wanted the difficult problem set from which they would learn.) When we gave everyone hard problems anyway, those praised for being smart became discouraged, doubting their ability. And their scores, even on an easier problem set we gave them afterward, declined as compared with their previous results on equivalent problems. In contrast, students praised for their effort did not lose confidence when faced with the harder questions, and their performance improved markedly on the easier problems that followed.”

Checking the tread on your tires

I used the Lincoln Penny method of checking the tread on a set of car tires today, to determine if it is time to replace them:

  • Take a penny and place it between the treads, Lincoln’s head first
  • If you can see all of Lincoln’s head, your tires have approximately 1/16 of an inch of tread left
  • If you only see part of Lincoln’s head, you are okay for now

Found this method online here.