Upgrade to Pro — share decks privately, control downloads, hide ads and more …

I Am Bad At Things

I Am Bad At Things

Presented at PyCon AU 2026 in Brisbane, QLD

Avatar for Noah Kantrowitz

Noah Kantrowitz

August 29, 2026

More Decks by Noah Kantrowitz

Other Decks in Technology

Transcript

  1. Noah Kantrowitz • • • • • He/him coderanger.net |

    cloudisland.nz/@coderanger Kubernetes and Python SRE/Platform for Geomagical Labs, part of IKEA We do CV/AR for the home PyCon AU 2026 – Noah Kantrowitz – @[email protected] 2
  2. I Am A Squishy Human I have made mistakes before

    I will make mistakes again This is okay This must be okay PyCon AU 2026 – Noah Kantrowitz – @[email protected] 3
  3. Processes Assume Failure Be more than the sum of our

    parts This is not (just) about "AI" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 5
  4. 1. How Do We Fail? 2. Where Can We Improve?

    3. What Is The Human Cost? PyCon AU 2026 – Noah Kantrowitz – @[email protected] 6
  5. Confirmation Bias Selective perception Seeing what we want to see

    The magic seven words "You are already doing the right thing" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 8
  6. Confirmation Bias I am good at this People who are

    good at this do the right thing I must be doing the right thing PyCon AU 2026 – Noah Kantrowitz – @[email protected] 9
  7. Confirmation Bias Authority Bias "Well the senior engineer said to"

    "It's standard practice" Social Cohesion and Conformity "I don't want to be one of those reviewers" "We can always fix it later" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 10
  8. Repetition Blindness "I have to go to the the store

    every evening" x += 1 x += 2 x =+ 3 PyCon AU 2026 – Noah Kantrowitz – @[email protected] 13
  9. Checklist Culture Plan your dive and dive your plan Thinking

    when not in the moment Following when stressed PyCon AU 2026 – Noah Kantrowitz – @[email protected] 16
  10. 4 Signs You May Need A Checklist 1. Frequent tasks

    2. Repetitive tasks 3. High stress, usually time sensitive 4. High impact of errors PyCon AU 2026 – Noah Kantrowitz – @[email protected] 18
  11. Patch Coverage It's great, use it Try Codecov if you

    can self-host PyCon AU 2026 – Noah Kantrowitz – @[email protected] 26
  12. "You didn't write enough tests" "This line is important and

    isn't covered" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 27
  13. A QA Engineer Walks Into A Bar They order a

    drink They order -1 They order None They order "one" They order [1, 2, 3] PyCon AU 2026 – Noah Kantrowitz – @[email protected] 29
  14. Stylistic Consistency You can have any color as long as

    it's Black PyCon AU 2026 – Noah Kantrowitz – @[email protected] 30
  15. Add Your Own [project.entry-points."flake8.extension"] X = "flake8_example:ExamplePlugin" Have opinions! CharField(null=True,

    blank=True) # vs. CharField(blank=True, null=True) PyCon AU 2026 – Noah Kantrowitz – @[email protected] 32
  16. Code Review We do still need humans Authors count too

    AI will not save you PyCon AU 2026 – Noah Kantrowitz – @[email protected] 33
  17. Kinds of Review "Flight attendants please arm doors and cross-check"

    "Does this SQL query look correct before I run it?" "What does rm -rf * mean?" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 34
  18. What Is Code Review For? Reducing defects Team training Architecture

    consensus Specialist consultation PyCon AU 2026 – Noah Kantrowitz – @[email protected] 35
  19. What's Wrong With Code Review? Easy to miss things Time

    consuming Tiring PyCon AU 2026 – Noah Kantrowitz – @[email protected] 36
  20. Micro vs Macro Review • • Micro - Looking for

    self-contained problems • "You used the wrong variable name" • "This library isn't thread safe" • "We have a utility function for this already" Macro - Looking at overall structure • "How does this handle authentication?" • "What will the performance of this look like under load?" • "This doesn't match our usual pattern for this kind of API" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 37
  21. Macro Review Doesn't Work 1. Read the diff, mostly focusing

    on "vibes" as you go 2. Use the diff to reconstruct the mental state of the author 3. Imagine what your mental state would be when doing the same work 4. Compare that extrapolated mental state to your assumptions 5. If there are mismatches, highlight them for further reading PyCon AU 2026 – Noah Kantrowitz – @[email protected] 39
  22. Aside: AI Code Review Humans have "non-local consistency" Machines do

    not have a "mental" Or any states thereof PyCon AU 2026 – Noah Kantrowitz – @[email protected] 41
  23. You Should Do It Anyway Again: lots of side benefits

    Cross-training, education, discussion Rubber ducks can still find bugs Just don't assume you'll find all the problems PyCon AU 2026 – Noah Kantrowitz – @[email protected] 42
  24. "These new tools are fine because we'll just notice if

    they do the wrong thing" PyCon AU 2026 – Noah Kantrowitz – @[email protected] 43
  25. I Am Not A Mental Health Expert Hitting the Wall

    and How to Get Up Again Tackling Burnout and Strategies for Self Care Jackson Fairchild – PyCon AU 2016 PyCon AU 2026 – Noah Kantrowitz – @[email protected] 45
  26. Cognitive Load Humans have a RAM limit Or spell slots

    if you are a D&D fan PyCon AU 2026 – Noah Kantrowitz – @[email protected] 46
  27. Examples of Loops Did we validate every TLS cert Are

    all function names consistent Have I forgotten any code reviews PyCon AU 2026 – Noah Kantrowitz – @[email protected] 47
  28. Cognitive Offload Shift to machines Shift to AI (if it

    actually helps) Shift to colleagues PyCon AU 2026 – Noah Kantrowitz – @[email protected] 48
  29. Fixing Things • • • • • • Understand common

    cognitive biases Supplement human decision making with checklists Look for objective, deterministic guardrails Build review processes that assume failures Cognitive offload, but use your powers only for good Fix processes, not people PyCon AU 2026 – Noah Kantrowitz – @[email protected] 49
  30. • • Building resilient systems • Gesture in the direction

    of technical resilience but not this talk • Human resilience, building systems that can survive human fallibility • Also not a talk about blue team, malicious humans are a different kind of threat • We all make mistakes, how can we build systems which are better than any one us individually • Sections: • How we fail • Where can we improve • What is the human cost Ways humans are fallible • Confirmation bias • Selective perception PyCon AU 2026 – Noah Kantrowitz – @[email protected] 52