[HN Gopher] The XY Problem
       ___________________________________________________________________
        
       The XY Problem
        
       Author : st_goliath
       Score  : 60 points
       Date   : 2021-05-06 11:34 UTC (1 days ago)
        
 (HTM) web link (xyproblem.info)
 (TXT) w3m dump (xyproblem.info)
        
       | melff wrote:
       | Is there a name for when person A asks B and B thinks A has
       | fallen victim to the XY probem but A really didn't and has indeed
       | an unusual problem at their hands?
        
         | zamadatix wrote:
         | I've always called it "The XY problem problem". It's not
         | usually an issue in person but in async messaging it can waste
         | a lot of time if you're not careful. And it goes on forever
         | "The XY problem problem problem" where someone is aware what an
         | XY problem is but thinks this is for sure an XY problem problem
         | so they refuse to spend time thinking otherwise. Then of course
         | "The XY problem problem problem problem"...
         | 
         | In those async situations it's best to provide bits of
         | information for both directions every time, in person it's
         | usually best to collaborate.
        
         | caturopath wrote:
         | Overfitting?
         | 
         | In my experience, people who have proven fairly to themselves
         | that they're in an odd situation can prove it to others pretty
         | easily. "I'm not doing $Z because..."
        
         | not2b wrote:
         | Yes, the name is "Stack Overflow".
        
         | [deleted]
        
       | dmd wrote:
       | http://3e.org/xy.png
        
       | firefoxd wrote:
       | Many will refer to stackoverflow since that's the reason this
       | website was created in the first place. But one of the most
       | important thing in solving problems in programming is context.
       | 
       | Here is one real question I got in an interview: How do you
       | efficiently sort a table containing a million record in
       | JavaScript?
       | 
       | My question was "in the front end?"
       | 
       | And my answer was it's probably not a good idea to sort that much
       | data in the front end since the user will most likely not be able
       | to consume that much data. Since it was an interview, I explained
       | how to sort the table anyway.
       | 
       | Sorting in the backend makes sense, but even then using a
       | database is more efficient then doing it in JavaScript.
       | 
       | If this question was on SO, I'd probably answer: You shouldn't do
       | that in the front end, explain why. And of course they will get
       | pissed for not answering how.
        
         | rileymat2 wrote:
         | But it is nice when you stumble across an answered question
         | that fits your use case.
         | 
         | For instance, if I was making heavy use of local storage where
         | I have no back end, it is nice if that question is already
         | answered. At that point I don't really care if the previous
         | user got a better method, that's what I need to do now.
        
       | peterthehacker wrote:
       | I've heard this cited by a couple ctos I've worked for. It's a
       | popular metaphor in the engineering department. I think it's
       | articulating an important message, but in an ineffective way. The
       | name "XY Problem" is too vague and easy to forget. I prefer
       | simpler messages like:
       | 
       | - What's the root cause of the problem?
       | 
       | - Is this a solution looking for a problem?
       | 
       | As software engineers, part of our job is naming things well and
       | the "XY Problem" isn't a great name IMO.
        
       | vinniec wrote:
       | But sometimes this happens because the questioner wants to avoid
       | other people's waste of time asking a more specific and limited
       | question instead of a generic one. Often this happens because the
       | environment where the question is asked is highly selective and
       | does not accept too verbose and indirect questions. The solution
       | is to be more open to conversation on both sides.
        
         | caturopath wrote:
         | That isn't my experience at all. In contexts that are highly
         | conversational, people constantly ask XY problems. It's hard to
         | see that the path you went down so far may or may not be
         | correct, so a lot of people just assume their last three
         | determinations in solving their problem were valid.
         | 
         | Conversational environments certainly make it easier to root
         | cause them, but it's often still painful.
        
       | js8 wrote:
       | I find it strange that some people get offended with this
       | approach to problem solving. There is this legendary interview
       | question, "I have a mountain in India and I want to move it in
       | France, how do I do it?". And some questioners (presumably people
       | who like to be authoritative, in charge and order people around),
       | really seem to dislike if my first impulse is to ask "Why do you
       | want to do that? What is your goal?" And they respond with
       | something like, "Why does it matter, just get on with the task, I
       | didn't hire you to ask questions!"
       | 
       | Because the method really does depend on what you want to do. Can
       | I destroy the mountain? Do I have to recreate the geological
       | structure, or is it the biosphere you're interested in, or
       | perhaps there is a holy place on that mountain that is important?
       | And so on. If you want me to think outside the box (and
       | presumably the question is posed to test that skill), then you
       | have to be willing to provide more details on what you ultimately
       | want.
        
         | joe_the_user wrote:
         | To satisfy the authoritarian impulse, one can ask "in what
         | manner should the mountain to be moved? Would just transporting
         | the dirt be enough?"
         | 
         | And if this is "just interview question", the literal answer is
         | "I don't want the fricken mountain moved to France, I just want
         | to this exercise in hypothetical done with and you're not
         | making it easy on me"
        
         | ben509 wrote:
         | > And some questioners ... really seem to dislike if my first
         | impulse is to ask "Why do you want to do that?"
         | 
         | An interview works both ways. If you can suss out the
         | interviewer's nature and help you determine it's not a place
         | you'd want to work, then trust that impulse.
        
       | joe_the_user wrote:
       | The XY approach _can_ be perfectly legitimate. You 're a domain
       | expert. You have a problem X. It's a standard problem in your
       | domain but only you can really understand it. However, you can
       | see that a general purpose approach, Y, could solve it. Y might
       | even sound complicated but is at least fully explainable whereas
       | X isn't easily explainable at all.
       | 
       | Of course, the "XY problem" usually presumes a naive person
       | ("user")who falsely imagines the more complicated-sounding
       | solution Y would solve their simple problem. And that's a pretty
       | common situation.
       | 
       | The general approach for all this stuff is whenever someone is
       | asking for the solution to a complicated or weird question, just
       | verify they have some reason to approach it that way. There's no
       | reason to automatically assume either they do or they don't and
       | not assuming anything lets you approach them more respectfully.
        
       | Jiocus wrote:
       | I've found that this issue crops up in situations where someone
       | has a new app idea. They don't possess the skills to create it
       | themselves because they're in a different domain.
       | 
       | They ask you about building Y, maybe even Z but they don't want
       | to give X away in case someone steals their 'disruptive product'.
       | 
       | There is too little information to go forward, too little trust.
       | Project doesn't take off.
       | 
       |  _" the world wasn't ready for X, anyway"_, they say. Whatever
       | that was.
        
       | wayoutthere wrote:
       | This is the entire game in consulting. Your client comes to you
       | asking for something but with certain expectations in mind. The
       | job of a good consultant is to meet those expectations - stated
       | or not. You learn pretty quickly how to figure out what they're
       | _really_ asking.
        
       | dahart wrote:
       | Someone on HN a year or so back mentioned they like to call this
       | 'going _up_ the rabbit hole'. It's a great name, so it stuck with
       | me.
        
       | dejj wrote:
       | Nice touch: Angela and Obama instead of Alice and Bob
        
       | javier10e6 wrote:
       | To call the XY learning QA a problem is akin to calling learning
       | to swim a problem. It can be a problem on a sinking ship but not
       | at the community pool.
        
       | wayneftw wrote:
       | My wife does this all the time. I didn't know there was a name
       | for it!
       | 
       | By now I know to ask her what the actual problem is right up
       | front.
        
       | not2b wrote:
       | Sometimes the XY problem occurs because the fact that X is being
       | worked on is a company trade secret and the reporter tries to
       | turn it into Y, which can be disclosed. This isn't always
       | successful.
        
       | [deleted]
        
       | dec0dedab0de wrote:
       | This is similar to the "faster horse" quote. If you care about
       | helping someone, it's important to understand what they really
       | need.
       | 
       | That said, I enjoy giving literal answers to things. Sometimes
       | it's a fun challenge, others I'm just being a smartass, and
       | occasionally it's a teaching opportunity. A few times I've done
       | this to younger team members, then set myself a reminder to check
       | on them to see if they figured out why that's not the best way.
        
       | reggieband wrote:
       | Reminds me of the classic stack overflow answer to "RegEx match
       | open tags except XHTML self-contained tags" [1]
       | 
       | 1. https://stackoverflow.com/questions/1732348/regex-match-
       | open...
        
       | ben509 wrote:
       | The XY problem is really a collaboration problem... most
       | discussion media are all horribly transient. When you're
       | explaining a problem you did figure out all that context, but
       | you're guessing as to what context the next person needs. That's
       | necessarily going to leave out things you don't know you need to
       | explain.
       | 
       | At work, I have to go from team to team for some issues, and
       | we're special (yay) because we're an acquisition, so we're doing
       | some very odd things by corporate standards. Even the fact that
       | we have a customer facing application is unusual, and I've
       | essentially renamed our API to be "BackendForFrontend" entirely
       | because each new team assumes our API must be entirely developer
       | facing.
       | 
       | What I've found is it's tremendously helpful to always link back
       | to (and quote from) Jira issues so the necessary context is
       | present whenever I'm asking questions. Whether it's Jira or
       | Confluence, you want to treat problem resolution the way you do
       | development: it's a permanent thing you're building. And I mean
       | permanent, if you solve a problem, you do a write-up for future
       | you.
        
       | coldtea wrote:
       | The worst XY problem is knowing you want to do Y, even if its
       | strange or whatever, asking how to do it, and people asking you
       | "why do Y? Do X instead".
       | 
       | Happens all the time in Stack Overflow.
       | 
       | Just answer the fucking question, and then give the lecture on
       | why you think it should be done that way, or why it shouldn't be
       | done at all...
        
         | AnIdiotOnTheNet wrote:
         | Yeah, that drives me nuts. It would take me quite a long time
         | to explain the combination of constraints, requirements, goals,
         | and office politics that make Y the thing I _actually have to
         | do_ , yet even when I say as much in the question people still
         | insist that they know my problem domain better than I do. It is
         | maddening.
         | 
         | Don't take the actual problem and pretend it is an easier one
         | you know how to solve just to look smart and/or helpful.
        
         | chowells wrote:
         | There are a few people who frequently have this complaint, but
         | I don't think it's a real problem. If you actually need to do Y
         | in a situation where most people who think they need to do Y
         | are wrong, it's not everyone else's responsibility to divine
         | that you are the magical case. It's your responsibility to
         | demonstrate that you actually do know what you're doing.
         | 
         | This isn't something you do by discussing how unfair other
         | people are. It's something you do by communicating the
         | constraints you're working inside, your knowledge of more
         | typical solutions, and why they don't work for you.
         | 
         | If you aren't providing that information, you're wasting the
         | time of everyone who is voluntarily helping others. It's not
         | their fault that you're not providing critical information for
         | answering your question effectively.
         | 
         | When you're the special case, you have to communicate that
         | fact. It's just wasting everyone's time when you expect others
         | to know it without communication.
        
           | mjw1007 wrote:
           | It is a real problem.
           | 
           | I've never asked a question on Stack Overflow, but many, many
           | times I have entered a question into a search engine,
           | received a Stack Overflow link with my question at the top,
           | and been greeted with several screens full of text none of
           | which is an attempt to answer the question.
           | 
           | In other contexts Stack Overflow's conventions are set up on
           | the understanding that they're trying to produce a curated
           | database of questions with their answers, rather than acting
           | as a technical support forum for individuals. It's a real
           | shame that culture doesn't extend to dealing with this case
           | properly.
           | 
           | (The most common case is where the question is something like
           | "does A provide a function for doing B?" and the correct
           | answer is simply "No".)
        
           | SatvikBeri wrote:
           | I've had two cases on SO where I explicitly started my
           | question with "I know X is the standard way to solve this
           | problem, I can't do X because I work at a big company that
           | has policy Z which prevents that, so I'm trying to make Y
           | work, here's what I've done..."
           | 
           | and the question was marked as a duplicate of a "how to do
           | X?" question and closed.
           | 
           | I've also had plenty of good experiences on StackOverflow, so
           | YMMV, but in general I've found other forums better.
        
           | yukinon wrote:
           | >When you're the special case, you have to communicate that
           | fact. It's just wasting everyone's time when you expect
           | others to know it without communication.
           | 
           | I strongly disagree. The base assumption is to take it at
           | face value, and therefore should be to answer it that way.
           | The recommendation that comes after is always the optional
           | part. You're wasting everyone's time if you give the Y only,
           | and optionally the X.
        
           | coldtea wrote:
           | > _There are a few people who frequently have this complaint,
           | but I don 't think it's a real problem. If you actually need
           | to do Y in a situation where most people who think they need
           | to do Y are wrong, it's not everyone else's responsibility to
           | divine that you are the magical case._
           | 
           | Well, that's strange, because what they do is still divining.
           | They try to divine "what you actually wanted", even though
           | you asked another thing.
           | 
           | Even worse, a lot of the time the one doing the asking has
           | explicitly said "I know this is unorthodox" or "just answer
           | how to do Y please, don't give me your 'better' options".
           | 
           | It's especially annoying when what you what to do is hack
           | something (and not do it the official way), bypass some
           | restriction that absolutely prevents X, try an alternative
           | style, push the envelope, or generally think Y is better even
           | though the "conventional" sheep-like answer is "do X".
           | 
           | An example of the latter would be trying to use Java with
           | simple POJOs and lite patterns in ~2005, and everybody
           | suggesting you go through some monstrous J2EE setup with half
           | the GoF book thrown in instead because that's "idiomatic".
           | 
           | Or e.g. trying to ask about trying to use a regex to quickly
           | parse some known-quantity HTML where regex will work just
           | fine (say, extract all href out of all a elements), and
           | everybody insisting they lecture you on proper html parsing
           | instead, not caring about your use case.
        
             | dsr_ wrote:
             | 'a lot of the time the one doing the asking has explicitly
             | said "I know this is unorthodox" or "just answer how to do
             | Y please, don't give me your 'better' options".'
             | 
             | After being burnt by a person who never wanted to do
             | anything in a conventional, well-supported way* and kept
             | making that explicit request, I have given up volunteering
             | my time to appease them.
             | 
             | At work I get paid to say "I know a couple of ways of doing
             | that, but if you could tell me more about your problem and
             | the constraints, I can give a better answer."
             | 
             | *Problem: router and three laptops need to be networked.
             | Conventional solution: ethernet cables or wifi. Requested
             | solution: IP over serial (SLIP or PPP) over USB-serial
             | connectors. Had not purchased USB-serial adapters.
        
               | AnIdiotOnTheNet wrote:
               | > After being burnt by a person who never wanted to do
               | anything in a conventional, well-supported way* and kept
               | making that explicit request, I have given up
               | volunteering my time to appease them.
               | 
               | That's fine and completely fair. Just don't provide
               | unasked for answers as an alternative.
        
             | pwdisswordfish8 wrote:
             | > known-quantity HTML where regex will work just fine (say,
             | extract all href out of all a elements),
             | 
             | Regex doesn't work fine even on that. You still need to
             | tell apart actual tags from contents of attributes,
             | comments, uninterpreted contents of <script>, and so on. A
             | regex alone doesn't give you the ability to do that. If you
             | want to parse HTML, you need a parser. Simple as that.
        
               | AnIdiotOnTheNet wrote:
               | Only if you care about absolute accuracy in sufficiently
               | complex pages. There are many use cases I can think of
               | that really don't.
        
               | TeMPOraL wrote:
               | Parsing HTML with regexes is fine if you're not solving a
               | _general case_. A regex  "parser" will carry implicit
               | assumptions about the document structure.
               | 
               | Like, I know "<div.+>.+foo\s+([a-z]+)" will work, because
               | I've crafted it for a specific site whose sources I've
               | seen.
        
               | coldtea wrote:
               | > _Regex doesn't work fine even on that._
               | 
               | Most of the time it works just fine for my purposes.
               | 
               | And it's not like I don't know alternatives. And I've
               | written a toy compiler in the past (C with classes
               | subset), done heavy XSLT work, know how to write a parser
               | (manually, with flex/yacc, with PEG), have parsed XML
               | with SAX, DOM, XOM, have used xpath expressions, css and
               | jquery selectors, and used libs like BeautifulSoup.
               | 
               | Most of the time a quick regex will do just fine for that
               | purpose.
               | 
               | See, I don't intend to send the href's to the ISS or to
               | some medical equipment that will blow up if, god forbid,
               | I accidentally found an A tag in a comment or inside a
               | script or attribute.
               | 
               | And I'll probably run another regex or simple editor or
               | awk filter to get rid of some false positives and I'll be
               | fine.
               | 
               | > _If you want to parse HTML, you need a parser._
               | 
               | That's a tautology, so it's always true.
               | 
               | If on the other hand you just need to extract some
               | information from an HTML file, and you can just open the
               | bloddy file and see its structure and it is perfectly
               | servicable with a regex, you might not need a parser at
               | all. Simple as that.
        
           | jbay808 wrote:
           | If you're the one asking the question for the first time,
           | yes, you should make it clear in your wording that you know
           | about X and you really want Y.
           | 
           | There are two failure modes though:
           | 
           | 1) You really want to do Y, not X. You are not asking the
           | question, just searching for the answer, and find that "how
           | do you do Y?" question, and the answer is "do X instead".
           | Because you're a special case, these answers will likely
           | dominate your search results.
           | 
           | 2) You decide to ask the question. You make it very clear
           | that you want to do Y, not X. Your question is closed as a
           | duplicate of the one whose answer was "do X".
        
           | tedunangst wrote:
           | This happens all the time, and no, not only in super
           | exceptional special cases. Ask how to change the spark plugs
           | on a Lotus. Nobody has a freaking clue, but their neighbor
           | told them Lotus is unreliable, so you get half a dozen yahoos
           | replying "you should buy a Toyota, it's more reliable."
           | Thanks, geniuses, but I already have a reliable car, I also
           | happen to like playing with my Lotus, which I did not
           | purchase because I was tricked into believing it was a great
           | value. I feel I should not need to provide a full inventory
           | of my garage and driving habits to ask a basic question.
        
             | chowells wrote:
             | Ok, you're annoyed at rude people. That's fair. Rude people
             | are maddening.
             | 
             | But that's not what the XY problem is about. There is no
             | case where "you should have bought a Toyota" is a valid
             | response to "how do I change the spark plugs on my Lotus?".
             | That's just internet jerks being... Jerks.
        
           | at_a_remove wrote:
           | That sounds great in theory, but in practice you end up
           | having this enormous, long list of "defenses" as to why it
           | isn't an XY problem, and then ... people will ignore them
           | anyway. This has happened to me on Hacker News.
           | 
           | People hit that XY button more than needed, and I have seen
           | this even in the earliest days of Linux. I remember, pre-
           | Google, when asking some questions on IRC about recompiling
           | the kernel for my distro, I would get smart-ass responses
           | like "What you _should_ have done is selected this other
           | distro. "
           | 
           | It's led to me rarely asking questions if I think the issue
           | could be construed as XY.
        
         | Groxx wrote:
         | In the absence of evidence-you-know-you-need-Y: the odds are
         | often HEAVILY skewed towards you not knowing about X, or being
         | confused about either X or Y's purpose.
         | 
         | If you do tech support of any kind with random people, it's
         | pretty clear that a majority simply don't know what's
         | available, or why Y may not be a good idea. They need to do a
         | thing, heard that Y can do it, and now they're asking how to
         | use Y - reasonable, but frequently misguided. When Y is
         | dramatically more complex (either harder to set up, or more
         | error-prone to use), recommending X before sinking a ton of
         | effort into explaining Y solves a lot of cases quickly, for
         | both parties.
        
         | lhorie wrote:
         | I get these types of questions from time to time, and the way
         | it usually goes is:
         | 
         | them: how can I do Y?
         | 
         | me: you can do A, but you're probably going to run into B, I'd
         | recommend doing C instead because D
         | 
         | them: ok, well, I'm already too committed to Y, so I'm going w/
         | A. Thanks!
         | 
         | them, later: hey, I ran into B. Can you help me?
         | 
         | me: ...
         | 
         | At that point, I just accept that sometimes people need to get
         | burned to learn their lesson.
         | 
         | There _are_ also cases where people ask how to do Y, but
         | explain that it 's not an XY problem because such and such
         | reasons. These often actually turn into stimulating
         | conversations because now you're in brainstorming territory and
         | it's clear that the conversation is about procuring novel
         | solutions.
        
         | etaioinshrdlu wrote:
         | I suspect the type of person who answers questions unhelpfully
         | like this is often highly experienced, but without terribly
         | deep technical knowledge (in the rigorous, scientific or
         | academic sense). You get an often practical answer, but it's
         | just not helpful when you are pushing the boundaries in any
         | particular domain.
        
           | systemvoltage wrote:
           | I think people are treating this is as a binary issue.
           | 
           | IMO both Y should be answered as well as X should be
           | discussed. Why can't an answer have both? The frustrating
           | part is when Y is never to be found on the answer thread.
           | 
           | + 1 on your username :)
        
         | moralestapia wrote:
         | Regarding SO, it suffers from a strange form of cognitive
         | dissonance:
         | 
         | A. You can't ask "what's the best way to do X" because, for
         | whatever reason, these kind of questions are not aligned with
         | "the site's scope".
         | 
         | but
         | 
         | B. When you ask something specific, you get a lot of "it's
         | better if you do X" answers. I even have had some _really nice_
         | questions closed because some mods thought I was  "asking the
         | wrong thing".
         | 
         | Both behaviors are allowed and encouraged -\\_(tsu)_/-.
        
         | xscott wrote:
         | I once asked a question about an obscure corner of C++. I was
         | only trying to learn more about the language[0]... The answer
         | with the most useful information also contained a long and
         | patronizing rant about why I should never do that. I'm not a
         | novice, and I'm capable of deciding for myself whether I should
         | or shouldn't use something.
         | 
         | I just couldn't bring myself to give that jerk credit, so I
         | deleted the question and never logged in again. There are a lot
         | of smart people there, but it's just not worth dealing with
         | them.
         | 
         | Maybe this isn't an XY problem, but I suspect it's just as
         | common (at least on most of the Stack Exchange sites).
         | 
         | [0] Anyone who thinks they know all of C++ doesn't even know
         | what they don't know.
        
         | js8 wrote:
         | You have to consider that SO exists not only to answer your
         | specific problem, but also to help other users who might face a
         | similar problem. In that context, it might be helpful to
         | mention, if you are the asking person, include the details why
         | you cannot do X, if you know you can't; or, if your question
         | doesn't include details about your specific circumstance,
         | answers that mention that common solution is to do X instead.
        
           | systemvoltage wrote:
           | No.
           | 
           | User asks I want to do Y.
           | 
           | The responding party should in my opinion:
           | 
           | - Provide a solution to Y _first_. This is OP 's point.
           | 
           | - Then as a corollary, provide some of their guesswork of
           | what X might be and if it is true, then this is how to solve
           | X without having to do Y.
           | 
           | So, it is still beneficial to n00bs and the uninformed, just
           | puts the direct answer to Y _first_. That 's all OP is asking
           | and I agree with that.
           | 
           | Most of the time, smartass responses go into the guesswork
           | regime by assuming the User wanted to do X. More than often
           | User actually wanted to do Z, it's not always true and it is
           | polluting SO against the spirit of "Direct question --->
           | Direct answer" because discovery and searching of answers
           | happen through Y, not X. Most people came to SO because of Y,
           | that's how they landed there in the first place.
        
             | chowells wrote:
             | This is not a good approach. For the typical person asking
             | a question, you waste their time at best. At worst, they
             | actually use your solution to Y and ignore why it's bad.
             | Both of those are significantly worse than clarifying the
             | problem in the first place.
        
               | systemvoltage wrote:
               | No one is saying we shouldn't provide why Y is bad. I
               | said, it should be a corollary.
               | 
               | The bad approach is when the entire thread is full of
               | guesses of what X might be without knowing the full
               | context. Y is nowhere to be found. It breaks the UX of
               | SO.
        
           | moralestapia wrote:
           | >but also to help other users who might face a similar
           | problem
           | 
           | They could ask their own questions.
           | 
           | I'd rather have a database of specific questions with
           | specific answers than "X-Ys" all over the place.
        
             | js8 wrote:
             | Your question, without explanation why you want to do Y,
             | when obvious way is to do X, is then not specific enough to
             | people who have XY problem and are not aware of it.
        
               | moralestapia wrote:
               | >not specific enough to people who have XY problem and
               | are not aware of it
               | 
               | Again, they should be expected to ask their own questions
               | on the site, so they could get the answers they're
               | looking for. Come on, that's not hard to grasp.
               | 
               | A question like "How to delete a project from Google
               | Cloud Console" [1], should have a clear, definite answer.
               | I wouldn't expect to see something like "this is how you
               | register an account on AWS", just in case "the user is
               | changing providers".
               | 
               | 1: https://stackoverflow.com/questions/16621921/how-to-
               | delete-a...
        
           | nonameiguess wrote:
           | The reality that Stack Overflow doesn't seem to want to admit
           | is a huge number of questions are coming from people in
           | school, MOOCs, going through tutorials, books, whatever the
           | case may be, trying to learn and doing things in an
           | intentionally suboptimal way for pedagogical purpose, even
           | though you would never deploy such code to production. Or
           | they're working through LeetCode or something. If an
           | assignment says they have to do something a particular way,
           | they don't have a choice and it's patronizing and annoying to
           | see all the responses questioning why they're doing exactly
           | what the assignment requires them to do.
           | 
           | Might also point out that a lot of people finding the
           | question later on Google because they the same question are
           | just trying to do the same assignment, so Stack Overflow is
           | undermining its own stated purpose here.
        
         | edoceo wrote:
         | isn't the XY problem that you don't _really_ know you want to
         | do Y? and if you did know, wouldn 't you know?
        
           | rzzzt wrote:
           | You know you want to do Y, but you don't tell others that you
           | actually want to do X, and Y seems like a reasonable thing
           | (to you) to do to reach X.
        
       | cramja wrote:
       | Content aside (good points!), I love the site's simple layout.
       | Though I did have some difficulty reading the code blocks because
       | of the low contrast.
        
       | unbalancedevh wrote:
       | When somebody asks me a question, I find it best to answer their
       | question directly (because maybe I don't understand their
       | situation as well as they do), and then give them the information
       | that I think they actually need (because maybe they're asking the
       | wrong question).
       | 
       | What I find very frustrating is when I ask a question, and get an
       | "answer" that doesn't actually answer my question.
        
       | intrepidhero wrote:
       | To quote the TFA: 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. (emphasis mine)
       | 
       | Whose time was wasted? For the asker, the exploration of Y and
       | the eventual realization that it is not a good way to pursue X is
       | a learning experience with value. For the answerer, they may feel
       | their time is wasted if the goal is to answer questions. But if
       | the goal is to help the asker deepen their understanding then the
       | discussion of Y isn't wasted time at all.
       | 
       | This presupposes two things: 1. The asker must have the curiosity
       | and humility to interrogate Y as their chosen method to reach X.
       | 2. The answerer must set aside their ego in order to provide
       | genuine help instead of patronizing advice.
       | 
       | The question/answer format of Stack Overflow does not lend itself
       | to curious exploration of questions and I think the gamification
       | aspect rewards egotistical answerers. I say this despite deriving
       | a lot of value from SO over the years.
        
         | YeGoblynQueenne wrote:
         | >> To quote the TFA
         | 
         | Is that how "TFA" is used now?
        
       | alphanumeric0 wrote:
       | It's always good to ask the person about the context surrounding
       | their question, but I also don't see much harm in seeking how to
       | do Y, for the sake of Y. What is a 'strange problem to want to
       | solve' anyways? To me, they are all just problems.
       | 
       | Yes, it is often the case that the person has the wrong idea of
       | how to solve X, but this does not always say something about the
       | validity of problem Y. Often times knowing how to do Y is
       | valuable for other contexts besides X. We should try to be
       | friendly and make it clear that Y is not a good way to achieve X
       | without downplaying Y, necessarily.
        
       | tedunangst wrote:
       | Also known as the "I don't know the answer to your question, but
       | here's an answer to a different question so I can look smart"
       | problem.
        
         | caturopath wrote:
         | That's not my experience. A lot of the time there is a VERY
         | straightforward answer, e.g. "here's this evil metaprogramming
         | thing" or "here's where you access this legacy representation
         | with bitey cornercases" or whatever, which is trivial to
         | provide (but also harmful).
        
       | minikites wrote:
       | This shows up in the library space as the Reference Interview:
       | https://en.wikipedia.org/wiki/Reference_interview
       | 
       | Patrons engaged in research show the same pattern and it's
       | important for a librarian to accurately assess what the patron is
       | truly looking for.
        
       ___________________________________________________________________
       (page generated 2021-05-07 23:01 UTC)