The Art of Asking - FOSSY 2024 - PDX - Paige Cruz

PaigeBernier 214 views 50 slides Aug 02, 2024
Slide 1
Slide 1 of 50
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50

About This Presentation

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 ...


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!
Tags