Dismantling and reforming difficult problems If a problem is too big, then break it down into smaller problems. This is true for enterprise wide, multi department problems as much as it is a computer programming problem that only you are working on.
Earlier today I was working on a problem where I was trying to keep a number of things in my mind as I worked through a difficult coding issue. I actually laid down on the floor in my office, took my glasses off, rubbed my eyes, crossed my legs and let out a big sigh. Disrupt your patterns As I laid there on the uncomfortable, cold, floor with my eyes closed I started to go through all the permutations of the problem I was trying to solve when I realized I was not following my own advice. Many small problems I then started to break the problem down into segments. I could solve a lot of those segments easily which really focused the issue on just one central complexity. With a little effort I found a solution to that too.
Together all the segments worked in perfect harmony. In the end I may have reached a similar conclusion but it would have been less modular and less elegant. The solution I came up with worked flawlessly and I was able to build on that and create something I didn’t even consider at the beginning of the day. Cognitive offload Breaking problems down like that has another often overlooked benefit: cognitive offload. There’s a small sigh of relief as you solve a problem a piece at a time. You don’t have to worry about those pieces now, so they are solved. It’s cathartic, relaxing even. A calm mind is smarter so then if you save the hard stuff for last, you’re even more calm because the previous stuff is already done and you can rely on it.