As a reader of my articles, I assume you’re developers, and none of us know everything. We all run into problems sometimes. These might be bugs in software or bugs in our code. When this happens, we often ask for help. But there’s a skill to asking for help the right way.
There’s a way to ask questions that helps you get good answers. For a long time, I’ve wanted to have something I could share with my students and others who ask me questions. I wanted to give them tips on how to ask really good questions. I’ve put this off many times because I didn’t want anyone to think I was responding to just one person’s question.
I’ve been working on this for a while, and I’m finally sharing it now. This isn’t aimed at any one person. I plan to update this over time, so I’d love to hear your ideas. If you have suggestions, please leave a comment at the bottom of this article.
Make It Easy for Others to Help You
The most important thing to remember is this: make it easy for someone else to help you. When you post a question online (like on Stack Overflow or GitHub) or send an email asking for help, remember: people are giving their free time to help you.
The harder it is for someone to understand your question, the less likely they are to help you. When you ask for help, think:

John Doe
Silhouette Vice President - Acme Inc.
Things You Should Do
Search Before You Ask
Before asking a new question, search to see if someone already asked the same thing.
Yes, I mean starting with Google first and maybe following it up with ChatGPT. ChatGPT, and similar AI tools, can help, but if you’ve had the same experience as me, you can’t trust the code you get back. It might push you in the right direction, but it also might give you a completely made up solution using methods or APIs that don’t exist… even when you tell it to not get creative or hallucinate!
When your Google-fu or ChatGPT-fu fail you, posting a question in a forum is your next best option.
Most forums and websites have a search box. Try different keywords related to your problem. This saves everyone time and might get you an answer right away!
Write a Clear Title
Create a title that clearly describes your problem. A good title helps the right people find your question. Instead of “Help! Code not working!” try something like “JavaScript form validation error when submitting empty fields.”
Summarize Your Problem Quickly
First, summarize your problem in one or two sentences. When people read questions, they want to quickly see if they can help. Make it easy for them to scan your problem and decide if they have the knowledge to help you.
Show What You’ve Already Tried
Explain what you’ve done to try to solve the problem yourself. Nobody wants to help someone who seems lazy and hasn’t tried to figure things out on their own before asking.
Give Plenty of Context
Share information about:
- What platform you’re using (Windows, Mac, etc.)
- What version of software you’re using
- What tools or libraries you’re working with
- Where you’re running your code (cloud or local computer)
The more details you share about what you’re using and what problem you’re having, the easier it will be for someone to help you.
In fact, err on the side of sharing too much context.
Format Your Code Properly
Make your code easy to read:
- Use proper formatting
- If you mention code in a sentence, use backticks (`) around it
- For blocks of code, use three backticks (```) at the start and end
- Specify the language (like JavaScript, TypeScript, or JSON) after the first three backticks
Consider the following examples from my How To Configure TTK Projects for GCC Development & Testing article:

Bad Use of Unformatted Code
Lack of code formatting makes it unclear what someone should do

Good Use of Unformatted Code
Notice how much easier it is to consume this vs. the previous example
The second option is so much easier to read and consume. You can tell what’s code both inline & in the code block. Most forums support code formatting. Here’s what the raw content looks like that generated the good example above:

Formatting Code (Raw View)
This makes your code easier to read, with color highlighting that makes it look like code in a text editor.
If you’re using a forum that doesn’t support code formatting, as a last resort, create a public gist & share a link to it, like this one: gist.github.com/andrewconnell/769f649….
You get built-in code formatting!
Sometimes you can even embed the gist, like I can on this site, like this:
Include Helpful Screenshots
Add screenshots that show the important parts of your problem. Don’t take pictures of your entire screen, but also don’t zoom in too much.
For example, consider this screenshot from the SharePoint documentation:

Bad Screenshot Example
In this example above, there’s a lot of negative space that adds zero value to the image. Plus, you can’t read any of the text in the image!
Consider the following screenshot of the exact same page. I’ve resized my browser to only include the relevant things, and called out specific areas:

Good Screenshot Example
Notice how every pixel is used? Sure, some of the text is hard to read, but this screenshot is much easier to consume than the first example.
Remember: show enough context to help people understand what’s happening.
Include a Brief Video Screencast of the Issue
There are so many ways to record your screen and share it for free. My favorite is Loom. While there are paid plans, you can record a video less than 5 minutes long for free.
Use Tags When Available
Many forums let you add tags to your question. Tags help sort your question into the right category so experts in that area can find it. If you’re asking about React, add a React tag. If it’s about Python, add a Python tag.
Not all forums support tags, like Reddit or GitHub. But others like Stack Overflow do. If you can use tags, use them.
Provide a Way to Reproduce the Problem
If possible, create a sample project that shows your problem. Remove any private information and post it to GitHub with a link. This makes it much easier for others to see exactly what’s happening.
Follow Up After Getting Help
When someone helps you:
- Let them know if their solution worked
- Say thank you
- If a forum allows it, mark the answer as correct or helpful
- Share what finally fixed your problem if you found a different solution
This helps others who might have the same problem later.
Things You Should Not Do
Just like there are things should do, there are plenty of things you should NOT do. Some of these are repeats from the above, but I want to make sure they’re clear.
Don’t Skip Searching First
Don’t ask a question without searching to see if it’s been answered before. This wastes everyone’s time, including yours!
Don’t Use Vague Titles
Don’t use titles like “Help me please!” or “Urgent issue!” These don’t tell people what your problem is about.
Don’t Take Photos With Your Phone
Don’t take pictures of your computer screen with your phone. These pictures are hard to read.
Instead, take a proper screenshot or screencast using your computer.
Don’t Post Unformatted Code
Unformatted code is very hard to read. It’s difficult to see spacing and it’s hard to tell where your code ends and your question begins.
Don’t Post Questions With No Context
Never post a question without explaining the situation. Without context, the first things people will ask are “What version are you using?” or “What platform are you on?”
For example, I once saw a question where someone had code that worked on their computer but not in production. The reason? They were using Windows locally, but their online system used Linux. Linux is “case sensitive,” which means it treats uppercase and lowercase letters differently, while Windows doesn’t.
Don’t Skip Trying to Solve It Yourself
The most important thing: don’t post a question without trying to figure it out yourself first. This really annoys people who might help you. Always explain what you’ve already tried and why it didn’t work.
Don’t Disappear After Getting Help
Don’t just take an answer and run. If someone helps you, let them know if it worked. This helps build a helpful community.
Question Quality Checklist
Before posting your question, check if you’ve done these things:
- I searched to see if my question was already answered
- My title clearly describes my specific problem
- I explained my problem clearly and briefly
- I shared what I’ve already tried
- I included my platform, software versions, and other important details
- My code is properly formatted and easy to read
- I included helpful screenshots (if needed)
- I made it as easy as possible for someone to help me
- I removed any private or company information
- I’m ready to respond to questions and follow up
What Do You Think?
What else do you think developers should include in their questions to get better help from the community?

Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.
Andrew Connell is a full stack developer who focuses on Microsoft Azure & Microsoft 365. He’s a 20+ year recipient of Microsoft’s MVP award and has helped thousands of developers through the various courses he’s authored & taught. Whether it’s an introduction to the entire ecosystem, or a deep dive into a specific software, his resources, tools, and support help web developers become experts in the Microsoft 365 ecosystem, so they can become irreplaceable in their organization.