Learn to ask for help
Tags: webdev, help, learning, programming
Published: 2024-04-20 17:44:10

Before, I wrote about [Learning by Helping Others](https://dev.to/noriller/learn-by-helping-others-54m4), today I’ll address the other way around: how to ask for help (with tech problems).

You might have seen it before, but I use and will quote a lot from *[StackOverflow: How do I ask a good question?](https://stackoverflow.com/help/how-to-ask)*

So you have some problem you’re stuck with. Something doesn’t work as expected and you have no idea what to do.

Before looking for jobs as a carpenter or as a farmer… you would probably copy and paste the error you’re getting into Google, check the first few results, and most likely find a solution.

## But before anything else… AI

Like it or not, AI is here to stay and, if anything, you should make use of it.

Depending on what you’re having a problem with, I had great results simply copying and pasting the whole question I got from Discord and waiting for the response. Granted, I have enough experience to discern out of all the “nicety” a GPT usually spells out what is more or less likely to help and I usually check out the sources (usually a StackOverflow question or some article) they show for more context on the problems/solutions (little SO tip: skip to the answer first, maybe later check the actual question).

### Getting AI to help you

Considering how well it’s working nowadays… you can just say whatever the problem is as if you were speaking to someone.

Do remember that it doesn’t have any idea what you’re doing, so be sure to say the language, framework, and the exact error you’re getting, maybe giving a snippet of code, and for some GPTs, you can even paste a screenshot.

Then wait and check what they say. Personally, sometimes it’s faster to check some of the sources while it’s still “writing” the response. The sources being used are more times than not spot on the problem, sometimes finding better than if I had to find out *how to ask* Google the same thing.

### Which ones to use?

First, yes, never settle for only one. It can end or just get some [season blues](https://www.firstpost.com/tech/mental-health-issues-in-ai-chatgpt-suffering-from-seasonal-depression-getting-lazier-13499522.html) or be in maintenance or with some problem, not to mention, that some GPTs are better than others at some things.

Today I use:

- https://chat.openai.com/
- https://gemini.google.com/
- https://copilot.microsoft.com/

My “to go” for random stuff (even more than Google)

- https://perplexity.ai/

My “to go” for Code problems:

- https://www.phind.com/ (browser/VSCode, in VSCode you can easily provide context)
- https://codeium.com/ (VSCode, code completion aside, they have a chat mode with your context available)

I am, unfortunately, not getting paid to say this... Also, others you might find interesting to use are Claude, Mistral, and Poe, and if anything else fails… [there’s an AI for that](https://theresanaiforthat.com/).

## AI couldn’t help me there…

You searched the internet, you asked for help from GPT and you didn’t manage to solve it.

Time for the big guns: ask someone for help.

### If you don’t care, why should anyone?

If you don’t show the minimum care in making the question, why should anyone care about answering you?

If you take a minute or five more to craft a better question, you’ll get a better answer and help a lot sooner than if you just throw some “HELP don’t work!” or “Anyone knows about this to help me something I’ll only tell later?”.

### Just ask the question!

Please don’t come with “anyone knows about this thing?”.

Not knowing the problem, people will skip it because “what if I don’t know about that one thing after giving a ‘hey, what is it’?”

If you just ask what you need, not only do you get the answer sooner (”help”, “hey”, “so…”, “just do…” VS “question”, “answer”) but someone that would never try to answer otherwise might because it was a problem they just had.

### Tell us why it’s not the first few links on Google

If there's an error I can copy/search, people trying to help you will do so.

When I say that most time it’s the most obvious answer, it usually is because people don’t even google the error they are getting before posting a question.

But since you’re smarter than others, you already did that and it didn’t work. So, you put in your question what you’ve tried and what happened when you tried the most obvious solutions.

### About photos and markdown

Usually helping people on Discord has led me to see a trend of people that take a photo from their screen, not only that but often from far away (to show the whole screen), blurry (more common than you imagine), and even tilted (to show that one long line from “closer”).

Don’t. Just don’t. 

While you can paste a screenshot (because I can think of only a few niche questions that might, perhaps, need an actual photo), always copy and paste code and error codes.

This makes it easier for people to copy and paste them (like, in Google). Not only that, learn your markdown! StackOverflow, Discord, and others accept code blocks (usually between fences of triple ` backticks and with a language to have some code highlighting)

As programmers, we understand code and read code every day. While “old timers” might be okay with a block of text with everything in the same color, syntax highlight will make it far easier for most people to understand your code.

Not only that, images suck in some places, making it hard to read and in turn, help you.

And of course, it makes it easier for those who help to copy in their IDE, play with the code, and find out a solution, which leads to…

### The easier you make it for people, the faster and better the response

In the realm of JS/TS, there are a lot of ways to create a reproducible slice of what you’re having a problem with.

For example, with StackBlitz you can have a full IDE running in a browser with only what you need to reproduce the problem. With that, anyone can check and play around until fixes the problem.

Not only that but often when you manage to isolate the problem and reproduce it, then you can end up finding what exactly the problem is and fix yourself (happens a lot!).

However… please don’t just give people your whole application GitHub link with some vague instructions. Again, if you don’t care enough to make people’s lives easier when helping you… then why would they care about helping you?

## Someone helped you, now what?

Thank them. And if it was something else or something a little different, put that there. Then, if possible, mark it as “Solved”.

And, please oh please… don’t delete your question! So many times I see afterward a “nvm” with a deleted question that had answers.

This is a douche move even if you figured it all out by yourself. Someone might stumble on the same problem and will see… nothing. Maybe only the exact question they have… but the actual question is deleted and some vague comment about having fixed it themselves.

Please do share and not greedily just take and then close the door behind you. Even if it was “a stupid question”, if someone helped you, then leave it there because I’m certain someone else will have the same problem and question.