8-Week Microsoft Teams AppDev Accelerator Program
Limited seats available! - Start date: Wednesday, April 16, 2025
Join Today & Save $1,000
articles

Developers - How to Ask Good Questions When You Need Help

Learn how to ask better questions and get better answers. Tips for developers on crafting effective questions when seeking help from the community.

Developers - How to Ask Good Questions When You Need Help
by Andrew Connell

Last updated April 14, 2025
8 minutes read

Share this

Focus Mode

  • Make It Easy for Others to Help You
  • Things You Should Do
  • Things You Should Not Do
  • Question Quality Checklist
  • What Do You Think?
  • Feedback & questions

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:

How can I make it easier for them to help me?
John Doe

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

Bad Use of Unformatted Code

Lack of code formatting makes it unclear what someone should do

Good Use of Unformatted Code

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)

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

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

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?

Andrew Connell, Microsoft MVP, Full-Stack Developer & Chief Course Artisan - Voitanos LLC.
author
Andrew Connell

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.

Feedback & Questions

newsletter

Join 10,000+ developers for news & insights

No clickbait · 100% free · Unsubscribe anytime.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!
    blurry dot in brand primary color
    found this article helpful?

    You'll love these!

    SharePoint Framework CI/CD with GitHub Actions & No Creds!

    SharePoint Framework CI/CD with GitHub Actions & No Creds!

    April 1, 2025

    Read now

    Microsoft 365 Dev Tenants: A Paid Model Could Save Them

    Microsoft 365 Dev Tenants: A Paid Model Could Save Them

    March 3, 2025

    Read now

    bi-weekly newsletter

    Join 10,000+ Microsoft 365 full-stack web developers for news, insights & resources. 100% free.

    Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 ecosystem!

    No clickbait · 100% free · Unsubscribe anytime.

      Subscribe to Andrew's newsletter for insights & stay on top of the latest news in the Microsoft 365 Space!