How to ask for help
Tags: tutorial, beginners, help
Published: 2022-07-17 09:09:25

*This blog was originally published on [blog.dhravya.dev](https://blog.dhravya.dev)*

Every couple of days, a beginner comes to our programming server, [The Coding horizon](https://discord.io/code), and asks for help - That's perfectly OK! Asking for help is natural and is almost necessary for learning. However, you need to HELP OTHERS to help you.

So here's some points to keep in mind, I'll try to keep it short and simple. You might like my blog about [Learning to code, for beginners](https://blog.dhravya.dev/learning-to-code) if you enjoyed this one.

## What not to do

Let's start off with some things that you absolutely should not do.

### Asking people to join a voice call

Many people don't know how to frame their questions very well, so they ask others to join a voice call. Please keep in mind that people that are willing to help you have a life, and they might not be in the situation to join a voice call, or even if they are, they might not be comfortable to - which is mostly the case. 

[Framing your questions correctly is all you need to do](#framing-your-questions-correctly)

![Here's an example from my discord server](https://us-east-1.tixte.net/uploads/img.dhravya.dev/l5ovhf7tm0a.png)

### "My code doesn't work"

Never ask for help with "just doesn't work". It doesn't help anyone in this situation - elaborate on what exactly doesn't work and why it's not working.
![Doesn't work](https://us-east-1.tixte.net/uploads/img.dhravya.dev/1i106.png)

### Pinging random people, giving bribes, and other things

> Leaving the server because you didn't get help immidiately

This is kinda insane - People join a server, ask for help - don't frame their questions properly and then (since no one understood the question in the first place), they leave the server.

Joining a server just to ask for help isn't a problem here - even I did it as a beginner, and that's how I found amazing people and amazing discord servers. The problem is, leaving the server just because no one knew the answer to your question.

Ok, let's get to bribes - just yesterday, this happened, this checks out all points of what not to do so far-

As you can see they also pinged a random person without any context.

![Person asking for help while giving bribe and pinging random people](https://us-east-1.tixte.net/uploads/img.dhravya.dev/l5ovsf9o40a.png)

Shortly after asking this, they left the server, and I didn't get the chance to help them.

What to do instead:
- Don't bribe lol
- [Frame your question correctly](#framing-your-questions-correctly)

### Sending screenshots of your code
> Or worse - sending photos of your laptop screen using your phone...

This happens an awful lot - and it really makes it difficult to get help. Some people just send screenshots, without any context as to what is going on, what's the issue, and what they have tried (More on that later).

![Asking for help with screenshots of code](https://us-east-1.tixte.net/uploads/img.dhravya.dev/l5ow38tnc0a.png)

What to do instead:
- JUST COPY PASTE `CTRL + C` and `CTRL + V`

Make sure the code is properly embed, inside triple back ticks (code block)
![How to embed properly](https://us-east-1.tixte.net/uploads/img.dhravya.dev/1k108.gif)

## What you SHOULD do

### Google before asking 

There's a good chance that the problem you're having has already been solved by someone on the internet, you should try to google it first.

### Don't ask to ask, just ask

Ditch the "Can someone please help me" - Get to the point, ask your question right away.

Read: [Don't ask to ask](https://dontasktoask.com).

### Frame your questions correctly <a id="framing-your-questions-correctly"></a>

Ok this is very important - Framing your questions correctly will make it easier for others to understand your question, and you'll be much more likely to get an answer.

Here's how to do it.

So every question should have these points:
- Language/Framework/Library you're using 
- What you're trying to achieve
- A brief description of the problem
- A relevant code snippet
- In case of a visual problem, a screenshot of the problem (For example, web development-related questions)
- Stack trace, if any
- Solutions you have already tried

So here's sort of a template you can use for your questions:

```
Hey there, I need some help with a <language/framework/library/tool> problem.

I'm trying to <what you're trying to achieve>. But, <A brief description of the problem>.

Here's my code:

<Proper, embedded code :embed using triple back ticks, 
```<language>
your code```
upload to pastebin if it's too long>

I've added the screenshots <attach the screenshot>

Here's the error I'm getting:
```<Error/Stack trace embedded inside triple back ticks>```

I've already tried the following solutions:
<Solutions you have already tried>

```

I can almost guarantee that you will get help from someone if you ask in such a format.

### Be respectful even if you don't get help.

Sometimes, even after all this, your question might be ignored - or maybe no one could help you. That's fine! Please be respectful, even if you don't get help. Don't leave the server, or community, don't be rude.


## TL;DR 

Here's a TL;DR of how to ask for help.
- "Code doesn't work" - Elaborate
- "Can someone please help me" - Get to the point
- Don't ask people to join a voice call, don't ping random people without context, don't give bribes
- Don't send screenshots of your code - Just copy paste `CTRL + C` and `CTRL + V`
- Google before asking
- Frame your questions correctly
- Be respectful (even if you don't get help)


That's it for today! I hope I provided some value with this blog. I've not been writing since like a month - I'll try to be more consistent again.