Solving Complex Problems

Have you ever gotten a shoe that was tied in such a knot?

How did you get it untangled?

Well, first I suppose you study the knot in all its intricacies.

Then you slowly try different methods.

You look for the outermost tangle and proceed to untangle it.

Doesn't look like any progress is being made.

So you keep at it, slowly removing one tangle at a time.

Until you get down to the point of the last tangle and whalah!

You did it.

You untangled a mess into a simple strand.

And so it is when troubleshooting a problem in the code.

At first it looks like a tangled web of mess.

Until you take a high level approach.

And begin to unwrangle it.

Some problems take longer than other, but if you have the patience to stick with it, almost any coding error can be found and resolved.

That's the approach I take.

Continually breaking the problem down into smaller components until eventually the solution appears out of nowhere.

Some people do not have the patience, concentration or determination to stick with it.

I suppose that's one question you can ask to an interviewee.

How do you go about solving complex problems?