azurelunatic: Warning: participating in #dw may result in blacking out and discovering yourself as head of a project team. (#dw warning: department head)
Azure Jane Lunatic (Azz) 🌺 ([personal profile] azurelunatic) wrote2013-01-11 12:23 am

The wrong kind of encouragement: a fairytale of development

Once upon a time, when Dreamwidth was still new and Dreamhacks were just the best thing since sliced bread and even more new than Dreamwidth itself, a developer* came unto the Dreamwidth IRC channel. Now, most new developers who came to the channel had similar plans of development to each other, and wanted to get started writing patches as fast as possible, so I am afraid that the denizens of the channel had started to become sloppy and make too many assumptions about the plans of all new developers, because most were so much the same.

"Can anyone help me install a local version of the Dreamwidth code onto my server?" the developer asked.

"Hail!" the IRC channel greeted.

"A new developer! Hooray! You don't have to install the code on your local server," one channel denizen, a great and honored developer with many bugs to their name, said. "We have Dreamhacks, and this is how you apply for them!"

"Thank you," the developer said, and went away. For that was not the question the developer had been asking, but the channel members were so nice and helpful.


Presently the developer came unto IRC again. "Can anyone help me install a local version of the Dreamwidth code onto my server?" the developer asked again.

"We're so glad you want to help out!" another channel denizen said (having not been there the first time, or perhaps having been away from the keyboard). This denizen was only a middling developer, but showed great promise and had already vanquished some bugs. "Installing the Dreamwidth codebase is very hard, and is very frustrating for a new developer. Here is where you can apply for a Dreamhack."

"Thank you, but --" the developer said, and then went away again. This was still not the question the developer had been asking, although the channel denizen was right: installing the code was very hard.


And a third time, the developer came unto IRC. "Can anyone help me install a local version of the Dreamwidth code onto my server?" the developer asked, greatly weary and sad.

"I don't know much about that process," a third channel denizen said. This denizen was one of the least among the developers, but had been watching the first two times the new developer came in and asked. "I saw that you were offered a Dreamhack twice before, but that was not your question."

"No, I don't want a Dreamhack," the developer said, relieved that at last someone seemed to be answering the actual question. "I was not sure how to ask, and everyone was trying to be so helpful. I am on a quest for enlightenment, and I would like the experience of installing it all for myself."

"I hope you may find the enlightenment you are looking for," said the third denizen. "I do not think I can help you myself, but if you encounter trouble, try the wiki, for it is always there, though it does not have much yet." And the third denizen named some pages.

"If you encounter trouble that the wiki cannot handle, try asking my first sister." And the third denizen named a system administrator of middling wisdom and middling availability.

"And if you encounter trouble that my first sister cannot handle, try asking my second sister. But beware, you may have to wait a long time." And the third denizen named a system administrator of great wisdom but small availability.


"Thank you!" the developer said with joy. "I had almost given up, for I feared no one would answer my question. I will try the wiki first."

And in later times, many stories were told of the brave feats of installation that the developer mastered, and then documented for developers yet to come.



* This is a fairytale based on an actual incident. I'm leaving the developer here anonymous; this developer can of course step up and say "Hi, that was me!" but I'd like to leave them the option of doing so, rather than giving them potentially unwanted attention. back
synecdochic: torso of a man wearing jeans, hands bound with belt (Default)

[personal profile] synecdochic 2013-01-11 01:55 pm (UTC)(link)
I think that as-written, this is giving the wrong message.

Yeah, it's frustrating not to get an answer to the question you actually asked, but it's also incredibly common for people to not ask the question they think they should be asking instead of the question they actually want to know the answer to. If you have a FAQ ("how do I install the code locally") that's actually a different question ("how do I start hacking on the code") 95% of the time, and the steps to accomplish the things in the exact question and the steps to accomplish the things in the implied question are drastically different, it is more helpful and more efficient to provide the HOWTO for the implied question. Especially if the HOWTO for the question-as-asked is long, involved, complex, and miserable, while the HOWTO for the implied question is quick and easy: in that case answering the question literally as asked will send someone off down a miserable rabbithole. In that case, answering the implied question first is absolutely the right thing to do.

So when someone asks a "how do I" question, it's often helpful to ask a clarifying "what do you want to do / why do you want to do it", but if people bypass that and jump straight to the answer that's more helpful in 95% of cases, it's understandable. (And efficient.) And if you're the one asking the question and you're getting an answer that's trying to answer the question people think you're implying, I think there is a certain amount of onus on you to say "actually, I'm trying to do $foo instead, not $bar" to establish that you are in the 5% who are asking the exact question and not the implied question instead of just saying "thank you" and going away to steam that nobody's answering your question.
vass: Small turtle with green leaf in its mouth (Default)

[personal profile] vass 2013-01-11 02:50 pm (UTC)(link)
Was there steaming? Az's story did not mention steaming.

Possibly the new developer just went away to be quietly socially anxious in a corner somewhere. Just because they're interested in learning a different set of beginner skills that might be perceived as harder doesn't mean that they're more confident or have better social skills or less imposter syndrome than a beginner dev who takes a more traditional route into Dreamwidth hacking.

Possibly they found asking for help, at all, the most difficult part of the entire endeavour.
siderea: (Default)

[personal profile] siderea 2013-01-11 10:58 pm (UTC)(link)
So when someone asks a "how do I" question, it's often helpful to ask a clarifying "what do you want to do / why do you want to do it"

Actually, the right thing to do is say, "Many people who ask this question, A, are actually asking about A'. If you are actually asking A', please see the answer here."

For instance:

Q: How do I install the DW code for myself?

A: Do you want to install DW for yourself, or do you just want to get coding? If you are just looking for an install to hack on so you can contribute development to DW, you don't have to install it for yourself. We'll do it for you! We'll provide you with an already installed hosted solution called a "DreamHack". For free. See here for more about free DreamHacks.

If you really do want to install DW on your own server, here's how...

if people bypass that and jump straight to the answer that's more helpful in 95% of cases, it's understandable. (And efficient.)

Also, where I'm from, it's incredibly rude, subtype condescending. I'm not surprised if someone walks away after being given that sort of non-answer. It's not "steam that nobody's answering your question", it's "holy shit, did that person really just tell me not to worry my pretty little head about doing my own install?"

Alsoalso, it puts the recipient of the "advice" into the social position of having to reject the gift of time/effort they received from the answerer, and tell the answerer "actually, no, you're wrong; you've answered the wrong question." There is literally no way for the question asker to persist without rejecting the help-offering of the answerer. I'm enough of an asshole to do that; is your average DW developer? Frankly, that's pretty egregiously against most women's socialization.

(BTW, this whole topic is a sore spot right now because I'm trying to deal with a Mailman list migration, and the internet is well salted with "How do I move a list to a different server-Mailman installation" articles NONE of which is about how to move a list an all of which are about how to move THE ENTIRE SERVER.

Which brings me to the other point: how sure can you be that the question you think you're being asked is as prevalent as you think it is? In the case of Mailman, the developers are apparently all sure that the vast majority of Mailman users, like them, run whole servers. In reality, there are literal millions of customers of shared web hosting accounts with cpanel, which comes with Mailman access now. None of whom can use the whole-server migration method, since they're not root and merely share the server with other list owners. I'm pretty sure there's vastly more people who need to move individual lists than there are people who need to move whole servers, but apparently those questions never make it back to the developers. Presumably because it doesn't occur to the users to track down the developers and petition for assistance, at the same rate that sysadmins do. Holy biased sampling method, Batman!)
siderea: (Default)

[personal profile] siderea 2013-01-12 01:12 am (UTC)(link)
Faint praise, that.
ravan: by Ravan (Default)

[personal profile] ravan 2013-01-12 02:20 am (UTC)(link)
Really? I actually installed the code, sorta, even got it up and running, except for a few bits, and then got talked down and lectured in a social context by people who made assumptions about me and what I knew about someone else. I went away, which was their apparent intent.
vlion: cut of the flammarion woodcut, colored (Default)

[personal profile] vlion 2013-01-11 03:00 pm (UTC)(link)
This too I have seen.

I idle frequently in #lisp and a great deal of questions go on there that are... shall I say... ill informed. At which point about 3/4 or so of the active members jump on the person and tell them the Right way. This is partially because the members of #lisp are experienced, partially because they are often crotchety, and partially because, well, Lisp is very socially codified in certain respects.

But the question still goes unanswered, and often, when you are doing development, you have a complex set of requirements and foolishnesses causing those that make the setup so wrong... but you need to sort it out within the foolishness, and having the guardians of Order tell you its foolishness doesn't help.
siderea: (Default)

[personal profile] siderea 2013-01-11 11:02 pm (UTC)(link)
often, when you are doing development, you have a complex set of requirements and foolishnesses causing those that make the setup so wrong... but you need to sort it out within the foolishness, and having the guardians of Order tell you its foolishness doesn't help.

Oh god, this. I once asked a question, "How do you do this in PHP" and got back an answer, "Why are you doing that in PHP? perl would be so much nicer, blah blah blah sales job sales job sales job." To which the answer was, "BECAUSE THE CLIENT IS PAYING FOR IT TO BE IN PHP, OKAY?"
amberfox: picture from the Order of Hermes tradition book for Mage: The Awakening, subgroup House Shaea (Default)

[personal profile] amberfox 2013-01-11 11:47 pm (UTC)(link)
That's a very good reason. ^_^
siderea: (Default)

[personal profile] siderea 2013-01-11 11:57 pm (UTC)(link)
I thought so. :)
silverflight8: bee on rose  (house of bit)

[personal profile] silverflight8 2013-01-11 05:30 pm (UTC)(link)
I quote my history teacher: "ANSWER THE QUESTION ASKED."
silveradept: A kodama with a trombone. The trombone is playing music, even though it is held in a rest position (Default)

[personal profile] silveradept 2013-01-11 09:34 pm (UTC)(link)
This is a story that would be told in my professional circles as a warning to always make sure you're answering the right question before going to the answer. We'd get told to reflect a question back asking for more information, especially if the thing they want to do is very hard. (Happens all the time with us - "I want to do X." "X? As in, will take six steps and some money X?" "No, X, like Y and Zed." "Oh, you want X'.")

Not everyone gets that kind of training, though, and I knew I've done my share of answering the question asked, only to find it's not the question someone wants answered.
silveradept: A kodama with a trombone. The trombone is playing music, even though it is held in a rest position (Default)

[personal profile] silveradept 2013-01-12 02:58 pm (UTC)(link)
Ah, so there was progress and learning all around, which is the best aftermath one can get from incidents like these.
mmegaera: (Default)

[personal profile] mmegaera 2013-01-12 12:45 am (UTC)(link)
Speaking as a former librarian, part of library school is learning how to conduct what's called a "reference interview." The result of said interview is finding out what the patron really wants and getting it to them. I'm not surprised that non-librarians don't understand that there's an art to doing it without being condescending and/or frustrating to said patron [wry g]. And, boy, does knowing how to perform that art generate a lot of happy patrons.

Also, this forcibly reminds me of "how do I do this particular Thing with this particular OS/software/hardware" questions that inevitably generate about twice as many "you need to change OS/software/hardware" "answers" as actual helpful ones (and 99% of the time, there really is a solution). The thing is, if I'd wanted to know how to spend the endless amounts of money these folks seem to think I have, I wouldn't be asking them how to spend it [sigh]. I do understand that sometimes you can't get from point A to point B with the car you have, but just tell me that if that's the case, 'kay?