Some Approaches to Solving Problems

P99 CONF 2023 technical conference took place in October. It had engineers from Netflix, Google, Meta, Twitter, TikTok, Uber + more share 50+ talks on topics like Rust, Go, Zig, distributed data systems, Kubernetes, edge, and AI/ML. The full library of P99 CONF tech talks and decks is now available.


Notes from the talk "How to Improve Your Ability to Solve Complex Performance Problems" by Kerry Osborne, Google Database Black Belt Team Lead. 

The talk covers:
  • Characteristics of Good Problem Solvers
  • Basics of How Our Brains Work
  • Some Approaches to Solving Problems

What makes a good problem solver?

  • Smart
  • Hard Worker
  • Technical Background
    • It Takes Years to Acquire
    • Learning How to Learn is an Important Part 
      • Breaking Things (in Test) is a Great Way to Learn
    • The Harder You Work the Faster You Progress
    • Fundamentals are Important
    • Diversified Background is Extremely Helpful
  • Communication Skills - Doesn't matter if you're the smartest guy in the room if you can't convince other people.
-All important, but none guarantee success
  • Relaxed
  • Optimistic
  • Experienced Failures in the Past
Two Modes of Thought
  • Intuition
    • Automatic
    • Correct Most of the Time
    • In Control Most of the Time
    • Biases
    • Lazy - Substitution, WYSIATI
    • You Can't Really Turn It Off 
  • Analytical
    • Requires Effort*
Problem Characteristics
  • Complex
  • Multiple Solutions
  • Solutions Vary
  • Benefit
  • Cost
    • Monetary
    • Time to Implement
  • Risk
Basic Problem Solving Steps
1. Defining the Problem
2. Gathering Data - instrumentation is critical for identifying how to make computer systems run faster.
3. Postulating a Reason for the Problem
4. Listing Possible Solutions
5. Ordering the Possible Solutions
6. Attempting the Possible Solutions

Two Basic Approaches
Intuitive & Methodical
■ Both use the same basic steps
■ Vary in time spent on steps
■ Vary in order of steps

Hallmarks - Intuitive Approach
Jumps Ahead to Theorizing About Reason (Step 3)
Pluses and Minuses
- Often Misses Important Data (Step 2)
- Often Less Creative in Possible Solutions (Step 4)
+ Willingness to Quickly Abandon an Option
+ Flexibility to Re-order Options

Hallmarks - Methodical Approach
Mental Discipline to Postpone Theorizing (Step 3)
Pluses and Minuses
+ Problem More Well Defined (Step 1)
+ More Data Available (Step 2)
+ More Creative Solutions are Possible
- Takes More Time

3rd Option - Combined Approach
  • Jumps Quickly to Theorizing (Step 3)
  • Validates (or Eliminates) Usual Suspects
  • Falls Back to Methodical if Intuitive Doesn't Work
Combined or Recognition-Primed Decision making model (RPD) Usually Delivers Best Results - for reasonably experienced people

Methodical Approach Better Than Intuitive
  • More Creative Solutions
  • Generally in Less Time (overall)
  • Generates More Confidence
Intuitive Approach Alone Not Good
  • But Occasionally Can Be Fastest
- for very experienced people
- or if you're lucky

Comments

Popular posts from this blog

A Guide to Spec-Driven Development: Plan, Implement, and Validate

This Week I Learned - Week 16 2026

Uncle Bob vs. Grady Booch: Rethinking Code Reviews in the Age of AI