Probably a lot of comments will bounce off the title to discuss the XY problem in general, and especially stackoverflow. The article does claim to go further than XY though!
"Diagnosing the ask" and "When they’re missing the philosophy" seem to me like traditional XY problem answers - the user doesn't know what the right question is, we need to step back to guide them.
"When the product needs to change" on the other hand is about figuring out what users want in order to add it to the product. Which takes a lot of figuring out, because it adds debt and you can add things the wrong way. This feels much less condescending to me than traditional XY where it's just tech support for a dumb user. Instead now figuring out questions from enough users helps direct new features.
"When the right path is hidden" I think the text for this one could do more to discuss helping direct the product as well, specifically in terms of documentation, if https://perfetto.dev/docs/getting-started/periodic-trace-sna... exists why is it hidden instead of where people find it when wanting to visualize a long trace.
If you read the title and just want to talk about XY eh fine, but the article's last sentence is the difference, "Both sides almost always walk away with more than they came in with."
I do want to clarify my point of view since there does seem to be some interpretation which I didn't entirely anticipate (wholly my mistake):
1. I'm not claiming that every interaction with a user needs to be turned into a full discussion. There are lots of cases where the answer is "this is what you're looking for, here's a link to the docs". In my experience, this has gone down a lot over time because people tend now to rely on AI much more heavily for those sort of questions in the first place so they won't even reach you. But it does happen and in that case, the best thing for both sides is to point to the documentation and move on.
2. If I am going to employ this strategy, I always try and both give the direct answer to the question and, as an FYI, ask them the context. Quoting directly form the post:
> well the answer to your immediate question is X but that’s a pretty strange thing to ask for because of reason Y. Can you tell me more about the wider problem you’re trying to solve?
3. This does necessitate that you are in some sense an "knowlegable" on the problem space someone comes to you with: I would never employ this strategy in an area I didn't already feel I was quite well equipped to give my 2c on.
4. If the person I'm speaking to I know for a fact is already knowledgeable on an area, I would be very hesitant to use this approach because I try and be charitable with assuming that people generally know what they are talking about. While yes, I'm not going to be perfect every time in judging this, I think you can get a pretty good sense from the way they ask their question and how clearly they respond to your initial answer whether they are not (ties to 3) which requires you are good enough in the space to judge this).
5. If someone pushes back, I will always defer to their read of the situation, I'm not here to make people do what I suggest, I will simply say "well I think you should do/not do A because of B reason but at the end of the day your call" and leave it at that. I think it's a good thing to be able to have respectful discussions on topics even if both sides agree to disagree.
In my experience, the ones who most fervently believe they have such “clues” are often the same ones who lack them. I can’t tell you the number of times I’ve encountered engineers who become indignant when someone tries to redirect them to safe, scalable, and operable ways to solve problems. What they often want is to have the problem solved their way because it would be less work for them or otherwise advance their own personal interests, regardless of the problems that doing so would create or the risks it would pose. They don’t want a discussion; they want a rubber stamp.
> because it would be less work for them or otherwise advance their own personal interests
I've seen plenty of people rationalize not wanting to learn a new thing with those words.
The thing is, this is a rationalization too. It may be true, it may also be false. The only certain thing is that they don't want to learn a new thing.
That said, this happens in small circles, where you know the context of the person asking the question. People assuming they know why a stranger is asking something tend to be wrong too.
Can confirm, I had a coworker doing that a while ago and it was incredibly frustrating. After going through the whole quizzing you still end up with no answer to your actual question, as if they were more interested engaging with their own process and not what you were actually asking
Back when I worked at Google there was an internal page someone put up that denoted what they called "the YX problem": the observation that the XY problem, applied to a sufficiently great extent, creates an environment where more productivity is lost convincing one's interlocutor that X is in fact the correct problem to solve than would be lost by chasing X and having to later pivot to Y if that turned out to be wrong.
It's extraordinarily aggravating when it happens. I really wish it was something we talked about more.
I think it depends on the individual and the culture. In a strong culture, engineers don’t their egos get in the way of healthy conversations and will be capable of defending their position against probing questions without it upsetting them.
Yes it's called being XYed and it's infuriating when some condescending person decides they know so much better than you that even your question is wrong.
What resonated with me in this article was that there's something about question itself that seems off. And that's even more the case if you answer a lot of people's questions on similar topics. This guy's post is obviously coming rom that standpoint, he's an expert on the software he's supporting people to use.
But if you genuinely find that you're often being guided to Y when your actual need is X then perhaps you need to think about how you approach it. For example, are you including enough context of why you're asking the question in the first place?
What if they don't, in fact, have more experience than me?
Edit: this is why tech people are insufferable socially. In any other walk of life assuming you know more than someone is a manifestly obvious faux pas.
This is a hypothetical, not an assumption. I’m interested in your response to the hypothetical.
As a side note, experience isn’t a unidimensional value that is directly comparable. You can have more experience than someone else in one dimension, and the other person can have more experience than you in a different dimension. I’d never argue with my mother about how to perform a blood draw.
“well the answer to your immediate question is X but that’s a pretty strange thing to ask for because of reason Y. Can you tell me more about the wider problem you’re trying to solve?”
This is the right way to answer these questions. SO was famous for the infuriating "You shouldn't do X, so as a favor to you I'm not going to tell you how." or "Before I answer thee, thou must first answer me these questions three!" kinds of answers.
Edit: Don't want to take credit for this. It's a quote from the article.
Your way is good because it answers my question first. I've been wanting to do a weird thing X and had to first spend half an hour convincing people that yes, I really do know what I'm doing, so they'd give me the one-liner answer I came for.
Ultimately, it should be on me to choose whether I want to risk doing X or whether I want to take up your offer to explain Y, not the "as a favor to you, I'm not going to tell you how" way you described.
If, as you admit, X was a “weird thing,” what’s wrong with taking the time to persuade your peers that it’s worth pursuing? That’s how you build consensus on a team and construct a decision record to help future teammates and other stakeholders understand it.
The funny thing is, this works well with people too. Not to literally not answer, but dig into the question or problem they bring up to understand their mental model and whether there was just a miscommunication or an actual disagreement.
Domo is now apparently "Governed Data for AI Agents".
The desperation for commodity services and second-tier products to stay relevant is widespread. See also intercom.com "The only helpdesk designed for the AI Agent era".
Probably a lot of comments will bounce off the title to discuss the XY problem in general, and especially stackoverflow. The article does claim to go further than XY though!
"Diagnosing the ask" and "When they’re missing the philosophy" seem to me like traditional XY problem answers - the user doesn't know what the right question is, we need to step back to guide them.
"When the product needs to change" on the other hand is about figuring out what users want in order to add it to the product. Which takes a lot of figuring out, because it adds debt and you can add things the wrong way. This feels much less condescending to me than traditional XY where it's just tech support for a dumb user. Instead now figuring out questions from enough users helps direct new features.
"When the right path is hidden" I think the text for this one could do more to discuss helping direct the product as well, specifically in terms of documentation, if https://perfetto.dev/docs/getting-started/periodic-trace-sna... exists why is it hidden instead of where people find it when wanting to visualize a long trace.
If you read the title and just want to talk about XY eh fine, but the article's last sentence is the difference, "Both sides almost always walk away with more than they came in with."
I do want to clarify my point of view since there does seem to be some interpretation which I didn't entirely anticipate (wholly my mistake):
1. I'm not claiming that every interaction with a user needs to be turned into a full discussion. There are lots of cases where the answer is "this is what you're looking for, here's a link to the docs". In my experience, this has gone down a lot over time because people tend now to rely on AI much more heavily for those sort of questions in the first place so they won't even reach you. But it does happen and in that case, the best thing for both sides is to point to the documentation and move on.
2. If I am going to employ this strategy, I always try and both give the direct answer to the question and, as an FYI, ask them the context. Quoting directly form the post:
> well the answer to your immediate question is X but that’s a pretty strange thing to ask for because of reason Y. Can you tell me more about the wider problem you’re trying to solve?
3. This does necessitate that you are in some sense an "knowlegable" on the problem space someone comes to you with: I would never employ this strategy in an area I didn't already feel I was quite well equipped to give my 2c on.
4. If the person I'm speaking to I know for a fact is already knowledgeable on an area, I would be very hesitant to use this approach because I try and be charitable with assuming that people generally know what they are talking about. While yes, I'm not going to be perfect every time in judging this, I think you can get a pretty good sense from the way they ask their question and how clearly they respond to your initial answer whether they are not (ties to 3) which requires you are good enough in the space to judge this).
5. If someone pushes back, I will always defer to their read of the situation, I'm not here to make people do what I suggest, I will simply say "well I think you should do/not do A because of B reason but at the end of the day your call" and leave it at that. I think it's a good thing to be able to have respectful discussions on topics even if both sides agree to disagree.
While this strategy is fine for clueless users, I suspect that it will lead to immense frustration for the ones with clues
In my experience, the ones who most fervently believe they have such “clues” are often the same ones who lack them. I can’t tell you the number of times I’ve encountered engineers who become indignant when someone tries to redirect them to safe, scalable, and operable ways to solve problems. What they often want is to have the problem solved their way because it would be less work for them or otherwise advance their own personal interests, regardless of the problems that doing so would create or the risks it would pose. They don’t want a discussion; they want a rubber stamp.
> because it would be less work for them or otherwise advance their own personal interests
I've seen plenty of people rationalize not wanting to learn a new thing with those words.
The thing is, this is a rationalization too. It may be true, it may also be false. The only certain thing is that they don't want to learn a new thing.
That said, this happens in small circles, where you know the context of the person asking the question. People assuming they know why a stranger is asking something tend to be wrong too.
Can confirm, I had a coworker doing that a while ago and it was incredibly frustrating. After going through the whole quizzing you still end up with no answer to your actual question, as if they were more interested engaging with their own process and not what you were actually asking
Exactly.
Back when I worked at Google there was an internal page someone put up that denoted what they called "the YX problem": the observation that the XY problem, applied to a sufficiently great extent, creates an environment where more productivity is lost convincing one's interlocutor that X is in fact the correct problem to solve than would be lost by chasing X and having to later pivot to Y if that turned out to be wrong.
It's extraordinarily aggravating when it happens. I really wish it was something we talked about more.
This isn't a black-and-white tactic. If you do this with people who know their stuff, they will just take it as you undermining them.
I think it depends on the individual and the culture. In a strong culture, engineers don’t their egos get in the way of healthy conversations and will be capable of defending their position against probing questions without it upsetting them.
How about answering the question and then add details later? IME that tends do work better.
Yes it's called being XYed and it's infuriating when some condescending person decides they know so much better than you that even your question is wrong.
What resonated with me in this article was that there's something about question itself that seems off. And that's even more the case if you answer a lot of people's questions on similar topics. This guy's post is obviously coming rom that standpoint, he's an expert on the software he's supporting people to use.
But if you genuinely find that you're often being guided to Y when your actual need is X then perhaps you need to think about how you approach it. For example, are you including enough context of why you're asking the question in the first place?
What if they do, in fact, have the experience to “know better”?
What if they don't, in fact, have more experience than me?
Edit: this is why tech people are insufferable socially. In any other walk of life assuming you know more than someone is a manifestly obvious faux pas.
This is a hypothetical, not an assumption. I’m interested in your response to the hypothetical.
As a side note, experience isn’t a unidimensional value that is directly comparable. You can have more experience than someone else in one dimension, and the other person can have more experience than you in a different dimension. I’d never argue with my mother about how to perform a blood draw.
“well the answer to your immediate question is X but that’s a pretty strange thing to ask for because of reason Y. Can you tell me more about the wider problem you’re trying to solve?”
This is the right way to answer these questions. SO was famous for the infuriating "You shouldn't do X, so as a favor to you I'm not going to tell you how." or "Before I answer thee, thou must first answer me these questions three!" kinds of answers.
Edit: Don't want to take credit for this. It's a quote from the article.
Your way is good because it answers my question first. I've been wanting to do a weird thing X and had to first spend half an hour convincing people that yes, I really do know what I'm doing, so they'd give me the one-liner answer I came for.
Ultimately, it should be on me to choose whether I want to risk doing X or whether I want to take up your offer to explain Y, not the "as a favor to you, I'm not going to tell you how" way you described.
If, as you admit, X was a “weird thing,” what’s wrong with taking the time to persuade your peers that it’s worth pursuing? That’s how you build consensus on a team and construct a decision record to help future teammates and other stakeholders understand it.
They aren't my peers, and they don't have a stake in it. I'm usually just asking on IRC.
The funny thing is, this works well with people too. Not to literally not answer, but dig into the question or problem they bring up to understand their mental model and whether there was just a miscommunication or an actual disagreement.
I believe this is the process that defines Julia Evans' writing (and cartooning)!
And sometimes, I get some bloviating idiot who DEMANDS that my question is a XY issue, constructs their own strawman, and solves THEIR strawman.
No, I had a reason why I asked the way I did. You're just too arrogant and think only your procedure is the "right" one.
Domo is now apparently "Governed Data for AI Agents".
The desperation for commodity services and second-tier products to stay relevant is widespread. See also intercom.com "The only helpdesk designed for the AI Agent era".