Albert Einstein supposedly said, "The significant problems we face cannot be solved at the same level of thinking we were at when we created them." This suggests to me that we need layers of abstraction not only to solve problems but to understand how the world works and perhaps more importantly how people perceive the world. A large part of all of our time is taken up by what scientists call sensemaking, which according to researchers is “the process of building an explanation to resolve a perceived gap or conflict in knowledge.” We sensemake in order to create a story or explanation about what happened and why it happened. This at its essence is pattern matching.
By recognizing patterns, we can better understand the systems and processes that shape our world and make informed decisions based on this understanding. Martin Fowler, in his book Analysis Patterns: Reusable Object Models states, “...patterns are important because they help us to understand how people perceive the world. It is valuable to base a computer system’s design on this perception…” For engineers and designers, this means being able to identify patterns in data and using this knowledge to design and improve products or processes. By recognizing patterns, we can identify challenges that customers face and come up with innovative solutions that require this abstraction created by finding the pattern within the data. Sir Richard Branson’s supposed equation for life is A+B+C+D which stands for Always Be Connecting Dots. Finding patterns in the data to build better products, connecting the dots for innovation, or making sense from our world, all stems from the notion of pattern matching.
In addition to its practical applications for software engineers, pattern matching is also an essential skill for improved performance and management of ourselves and others. The ancient Greek philosopher, Aristotle, stated: "We are what we repeatedly do. Excellence, then, is not an act, but a habit." By identifying patterns in past events, we can make educated predictions about what is likely to happen in the future, as well as identify what worked or didn’t work previously. If we want to become a faster runner but our last training cycle resulted in slower times, we can look for patterns that can guide our next cycle. If we want a member of our team to improve we can monitor for what type of feedback works best, find the pattern within our actions and their behavior, in order to help them improve. Leaders and managers must not only be able to anticipate and prepare for potential challenges or opportunities but also to use data and insights to make adjustments in their and their team’s approaches to solving these challenges.
Steve Jobs, in his famous commencement speech, said, “You can’t connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future. You have to trust in something—your gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life.” Pattern matching is a vital skill for both engineers and leaders. By recognizing patterns, we can better understand the world around us, solve problems more efficiently, and anticipate future outcomes. Whether you are an engineer designing new products or a leader navigating complex challenges, pattern matching is an essential tool for success.
Good post Mike! Are you creating your blog post images via AI-generated art? I loved the abstract "connecting the dots" image.