It can be difficult to ask for help in the best way – especially if you aren’t sure what the problem is. In this post, I hope to give some basic pointers that will help others to help you quickly and efficiently so you can go back to coding from scratching your head.
The One Lone Coder community is all about helping and encouraging people to learn programming. It can be frustrating and disheartening to hit a snag that you just can’t resolve on your own, so we’re here to help you out!
To make it easier for you to get the help you need as quickly as possible, the following steps can be taken when asking your question:
1. Ask in the appropriate place
For the One Lone Coder Discord server, this is the #help-each-other channel. Other communities will have similar channels, forums, threads, etc, that are intended as a central place to ask for help. Ask your question there.
This ensures that your question is noticed, as in other, more general areas, your question can be lost among more casual conversations. It also means that if you get an answer, it too isn’t lost.
2. Don’t ask to ask, just ask
In a channel where help is expected, you don’t need to ask for permission; it’s implied. Instead, just ask your question following the rest of the points below, and someone will reply to you.
You also don’t need to ask if someone has a particular area of expertise, such as a specific language or library. Oftentimes a problem isn’t directly related to a language- or library-specific issue, and can be answered by someone who doesn’t necessarily know.
If it is a specific issue, still ask the question. Help channels tend to be more closely monitored for questions, so someone with the right expertise will be able to answer you once they see the it.
3. Describe the problem
“It doesn’t work” is never helpful. Instead, explain what you intend the program to do and what it’s actually doing.
If functionality doesn’t match, something like this is helpful:
When I call my function add(a, b) with paramater values of 4 and 5, I expect the result to be 9, but instead I’m getting 20.
If you get an error, then copy-paste the full error message, including any stack traces. This will help to identify exactly where the problem is happening.
4. Include relevant code
Including some code as part of your question is a given – it’s almost impossible to know what’s going on if we can’t see the code you’ve written. But much more important is to include relevant code.
If we follow the example above, you don’t need to poste in the entire class, only the add() function as a starting point. Similarly, if an error message includes a line number (pro-tip: they almost certainly always will), paste the function that line is in, or the scope of that line, for example: the if statement or while loop.
If more code is required, then people will ask for it if the initial scope doesn’t help. This is better than potentially flooding a channel or making someone dig through a massive file to identify where the problematic code is.
5. Explain what you’ve tried
If a problem is particularly tricky, chances are you’ve already tried some of the most common(-sense) approaches to resolving it. If you explain what you’ve tried and how they didn’t work, it means that anyone who tries to help won’t suggest them to you, saving both you and them time before reaching the real solution.
6. Engage with your ‘audience’
When someone offers to help, or provide a solution, be sure to acknowledge and thank them. It is useful to confirm that a given solution works, so that other people can reference it if they experience similar problems. Not only that, but politeness is king!
If it takes a little while to get a response, and you’re currently not in a position to chat about the problem, be sure to let the person know. That way, they can move on to helping other people until you’re ready.
It’s also important to maintain some of the points listed here; for example, if a proposed fix doesn’t work, be sure to include any relevant information about how it doesn’t workl error messages, functionality details, etc.
7. Be patient
As mentioned above, it may take a little time for someone to respond to your question. This is fine; a lot of people have jobs and families and simply cannot answer all questions immediately.
Don’t spam your question everywhere, or ask it every few minutes. Be patient, and someone will respond to you.
It’s also possible that in the process of trying to identify the problem, you will be asked a whole lot of questions. This is so that your problem can be fully understood and a proper solution worked out. Be patient with this and understand that the other person is taking time out of their day to help you – just like you, they wanna get a solution as quickly as possible!
These tips should ensure you have an easier time asking for help and will get the right answer as quickly as possible.
At One Lone Coder, we love to help, so feel free to visit us on our Discord server