Thoughts: The async software engineer
A short one.
Often I am reminded that one of the most effective tools for solving a problem is simply stepping away and focusing on something else.
A few years ago a friend of mine referred to it as ‘background processing’ and the analogy really stuck with me.
It happened to me just today. Yesterday I was struggling to find the right approach to solving a problem at work. I had been working on the task for a couple of days, it had been a laborious rather dull task and I was in the final stretch of my solution but I just couldn’t get things implemented in the correct way. Almost half a day evaporated as I tried to settle on the right approach. Refactoring, deleting, rewriting. I called it a day. A long walk, quiet evening in with my partner and then this morning as I was out for a walk. I was hit by the solution, mid-conversation. I tucked it away for safekeeping. Got to my desk with my slice of banana bread and in 45m everything was solved and I was quite pleased with the final outcome.
As a software engineer, I have friends who will have similar stories. One friend claims that the solution to a bug came to him once in a dream.
Take what you will from this. Maybe it’s proof that software engineers have weird obsessive brains but I swear that when it comes to solving a difficult issue that you have been stuck on. Sometimes just taking a few moments to not work on it / actively think about it, can be the best bit of problem-solving you’ll ever do.
Take a walk.