Too Dumb To Do A Jigsaw Puzzle
Two Brains Are Always Smarter Than One
Have you ever had the experience of working on a really hard jigsaw puzzle, and searching for a single piece for hours only to find that it was stuck to the bottom of one of your kids' feet? I found myself having exactly that feeling this morning as we struggled to launch a client website that we’d just upgraded from Craft 2 to Craft 3.
There was a logical reason why this website was still running on Craft 2 several years after the release of Craft 3. That reason was extreme complexity. The site is a primary revenue generator for a thriving company that employs several hundred people. It features a huge variety of products. The list of SKUs is so extensive and intricate that the previous web development agency just avoided the upgrade altogether. Adding to the complexity of the site is a tangle of integrated systems on the back end. All of this together created a daunting puzzle that only a super genius would attempt to solve.
Fortunately we have some super geniuses working at Solspace. We did careful research, formulated a plan, and began the upgrade project. Things were going along quite smoothly. After completing several hours of pre-launch prep, we felt ready to execute a critical piece of the upgrade work that would get two crucial servers to talk to each other and connect some of the systems. But despite all of our great preparations, the connection failed. And we had no idea why.
Asking Dumb Questions Is A Super Power
The process of elimination is a powerful tool. If you have spent any time at all working on jigsaw puzzles you know what I mean. You start by eliminating some things to reduce the number of options and the scope of the challenge. A really important part of the process of elimination is to start with the dumbest, most obvious things first. In the context of the very complicated process of modern day web development, that means asking some extremely dumb questions. It takes a special kind of thick-skinned confidence to choose to look stupid in front of your client and project partners. But that’s what really smart developers do. They don’t make assumptions about even the smallest details, they ask questions, they validate, they verify.
We worked our way carefully through the upgrade project, feeling good about the work we’d done. As we wrapped up our launch preparations, we suddenly became aware of a dumb configuration error we’d made at the beginning of the project. We didn’t see it until just a few minutes before launch, but that was because we weren’t looking for it. It was such an obvious thing, one we all had made assumptions about, and so everyone missed it. It wasn’t until one person had the nerve to ask a really dumb question and insist on a real answer that we could see the obvious problem. Dumb question + persistence = SMART.
Puzzle Piece Stuck To The Foot
That particular sensation I felt when I realized our simple server configuration error gave me a flashback to the week before, when I was trying to finish an extremely complicated jigsaw puzzle. The thing was so intricate that no one in my family wanted to work on it with me. I was on my own, and very determined. I had gotten down to the last 100 or so pieces and found myself stuck, unable to find an essential piece. I kept searching for it, digging into more and more complex ideas about what had happened to it. My kid wandered over to ask what was happening, and then said, "hmm, maybe it got stuck to the bottom of my foot." That sounded silly, but we looked and sure enough, there it was.
It took a second person with a different perspective asking a simple question to find the puzzle piece. It took exactly the same thing to discover the small error, the missing puzzle piece that had created the server configuration issue that had eluded the super genius Solspace team for hours.
It may be difficult to ask a stupid question to a group of super smart people working on a very complex problem, but until you do it, you may never find the missing puzzle piece.