The optimal approach to seek technical help

One of the most important resources of the times today is Developer time. It is very valuable and we understand it. So we are finding out ways to build scalable support for the developer community today as well as have developers get their answers as soon as possible.

Let’s start by looking at example of developer seeking some help working to write some bash scripts,

Example 1

Mark > How can I echo the last three characters in a filename?

Divya > If they're in a variable: echo ${foo: -3}

Divya > Why 3 characters? What do you REALLY want?

Divya > Do you want the extension?

Mark > Yes.

Divya > There's no guarantee that every filename will have a three-letter extension,

Mark > so blindly grabbing three characters does not solve the problem.

Divya > echo ${foo##*.}

Mark doesn’t actually want the last 3 characters in a filename, he wants the file extensions, so why ask for the last 3 characters? Otherwise, it could have been much more productive discussion.

This problem is usually called XY problem,

The XY problem is asking about your attempted solution rather than your actual problem. This leads to enormous amounts of wasted time and energy, both on the part of people asking for help, and on the part of those providing help.

  • User wants to do X.
  • User doesn’t know how to do X, but thinks they can fumble their way to a solution if they can just manage to do Y.
  • User doesn’t know how to do Y either.
  • User asks for help with Y.
  • Others try to help user with Y, but are confused because Y seems like a strange problem to want to solve.
  • After much interaction and wasted time, it finally becomes clear that the user really wants help with X, and that Y wasn’t even a suitable solution for X.

The problem occurs when people get stuck on what they believe is the solution and are unable step back and explain the issue in full.

In the above example, Mark wants to do look for file extensions. Since Mark doesn’t know how to check for file extensions he assumes of a attempted solution to find last 3 characters in the file name. Mark asks question on his attempted solution. For Divya, it seems like a strange problem to solve and tries to answer it it.

After much interaction and wasted time, it finally becomes clear what Mark really wants help with.

Be better Mark of this conversation.