“Where is that drip coming from?”
Recently while in the staff kitchen, waiting a few minutes for my mug of tea to properly infuse – yes, I am that British – my absent minded thoughts were distracted by a repeating sound.
I looked over at the sink.
Nothing fell from the
tap faucet (Ok, I’m British but most of my readers are American). So where is it coming from, I thought? I turned around and moved within the space of the kitchen trying to get a more localised area of where the source sound originated.
It almost certainly seemed to be emanating from the corner where the sink was, but I checked underneath the faucet and it was bone dry. I looked up to the ceiling and there was nothing. Puzzled, I stared intently at the plug hole.
Bingo! There was a build up of water in the complex plug hole that was dripping internally into the drain’s U-bend.
And I felt a wave of relief, picked up my perfectly brewed tea and left the kitchen.
Evolution and Metacognition
But then a thought struck me. If I hadn’t found the source of the noise so easily would I still be in the kitchen now futily searching? Or would I have left with the mystery preying on my mind?
The knowledge of where that sound, that drip, was coming from is completely useless. I could gain absolutely no advantage from knowing its location yet I was compelled to find out and felt satisfied when successful.
Humans have evolved to be curious. Indeed, our desire to know and understand has been instrumental in making us the most dominant species in the world. The greatest trick we learned though is that of meta-reasoning. Not only do we know we have an insatiably curious nature, we understand why.
Control Your Curiosity
So often as programmers we want to solve problems and understand technologies. We thrive on it and it helps us be more effective practitioners of software development. But just as frequently we’re figuratively walking around the kitchen trying to work out where the sound is coming from.
You worked out when that process was getting launched, how to setup a database reporting layer to see the order of server requests, constructed a complex event log filter to see when your app started paging. And after you understood everything you felt better because that’s how we’ve evolved.
Next time you find yourself attacking a problem with gusto because you want to find the answer to something, ask yourself, “Why do I need to know this?” “What would happen if I never found the answer to this problem?” If your answers are, “I don’t really need to, I suppose.” and “It would annoy me.” you have a different problem to address.
Rounding out your existing knowledge and gaining a better understanding of complex systems can be beneficial undertakings. But there is limited time in the world and when your curiosity is driving, it’s picking things on autopilot – not the most pressing or valuable problem. You need to fight evolution. You need to tell yourself that while your body wants you to spend time and energy finding the answer, the answer is of no use to you.
Walk away from the problem and do something more productive. I recommend making a cup of tea.