Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
The Scientific Method of Troubleshooting
Search
Blithe Rocher
August 11, 2015
Programming
250
1
Share
The Scientific Method of Troubleshooting
This version of the talk was presented at New Relic on August 10, 2015.
Blithe Rocher
August 11, 2015
More Decks by Blithe Rocher
See All by Blithe Rocher
Microservices War Stories
blithe
1
220
The Scientific Method of Troubleshooting
blithe
2
710
The Scientific Method of Troubleshooting
blithe
0
150
Other Decks in Programming
See All in Programming
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
210
運転動画を検索可能にする〜Cosmos-Embed1とDatabricks Vector Searchで〜/cosmos-embed1-databricks-vector-search
studio_graph
3
960
書き換えて学ぶTemporal #fukts
pirosikick
2
380
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
420
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
1
200
新規プロダクトを高速で生み出すハーネスエンジニアリング
seanchas116
3
200
ふにゃっとしない名前の付け方 〜哲学で茹で上げる、コシのあるソフトウェア設計〜
shimomura
0
120
なぜあなたのコードには「コシ」がないのか?〜AI時代に問う、最後まで美味しい設計と戦略〜 #phpconkagawa / phpconkagawa2026
shogogg
0
210
inferと仲良くなる10分間
ryokatsuse
0
100
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
0
230
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
1
150
Back to the roots of date
jinroq
0
890
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
How GitHub (no longer) Works
holman
316
150k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
700
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Designing for Performance
lara
611
70k
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Transcript
The Scientific Method of Troubleshooting
@blithe
None
Scientist
PhD in Physical Chemistry
Physics
Chemistry
6 Years!
Experiments
Scientific Method
Developer < >
StackOverflow
Problem solved?
Learn anything?
Most Important Part
Scientific Method
Set of Techniques For Acquiring Knowledge
Methodical
Systematic
“Has anyone seen string interpolation fail?”
Define the Problem 2 3 4 5 6 7 1
Expected behavior?
Expected behavior? Actual behavior?
Expected behavior? Actual behavior? Criteria for success?
Do Your Research 3 4 5 6 7 Define 2
Know your environment
Read the literature
Discussions
Make it fail!
Establish a Hypothesis 5 6 7 Define Research 4 3
Design the Experiment 6 7 Define Research Hypothesis 5 4
Divide and conquer!
Limit the variables
Try something weird
None
Hierarchy of Blame
Gather Data 6 7 Define Research Hypothesis Experiment 5
Current status?
Read the error message!
Analyze Your Results 7 Define Research Data Hypothesis Experiment 6
Problem solved? Learn anything?
Understand the Why
Future Experiments
Embrace the Success
Keep a Good Lab Notebook Define Research Data Hypothesis Experiment
Analyze 7
None
You won’t remember
Logs aren’t enough
Commit Messages
Update the Docs
Contribute
None
Share the Knowledge
Questions? Thanks! @blithe