-
Notifications
You must be signed in to change notification settings - Fork 0
How do I ask a good question?
Asking good questions is a skill. Happily, it's a skill that can be learned.
Natural language is often a bit ambiguous when describing bioinformatics, computing, or mathematical problems, so it can be useful to have a worked (or working) example available for the questioner and potential answerer to refer to. If you're seeing an error message it's quite likely someone else has seen your problem (or a similar one) before, so it can be helpful to have Googled (or similar) any messages to get the benefit of other people's experience.
The checklist below is not complete (and not all points may be relevant to you) but it's a starting point for making sure you have all the information you need to give the person helping you the best chance of being successful.
- Have you searched for answers to your question already?
- Search with the error message you receive, or with general terms about the problem you are having. If there is advice from elsewhere, share it with the person you're asking to help.
- Is your question specific?
- The best questions are ones that can be answered conclusively. For example, "I'm getting an error when I search with my protein." is not very specific and can be improved by including the details, e.g.
- What was your precise goal (both scientific and computational)?
- What are you using to do the search? (which software and what version? if a website, what's the URL)
- What command and/or parameters are you using with the search software?
- What protein sequence or file are you searching with?
- What database or file are you searching against?
- What error message is being produced (if any)?
- What result were you expecting, and what result is being returned (if any)?
- The best questions are ones that can be answered conclusively. For example, "I'm getting an error when I search with my protein." is not very specific and can be improved by including the details, e.g.
- Have you checked for typos?
- It might sound patronising, but so many apparent errors are typos. Using a dedicated code editor with syntax highlighting, and/or a terminal with similar highlighting, can help to identify these kinds of problems quickly.
- Do you have a minimal set of data that reproduces the problem
- We're all working with ever-larger datasets, and the person helping you will probably benefit from having an example to work with - but they may not have time to do the analysis on the huge multi-'omics dataset you're working with. If at all possible, identify a minimal dataset that reproduces your problem (and maybe a minimal dataset that doesn't have the same problem) to make it easier to diagnose your issue.
- Have you included examples of your code/command?
- It's important for the person helping you to see what you've asked the computer to do. This should be actual text in your question, not a screenshot, so that it's easier to reproduce the code/command.
- Have you recorded the attempts you've made to fix the problem yourself?
- It's likely you've already tried the obvious steps to fix your problem. It can save time for the person helping you if you can show them what you did and what the result was, so they don't need to go through the same processes unnecessarily.