How to ask a question

One of the most important takeaways from this course is how to frame your requests to reduce back-and-forth with developers. In other words: how to ask useful questions.

Whether you're asking your classmates for help with your homework or requesting a bugfix from your team, it is always appreciated when you...

... help us help you.

Please try to include as much of the following information as possible when asking a question. This checklist serves two purposes:

  1. It helps you think through the problem thoroughly, which often is enough to figure it out on your own. Almost all programming bugs are a mismatch between what you think you're asking the computer do and what you're actually asking the computer to do.

  2. It gives us (or a team member) enough data upfront to make an educated guess about the problem and avoids a potentially time-consuming back-and-forth to gather all the relevant info.

The Question Checklist

  1. What project are you working on?

  2. What action are you taking? e.g. "visiting /photos/4"

  3. What behavior are you expecting?

  4. What behavior is happening instead?

    • a screenshot is worth a thousand words

    • an animated gif is worth a thousand screenshots

    • a detailed error message is worth a thousand gifs

      • Exception

      • Filename

      • Line number

      • Snippet of relevant code

      • Copy-paste the error message rather than screenshot it so that we can Google it easily

      • If you are Googling error messages yourself, try to cut out parts of it that might be unique to your project (e.g. the folder name). Keep it as short as possible while keeping it relevant for Google.

    • the server log for the request: what URL were you trying to access, which controller action processed it, what were the params?

    • Make the subject line of the question descriptive, not just the name of the project, so that other students who are browsing can easily identify it.