Saturday, February 10, 2018

The Puzzler


For as long as I can remember, puzzles have intrigued me. While the images in this post are of a classic cardboard puzzle, it is certainly not the only kind that occupies my time. When I was about 6 years old, my sister had a small mechanical alarm clock that was very common in those days and it fascinated me.  I remember wondering what made the hands go around and noticed the ticking sound corresponding to the hand movement.  Before sundown, I had dismantled the entire clock and was well on my way down the road to understanding clockwork mechanics. Until she went looking for her clock of course.  Oops.

I managed to get it all back together and in working order, which is likely one of the reasons I am still alive to write this post.  I did not realize it then, but that process introduced me to 3D complex problem solving and mentally modeling solutions to puzzles.  Over the next few years, I remember seeking out 3D Chinese puzzles and building box kites from scratch.  Much to the dismay of my mother, there was not a single mechanical object in our home I had not dismantled and reassembled.

By the time I was 11, I had moved on to model rockets and Skill-5 Airplane models.  My bedroom ceiling had an entire WWII air battle hanging from it in skill-5 Revell models, but for me, the fun part was the actual assembly.  I would often just open the box and throw out the instructions to make it more challenging.  Figuring out how the pieces went together based on their shape, and the logic of the mechanics, was exhilarating.  Seeing it come together into a final solution was extremely rewarding.

This past Christmas, my wife received a 500 piece monochrome puzzle from a friend.  I also received a 1000 piece full-colour one to put together, but from the photos here, you can guess at which one hit the table first.  I agreed to "just help a bit" and not do it all myself even though the sight of it had me jonesing for a fix. All those disconnected little pieces of black and white chaos... Hold my beer.

             

            








Puzzles of any description all have similar things in common.  There are defined edges or boundaries.  There are micro-patterns that intertwine.  There are pieces that will deceive you into thinking they belong where they don't.  It does not matter if you are assembling a 100 piece junior jigsaw or knitting together a business negotiation team, puzzles are all the same at the core.  Plastic, cardboard, people, economics, science, and weather are all just different mediums for complex puzzles to solve.

I think that is one of the reasons I love my job.  Every day is a new puzzle to solve.  In my case, it is typically the problem of how to integrate several different pieces of software into one cohesive solution.  In almost all cases, it is not just about the software but how humans and automation systems interact with it.  There is almost always a business component as well.  How much it costs, how long it will take, and the value of the resulting solution to the business, are all part of the puzzle that needs to be assembled into a solution.

Often you need to assemble smaller parts first into clusters of partial solutions.  Sometimes those end up being separate assemblies that need to be lifted in and added to the larger puzzle as a micro-solution.  In some cases, you need to improvise and make your own tools just for that task. The pancake flipper moving this assembly of jigsaw pieces is a fine example of that.  I found a number of parts that fell together into something that made sense, but was fragile and was on the wrong side of the table.  I had to solve a puzzle to solve a puzzle. How Meta.

As you solve smaller assemblies and connect their intertwining edges, a larger solution emerges.  You need to bring in "glue" or interconnecting parts from outside the boundary to knit them all together. This has analogies to airplane model building, software solutions, and business solutions. In all cases, the final result is a patchwork of smaller micro-puzzles that are blended to provide a full solution.


Like the mechanical alarm clock with its gears and springs and cogs, modern software solutions are often knitted together patchwork puzzles of integrated application interfaces.  The API revolution - connecting many software services with Application Programming Interfaces (APIs) - is the current software equivalent to throwing away the instructions when you open a skill-5 Revell model and just evaluating the components logically.


When you have all the smaller bits of the puzzle together and they start to coalesce into a larger, cohesive solution, momentum builds.  For me, the excitement of completing the project, then standing back to view the result, is priceless. In the last hour of this jigsaw, we were literally fighting for parts to put into the last dozen open spaces. As she put the last piece into place, there was a tangible pause, then we both sighed audible relief.  Like a phoenix from the ashes, beauty emerged from chaos.