When joining a new organization or project we’re often told “There are no bad questions - ask away!” and I fully endorse stoking your curiosity and connecting with others for help. I do believe that there are no bad questions but that there can be badly phrased questions. If you’ve ever had ...
When joining a new organization or project we’re often told “There are no bad questions - ask away!” and I fully endorse stoking your curiosity and connecting with others for help. I do believe that there are no bad questions but that there can be badly phrased questions. If you’ve ever had your questions go unanswered in online forums or are tired of hearing “it depends” time and time again this session is for you!
Between instant messaging platforms, mailing lists, social media accounts, wikis, repos, and meetups there are a lot of ways to connect and engage with an open source community/project and who you ask, when you ask, where and how can all affect the answers you get.
We will unpack what it takes to craft questions that get answered by reviewing several case studies of questions posed about OpenTelemetry across various channels. Finishing with a simple guide you can put into practice to master the art of asking to get answers.
Size: 8.39 MB
Language: en
Added: Aug 02, 2024
Slides: 50 pages
Slide Content
@paigerduty
THE ART OF ASKING
Paige Cruz
@paigerduty
— YOUR ONBOARDING BUDDY (probably)
“There are no bad questions”
@paigerduty
@paigerduty
@paigerduty
@paigerduty
@paigerduty
@paigerduty
@paigerduty
@paigerduty
“There are low effort questions”
— me
@paigerduty
ELEMENTS OF BETTER QUESTIONS
●DUE DILIGENCE
●BACKGROUND CONTEXT
●CONSIDER THE CHANNEL
●RELEVANT DETAILS
●GIVE BACK
@paigerduty
DUE DILIGENCE
1
@paigerduty
Does the latest version of the
auto-instrumentation agent
include metrics?
@paigerduty
Spend 10-15m
researching the answer
yourself
DUE DILIGENCE
@paigerduty
CHOOSE YOUR SOURCES WISELY
@paigerduty
@paigerduty
SEARCH FIRST
●*official* project documentation
●*official* project repo - issues/bugs/PRs
●*official* project forum/wiki/mailing list
●search engine of your choice (!ChatGPT)
●instant messaging channel backscroll
@paigerduty
“We have a website, 100+ pages of documentation,
recordings of conference talks, and technical
documentation, all sent to the user as they join the
community.” - How I Ask Questions
@paigerduty
“It would have been different if they had asked me
something like:
‘I have been going through Meshery’s docs and been
trying it out locally. I’m unclear how Meshery adds value if
a person already uses a service mesh. Could you point me
to any docs where this is explained better?’”
- How I Ask Questions
@paigerduty
CONTEXT
2
@paigerduty
What is the best telemetry
pipeline for logs?
@paigerduty
PERSONAL CONTEXT
@paigerduty
ORGANIZATIONAL CONTEXT
@paigerduty
@paigerduty
PERSONAL & ORGANIZATIONAL CONTEXT
●What’s your level of experience in the domain?
●What don’t you understand?
●What scale is your system operating at?
●What are your organizational constraints?
@paigerduty
@paigerduty
CONSIDER
THE
CHANNEL
3
@paigerduty
Can someone help me figure
out why my data isn’t getting
to $VENDOR?
@paigerduty
SLACK IS NOT A KNOWLEDGE BASE
@paigerduty
CONSIDER THE CHANNEL
●Does this benefit from asking in IM?
●Is the question on-topic for the channel?
●Could this be an Issue or Bug Report?
@paigerduty
RELEVANT
DETAILS
4
@paigerduty
I’m trying to send metrics to
Prometheus & I set the scrape
endpoint correctly but no metrics
are sent...
Any help appreciated.
@paigerduty
RELEVANT
@paigerduty
RELEVANT
@paigerduty
RELEVANT
@paigerduty
RELEVANT DETAILS (TROUBLESHOOTING)
●The problem you are trying to solve
●What did you expect to happen? What happened
instead?
●Steps to reproduce
●OS, version, environment, etc.
●Code/config snippets that are minimal, complete,
and reproducible
@paigerduty
MINIMAL, COMPLETE, REPRODUCIBLE
●Minimal - restart from scratch and add in only what
is needed to see the problem with simple
variable/method names
●Complete - No screenshots of code, copy the actual
text!
●Reproducible - Can someone taking only what
you’ve provided in the question and run and verify
the issue?
@paigerduty
RELEVANT DETAILS (KNOWLEGE)
●What are you are seeking?
○Links to docs or learning resources
○Example code/config snippets
○Code change
●What do you already understand?
●What do you not understand?
@paigerduty
GIVE BACK
5
@paigerduty
xkcdxkcd
xkcd
@paigerduty
OPEN SOURCE IS POWERED BY VOLUNTEERS
@paigerduty
GIVING BACK
●Follow up with results of
research/troubleshooting in the thread
●Capture the learning in knowledge base for others
or add to the docs
●Answer similar questions in the future
@paigerduty
This means when you get an answer, and you are not
completely satisfied,
●say what you don’t understand.
●ask more clarifying questions.
●stop the speaker and ask more specific questions.
@paigerduty
PUTTING IT
ALL
TOGETHER
6
@paigerduty
@paigerduty
●DUE DILIGENCE
●BACKGROUND CONTEXT
●CONSIDER THE CHANNEL
●RELEVANT DETAILS
●GIVE BACK
@paigerduty
This means when you get an answer, and you are not
completely satisfied,
●say what you don’t understand.
●ask more clarifying questions.
●stop the speaker and ask more specific questions.
@paigerduty
RESOURCES
●How I Ask Questions as a Software Engineer - Navendu
Pottekkat
●How to ask good questions - Julia Evans
●Minimal, Complete, Reproducible - Stack Overflow
●Purdue ChatGPT study
●r/AdvancedKnitting posting guidelines
@paigerduty
CREDITS
●Presentation template from slidesgo.com
●Icons from Flaticon
●Images from freepik.com
@paigerduty
Please keep this slide for attribution
CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon, infographics & images by Freepik
!
Connect on socials at
Mastodon or LinkedIn
Personal blog at
https://www.paigerduty.com/
This slide deck (and my others) on
Slideshare
THANKS!