Posts The XY problem
Post
Cancel

The XY problem

As a software engineer intern, I often used to find myself in this situation

  • See the problem and come up with a solution in my head
  • In excitement quickly jump into implementing this solution
  • Get stuck while implementing and then contemplate about getting help
  • Decide not to and try harder at making my solution work
  • Get frustrated and decide to seek help from a senior
  • The senior person asks more questions to understand what I’m trying to do
  • Eventually, we come up with a solution, but I always end up feeling that I needn’t have sought help in the first place

This was not a one-off situation and it turns out this is a common pattern.

The XY problem

In the situation above I was faced with a problem X for which I came up an approach Y to solve it. When Y didn’t work as expected I asked questions on how to do Y instead of giving more information on what I was trying to achieve - X. Thus, the person I was seeking help from had to ask clarifying questions on what I was trying to achieve in order to understand and help me with the problem.

When they asked these questions about each step, I had to think about why I went with these steps. This process helped me get to the root cause of the problem. After this, it was much easier to think of better ways to solving the problem.

This link has a good explanation on how to avoid getting into this situation.

This problem can also be avoided by simply taking a step back to have a look at the bigger picture. I was taking a very code monkey programmer approach of jumping to implementing the first idea that came to mind. As a software developer one of the first lessons I learnt is to design the solution, address the edge cases, before starting to write code.

This post is licensed under CC BY 4.0 by the author.