Home > Ideas and Philosophy > The Pattern Solver

The Pattern Solver

December 22, 2014 Leave a comment Go to comments

When I was in college, our professors would periodically admonish us to NOT be pattern solvers.

Pattern solving essentially means solving a particular problem in a fixed way, literally just like how a similarly-worded or situated problem that was previously solved.  It’s a problem because applying this approach typically means you do not think about solving the problem – and hence truly understanding the material – too much anymore.  You execute the solution for the expediency of providing an answer without really understanding why it’s right.  And when you limit yourself to fixed patterns of thought, when you encounter a completely different problem, you cannot solve it anymore because you lack the deep understanding of the material to tackle said problem in whatever myriad of ways it presents itself.

Creative, out-of-the-box thinking is an important life skill.  This helps in handling the many challenges of life that often times come with a lot of unknowns or factors out of your control that you have to take into consideration.  This is also the driver for a lot of innovation and invention, the reason why we have new things that we never saw before, solutions to problems we never knew needed to be solved, or an improvement in situations that we didn’t think could be so much better.

All this being said, I think there is some value to pattern solving provided it’s used the right way.

If you do not know anything at all, then knowing such solution patterns gives you knowledge of how a particular problem can be tackled.  In other words, you’re being efficient: Rather than re-learning or re-making something that someone has already done before, you learn from other people’s experiences and mistakes and use what they got from it immediately.  When there are issues with technology, a typical standard operating procedure is to determine the root cause of the problem; the knowledge gained will, at the very least, help quickly identify and resolve similar problems in the future should such come up, and even prevent such from happening in the first place.  Knowing what solution pattern works for a particular situation is a very useful skill in itself also, if you think about it.

I know for a fact that Microsoft has published a set of design patterns and practices that cover the typical scenarios one would face in solving application development problems.  This makes development more efficient, and time to market / delivery faster in the fast-paced world of the IT industry.  This is a very practical example of how useful pattern solving, applied the right way, can become.

Pattern solving also gives you a perspective of how things can be solved.  Provided that you take the time to understand and learn what you can from how different problems can be tackled in different ways, then it actually has a lot of value.  The knowledge and understanding obtained from knowing different ways to solve different problems gives you a wide perspective of ideas to draw inspiration and insight when you eventually encounter a problem you’ve never seen before.

If you do not find the time to get a deep-dive understanding of how a solution works, then pattern solving is a serious disservice to your learning and growth.  But if you use it properly, then you gain a certain level of knowledge and efficiency in solving problems, and you prepare yourself better to handle new problems you’ve never encountered before.

Advertisements
Categories: Ideas and Philosophy
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: