Cast As Wide a Net As Possible
X
with JavaScript, can someone help?If you're asking for help, try to avoid walling off people—leave your question open so that anyone feels like they're allowed to answer it. This is important for programming in particular because what might seem like a language-specific question might actually be something that any experienced programmer would know, regardless of language. By asking for a "JavaScript pro," you might be walling off a Python pro who knows the answer.
On a similar note, avoid DMing someone a question when you can just as easily reach them in a public place (e.g. a group chat or forum) that they frequently visit. That way, not only can they answer, but someone else could as well.
Be Upfront—Minimize Back-and-Forth
X
, Y
, and Z
with JavaScript. Here's what I've tried
so far and here's why it failed:
Add as much information as you can to your initial post when you ask a question. This will make it easier to answer because the answerer won't have to ask as many clarifying questions.
In general, when communicating over an asynchronous medium, people prefer answering questions on their own time over carving out a specific, contiguous block of time to help someone. Furthermore, a lot of the time, they'll only have a minute or two to answer questions before they return to some other task. They won't want to respond to a question with a lot of back-and-forth because they might not know when they'll next have a break where they can follow up. They don't want to leave you hanging!
"No Hello"
X
the other day and needed some help with...
Another tempting mistake is to start with a greeting like "Hi!" or "Hello" in your first message, but send your actual question in a second message. Your first message will key the other person in that you want to talk, but you might lose their attention while writing out your actual question, because they might switch back to what they were doing before you greeted them. It's best to combine both greeting and question into one message.
In this sense, you should think of your messages as if you were writing a letter to a pen pal, and not a live phone call. It wouldn't make sense to send a pen pal a single letter consisting of "hi!" and nothing else.
State Your Problem, Not Just Your Solution
Y
?Y
? I'm trying to use it to solve X
.If you have a problem and only ask about the way you intend to solve it, you lose the opportunity for others to suggest other, potentially better solutions.
This phenomenon is also know as the "XY Problem"—the phenomenon where someone wants to do
X
but (incorrectly) thinks they can solve it by doing Y
.
Stay in the Asynchronous Communication Channel (if Possible)
X
! Can someone join a voice call with me?X
! Voice call if possible but it's fine if you answer here.
If you are asking for help in an asynchronous medium, (one where people don't necessarily have to communicate in real time—e.g. email, a chat room, forums) then it's best to keep communication asynchronous. Trying to move communication to a synchronous, real-time medium (e.g. a voice/video call) will likely be a turn-off for potential answerers because it means they have to carve out a block of time where they are dedicated on answering your question. On the other hand, in an asynchronous medium, they are free to reply whenever they have spare time.
This isn't to say that synchronous communication is bad, nor is it bad to ask if you need synchronous communication to learn. Whether an answerer wants to join a voice call is their choice. The main issue is that fewer people will be willing to help you.
Not Everyone Knows What You Don't Know
X
!Y
.Remember that the people helping you likely won't know what aspects of the problem you're familiar with—and those you aren't familiar with. Thus, you'll often run into cases where you're told things you already know. While it might seem tempting to get defensive, remember that the person helping you isn't doing this to talk down to you—they just don't know what you already know, and would rather not confuse you (and thus waste your time) talking about things you would not yet understand. The best way to handle a situation like this is to redirect the conversation to what you don't know.
Avoid Being Secretive (if Possible)
X
?X
? I'm making it for PROJECT
which does Y
and
Z
.
In some cases, if you're getting help with a project, you might feel tempted to be secretive about it, perhaps to keep it as a surprise or to prevent others from taking your ideas. However, being secretive is also a big hindrance to fixing your project's issues you because it may result in XY Problems: By not revealing the underlying end goal of your project, you're not giving others the opportunity to present better ways of achieving it.
Being secretive also makes helping more difficult because in a secretive project, helpers are likely to lack crucial information, preventing them from making informed decisions.
Explain How You Solved Your Problem
X
in order to get it working.
If you asked a question in a public forum and later found the solution on your own, explain how you solved it so that other people with the same problem can solve it too if they find your question.
Helpers Are (Often) Volunteers
In the end, remember that, unless they're getting paid to help you, the people helping you are ultimately volunteering their own time to do so, and thus are under no obligation to keep helping you. Don't let this stop you from seeking help, however—because they're volunteering, they almost certainly want to help you either way, even if they are not required to.