$30 off During Our Annual Pro Sale. View Details »

Everything Is Broken, and It's OK

Everything Is Broken, and It's OK

It's great when things break! It doesn't feel like it when it's happening to you, but those bugs that take you days to figure out are a goldmine of unintended learning.

Does programming ever get easier? No, and that would be boring. I'm going to talk about how we are all working on the hardest problem we've ever worked on. No matter where we are in our careers it always feels like an uphill battle.

I'll talk about ways to find value in that "wasted" time, to appreciate the hard bugs and daunting challenges, whether you're brand new to programming, or have been doing it for 20 years.

Emotional API

March 18, 2018

More Decks by Emotional API

Other Decks in Programming


  1. @johnksawers Everything Is Broken, and It’s OK Why it’s good

    when things break
  2. @johnksawers I’m John Sawers @johnksawers http:/ /johnksawers.com http:/ /emotionalapi.com

  3. @johnksawers Part 1: Everything Is Broken The Life of a

    Developer 3
  4. @johnksawers Setbacks • The most common event triggering a “worst

    day” was a setback. • Significantly affect mood • Dampen motivation 4
  5. @johnksawers The Daily Error 5

  6. @johnksawers Errors Are Everywhere • Libraries • Frameworks • Operating

    Systems • Servers • 3rd Party Services • The internet itself • My code 6
  7. @johnksawers 7

  8. @johnksawers 8

  9. @johnksawers 9

  10. @johnksawers10

  11. @johnksawers11

  12. @johnksawers12

  13. @johnksawers13

  14. @johnksawers14

  15. @johnksawers The Bug Hunt 15

  16. @johnksawers16

  17. @johnksawers Test Environment • Add a new test environment for

    CI to the Rails config • It should have taken half an hour • It took 2 full days 17
  18. @johnksawers The Hard Problem 18

  19. @johnksawers19

  20. @johnksawers Negativity Bias The Way Brains Work 20

  21. “ …negative experiences tend to exert greater psychological impact on

    us than positive experiences of the same magnitude.[1] 21
  22. @johnksawers Climbing A Pyramid 22 Photo: https:/ /thevelvetrocket.com/2010/03/11/jebel-barkal/

  23. @johnksawers What You See At Every Step 23

  24. @johnksawers I’m Speaking To You • This applies anywhere in

    your career • Setbacks are normal • It doesn’t get any easier • You don’t want it to 24
  25. @johnksawers Part 2: It’s OK No, really

  26. @johnksawers Change Our Thoughts The Easiest Things To Change 26

  27. @johnksawers Reframing 27

  28. @johnksawers Errors Are Everywhere Reframed • We don’t notice the

    things that work • We move immediately to the next broken thing • Try to notice when this is happening 28
  29. @johnksawers Bug Hunt Reframed • Google • Stack Overflow •

    Gem/Library READMEs • Blogs • Library Source Code • App Modules 29
  30. @johnksawers Bug Hunt Reframed Keep An Eye Out For Direct

    Learning 30
  31. @johnksawers Bug Hunt Reframed Keep An Even Bigger Eye Out

    For Accidental Learning 31
  32. @johnksawers Bug Hunt Reframed Constant Rate Throughout Career 32

  33. @johnksawers My Bug Hunt Results 33 I Learned: • Environment

    name is loaded in rails_helper.rb, not rspec_helper.rb • Not a problem when they’re both ‘test’ • You can pass --env to rspec • You can set system environment variable, but that’s loaded • Lots of code will make assumptions that test env is called test
  34. @johnksawers Hard Problems Reframed • Notice what’s easy • Especially

    if it used to be hard • Realize this means progress • It doesn’t get easier unless you pick trivial problems 34
  35. @johnksawers35

  36. @johnksawers Change Our Actions This is Where It Gets Good

  37. @johnksawers Celebrate The Little Wins • Not just the big

    ones • They get celebrated anyway (most likely) • Too infrequent • Even progress counts as a win 37
  38. @johnksawers Acknowledge It 38

  39. @johnksawers Acknowledge It 39

  40. @johnksawers Power Poses[3] 40

  41. @johnksawers Do A Little Dance 41

  42. @johnksawers Victory Song 42

  43. @johnksawers43 Photo: https:/ /tyleredlinart.deviantart.com/art/comission-fur-on-fur-172151625

  44. @johnksawers44

  45. @johnksawers Spread The News • Tell people about your wins

    • Blogging • Conference Talks • Team Learning/Presentation 45
  46. @johnksawers Make Space • Coffee break • Quick walk •

    Stretching • A Few Deep Breaths 46
  47. @johnksawers Regular Reflection • What went well? • What did

    I complete or make progress on? • What did I achieve? • What went well? • What brought me joy, fulfillment ? • What steps did I take that got me closer to my goals? 47
  48. @johnksawers Tools 48

  49. @johnksawers Positivity Bias Let’s Create One 49

  50. “ …people are more creative and productive when their inner

    work lives are positive…and have positive perceptions of their colleagues and the organization.[2] 50
  51. @johnksawers Feedback Loop 51

  52. @johnksawers You’re Responsible You May Not Want To Hear This

  53. @johnksawers Pyramid 53

  54. @johnksawers Stop. Turn Around. Take It In. 54

  55. @johnksawers So It Really Is OK 55

  56. @johnksawers It was OK all along. We just didn’t notice.

  57. Celebrate!

  58. @johnksawers58 Thanks! @johnksawers http:/ /johnksawers.com http:/ /emotionalapi.com

  59. @johnksawers59 References [1] - https:/ /www.ncbi.nlm.nih.gov/pmc/articles/PMC3652533/ [2] - https:/ /hbr.org/2011/05/the-power-of-small-wins

    & http:/ /progressprinciple.com/ [3] - https:/ /ideas.ted.com/inside-the-debate-about-power-posing-a-q-a-with-amy- cuddy/ Related Links • How It Goes: http:/ /thedoghousediaries.com/5468 • Finding Beauty in the Mundane: https:/ /www.youtube.com/watch?v=ZRgiVRqPVL4 • Burnout: https:/ /www.kennethreitz.org/essays/the-reality-of-developer-burnout