We’ve all had days where we get stuck. We stare at a problem for hours, trying to find the most perfect solution, not wanting to commit until we’re completely certain that our approach is flawless. Invariably we spend more time searching for a solution than we’d spend implementing a slightly flawed one.
But, it HAS to be perfect, right?
Well, actually it doesn’t need to be perfect. It just needs to solve the problem! Trying to get everything perfect is a pretty good indicator that you are suffering from “Code Paralysis” (or “Analysis Paralysis").
The analogy I use for this kind of mental behaviour is that we are standing at the base of the mountain, walking around it trying to find the perfect route to climb all the way to the top in one go. However our mountain is huge and it’s not possible to see clearly all the way to the very summit. So how can we possibly derive the perfect route from the ground? Are we destined to spend all our time walking around in circles, trying in vain to find the perfect starting point for our perfect ascent? No! What we need to do is find a spot that looks favourable and start climbing.
It’s not likely that we’ll reach the summit from our initial climb, but it is likely that we’ll learn a lot more about the parts of the mountain we can’t see from the ground. We might find that the path which starts out easy ends up running into an impassable overhang or ravine. We might see that a path which initially looks unfavourable leads to a much easier climb further up. Eventually, after a number of attempts at climbing the mountain, hopefully we’ll find a route that leads us to the summit. Even then, as we stand atop our newly conquered mountain, its likely that we’ll spot an otherwise hidden path which would have been twice as easy to traverse as the one we climbed.
The curse of experience is that we begin to see that a lot of mountains have the same rough shapes and features. So when we chance upon a mountain that sits outside our previous climbing strategies, we can easily become paralysed by not having a pre-determined plan for effortlessly scaling our problem. It can be initially frustrating to have to resort back to our original climbing strategies, especially when deadlines or bad weather are moving in. However I often find that, once I overcome my initial “Analysis Paralysis”, it’s often the most enjoyable type of climbing there is.
Pick a spot that looks favourable and start climbing!