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

Hacking your Emotional API: RailsConf

Hacking your Emotional API: RailsConf

Feelings are messy and uncomfortable, so why can't we just ignore them? Because emotional skills are critical for working well on a team, and for the quality of our work.

In this talk you’ll learn how emotions are affecting you by modeling them as an API and looking at the code.

I cover how poor handling of emotions impacts cognition, memory, and communication.

Then I dive into my framework for handling emotions better and walk you through new ways of thinking about them, and techniques to practice.

Emotional API

April 26, 2023
Tweet

More Decks by Emotional API

Other Decks in Programming

Transcript

  1. Hacking Your Emotional API
    v2.11

    View Slide

  2. @[email protected]
    John Sawers
    Senior Engineering Manager at Privia Health


    @[email protected]


    http://emotionalapi.com


    he/his/him

    View Slide

  3. “Emotions just make so much sense to me”
    — No One Ever

    View Slide

  4. @[email protected]
    • Cry


    • Make a Scene


    • Whine


    • Yell
    Don’t

    View Slide

  5. @[email protected]
    Do










    View Slide

  6. @[email protected]
    We’re on our own

    View Slide

  7. @[email protected]
    Endpoints
    /feels/sadness Creates Sadness Response
    POST
    /feels/joy Creates Joy Response
    POST
    /feels/love Creates Love Response
    POST
    /feels/anger Creates Anger Response
    POST
    /feels/fear Creates Fear Response
    POST
    /feels/shame Creates Shame Response
    POST

    View Slide

  8. @[email protected]
    Middleware
    delete /job/12


    put /events/mother/visit


    put /baby/new


    post /people/co-worker/insult


    get /people/boss/compliment
    /feels/sadness

    /feels/anger

    /feels/fear

    /feels/anger

    /feels/pride
    Senses
    Wetware
    Inputs

    View Slide

  9. @[email protected]
    Middleware Wetware
    Inputs
    delete /job/12


    put /events/mother/visit


    put /baby/new


    post /people/co-worker/insult


    get /people/boss/compliment
    /feels/sadness

    /feels/anger

    /feels/fear

    /feels/anger

    /feels/pride
    Senses

    View Slide

  10. @[email protected]
    delete /job/12


    put /events/mother/visit


    put /baby/new


    post /people/co-worker/insult


    get /people/boss/compliment
    /feels/sadness

    /feels/anger

    /feels/fear

    /feels/anger

    /feels/pride
    Senses

    View Slide

  11. @[email protected]
    Methods
    delete '/job/:id'

    100.times do

    Thread.new(post('/feels/fear')

    end

    20.times do

    Thread.new(post('/feels/sadness')

    end

    end

    View Slide

  12. @[email protected]
    A Public API
    The Bad News

    View Slide

  13. @[email protected]
    Decomposability

    View Slide

  14. “But feelings are icky, and I don’t wanna”
    — You, probably

    View Slide

  15. “Trying not to feel something
    doesn’t work, and in some
    cases even back
    fi
    res”
    David Rock


    Your Brain At Work[11]

    View Slide

  16. @[email protected]
    Coding Solo

    View Slide

  17. @[email protected]
    Cognitive Problems

    View Slide

  18. @[email protected]
    Cognitive Problems
    • Poorer Executive Function [1]

    View Slide

  19. @[email protected]
    Cognitive Problems
    • Poorer Executive Function [1]


    • Poorer Short Term Memory [2]

    View Slide

  20. @[email protected]
    Cognitive Problems
    • Poorer Executive Function [1]


    • Poorer Short Term Memory [2]


    • Lower ability to handle stress and cope with crisis [3]

    View Slide

  21. @[email protected]
    Cognitive & Health Bene
    fi
    ts
    • “…not just in improved behavior but in measurable academic
    achievement.”[5]


    • “…measurable health advantage”[9]

    View Slide

  22. @[email protected]
    Coding Together

    View Slide

  23. @[email protected]
    Cognitive & Social Bene
    fi
    ts
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]

    View Slide

  24. @[email protected]
    Cognitive & Social Bene
    fi
    ts
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]


    • Better career advancement[8]

    View Slide

  25. @[email protected]
    Cognitive & Social Bene
    fi
    ts
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]


    • Better career advancement[8]


    • Less self-centered [4]


    • Empathy!

    View Slide

  26. @[email protected]
    "It wasn't enough to merely be a good engineer at
    Valve. If you were a good engineer with zero
    communication skills your chances at surviving
    and thriving when I was there were pretty low. If
    you acted like an asshole and didn't have many
    friends it didn't matter how good you were or how
    awesome your accomplishments were. People like
    this would be
    fi
    red sooner or later."


    - Rich Geldreich


    https://richg42.blogspot.com/2017/09/things-learned-while-running-your-own.html

    View Slide

  27. Scenarios

    View Slide

  28. @[email protected]
    Degraded Cognition

    View Slide

  29. @[email protected]
    Advocate for Ideas

    View Slide

  30. @[email protected]
    Code Reviews

    View Slide

  31. @[email protected]
    Distraction

    View Slide

  32. @[email protected]
    Problematic Teammates

    View Slide

  33. @[email protected]
    Impostor Syndrome

    View Slide

  34. @[email protected]
    Interviewed, Hired, Fired

    View Slide

  35. @[email protected]
    Manage & Mentor

    View Slide

  36. http://frontside.io/
    Senior
    Software
    Developer

    View Slide

  37. Toolkit

    View Slide

  38. @[email protected]
    🙂 Level 1: Conceptual Tools


    😯 Level 2: On Your Own


    😰 Level 3: With Someone Else


    😱 Level 4: With a Group

    View Slide

  39. @[email protected]
    🙂 Level 1
    Conceptual Tools

    View Slide

  40. @[email protected]
    You Control The Implementation

    View Slide

  41. @[email protected]
    You can control where and
    when you express your feelings
    (But you don’t have to)

    View Slide

  42. @[email protected]
    get('/feels/anger').perform_later

    View Slide

  43. @[email protected]
    They Don’t Mean Anything

    View Slide

  44. @[email protected]
    Fear of Loss of Control

    View Slide

  45. @[email protected]
    Feelings are Enumerable, not
    Boolean
    Anger
    Disgust
    Shame

    View Slide

  46. @[email protected]
    There Is No Should

    View Slide

  47. @[email protected]
    Emotional Debt

    View Slide

  48. @[email protected]
    “Even if it feels bad, it’s ok to let
    it feel bad. Eventually you’ll
    stop feeling bad because
    feelings just don’t last very
    long”
    Amy Cuddy


    Presence[13]

    View Slide

  49. @[email protected]
    😯 Level 2
    On Your Own

    View Slide

  50. @[email protected]
    Move Your Body

    View Slide

  51. @[email protected]
    • Dance


    • Sing


    • Exercise


    • Yoga

    View Slide

  52. @[email protected]
    Rubber


    Duck


    Debugging

    View Slide

  53. @[email protected]
    “…consciously recognizing
    the emotions reduced their
    impact.”
    David Rock


    Your Brain At Work[10]

    View Slide

  54. @[email protected]
    Yup, talking

    View Slide

  55. View Slide

  56. @[email protected]
    The Feel Wheel[12]

    View Slide

  57. @[email protected]
    “I feel” vs. “I am”

    View Slide

  58. @[email protected]
    Emotional


    Retro

    View Slide

  59. @[email protected]
    😰 Level 3
    With Another Person

    View Slide

  60. @[email protected]
    Again, Talking

    View Slide

  61. @[email protected]
    Feel
    fi
    rst

    View Slide

  62. @[email protected]
    Bring In A Consultant

    View Slide

  63. @[email protected]
    I always liked
    this image

    View Slide

  64. @[email protected]
    😱 Level 4
    With A Group

    View Slide

  65. @[email protected]
    How did I get here?
    “…an intensive 20-hr Weekend Retreat in which you will
    explore your erroneous belief systems, learn to
    appropriately express emotions in a manner that heals…”
    Purpose • Passion • Peace


    http://aliceamos.me/p3retreat/

    View Slide

  66. GET /feels/

    View Slide

  67. View Slide

  68. @[email protected]
    GET '/events/something/trivial'
    POST ‘/feels/anger'

    View Slide

  69. View Slide

  70. @[email protected]
    Safe Space

    View Slide

  71. @[email protected]
    Throw A Fit

    View Slide

  72. @[email protected]
    Throw A Fit

    View Slide

  73. GET /feels/

    View Slide

  74. @[email protected]
    delete /v5/parents/marriage


    post /v6/parents/:dad_id/set_emotional_distance/1000


    post /v8/parents/:dad_id/diseases/cancer


    delete /v17/parents/:dad_id

    View Slide

  75. @[email protected]
    /v5
    delete /v5/parents/marriage do

    20.times.do {

    Thread.new(get('/feels/fear'))

    Thread.new(get('/feels/sadness'))

    Thread.new(get('/feels/blame'))

    }

    delete('/feels/self_worth')

    end

    View Slide

  76. @[email protected]
    /v8
    post /v8/parents/:dad_id/diseases/cancer do

    20.times.do {

    Thread.new(delete('/v5/parents/marriage'))

    Thread.new(get('/feels/fear'))

    Thread.new(get('/feels/sadness'))

    }

    end

    View Slide

  77. @[email protected]
    /v17
    def /v17/parents/:dad_id do

    1000.times.do {

    Thread.new(post('/v8/parents/:dad_id/diseases/cancer'))

    Thread.new(delete('/v5/parents/marriage'))

    Thread.new(get('/feels/anger'))

    Thread.new(get('/feels/sadness'))

    }

    end

    View Slide

  78. @[email protected]
    Narrator: It did not blow over

    View Slide

  79. @[email protected]
    Stack Trace
    NoMethodError - unde
    fi
    ned method `paternal_approval’ for BossClass:


    /me/feels/panic.rb:9:in `initialize'


    /me/feels/love/daddy:14:in `none_for_you’


    /me/feels/fear/mistake/guaranteed_to_be_
    fi
    red:21:in `realize_mistake’


    /me/events/releases/prod/bug_count/metrics.rb:39:in `count_bugs’

    View Slide

  80. @[email protected]
    Stack Trace
    NoMethodError - unde
    fi
    ned method `paternal_approval’ for BossClass:


    /me/feels/panic.rb:9:in `initialize'


    /me/feels/love/daddy:14:in `none_for_you’


    /me/feels/fear/mistake/guaranteed_to_be_
    fi
    red:21:in `realize_mistake’


    /me/events/releases/prod/bug_count/metrics.rb:39:in `count_bugs’

    View Slide

  81. “Crying doesn’t indicate you
    are weak, since birth it has
    always been a sign to indicate
    you are alive”
    — attributed to Charlotte Brontë

    View Slide

  82. @[email protected]
    /v17
    def /v17/parents/:dad_id do

    1000.times.do {

    Thread.new(post('/v8/parents/:dad_id/diseases/cancer'))

    Thread.new(delete('/v5/parents/marriage'))

    Thread.new(get('/feels/anger'))

    Thread.new(get('/feels/sadness'))

    }

    end

    View Slide

  83. @[email protected]
    Diff
    def /v17/parents/:dad_id do

    1000.times.do {


    500.times.do {

    Thread.new(post('/v8/parents/:dad_id/diseases/cancer'))

    Thread.new(delete('/v5/parents/marriage'))

    Thread.new(get('/feels/anger'))

    Thread.new(get('/feels/sadness'))

    }

    end

    View Slide

  84. @[email protected]
    Diff
    get /me/events/releases/prod/bugs/count_high do

    Thread.new(get('/feels/unloved'))

    Thread.new(get('/feels/panic'))

    puts 'oops'

    fi
    x_it

    move_on

    end

    View Slide

  85. View Slide

  86. @[email protected]
    The Ultimate Goal

    View Slide

  87. Soft Skills


    Super Hard Skills

    View Slide

  88. @[email protected]
    Best Practices

    View Slide

  89. @[email protected]
    Pick One Thing

    View Slide

  90. @[email protected]
    DEEP BREATH

    View Slide

  91. @[email protected]
    Thank You So Much
    https://emotionalapi.com/after-the-talk/
    For more information, references,
    links, workshops, feel wheels,
    slides and videos, go to:


    View Slide

  92. @[email protected]
    References
    [1],[2] “…a lack of power impairs our cognitive function.’ Amy Cuddy, Presence 119


    [3] “In fact, people who have a high sense of personal control…cope signi
    fi
    cantly better in crisis…because their executive
    functions are intact” Amy Cuddy, Presence, 136


    [4] “Powerlessness makes us self-absorbed” Amy Cuddy, Presence 121


    [5] “Helping children improve their self-awareness and confidence, manage their disturbing emotional impulses and increase
    their empathy pays off not just in improved behavior but in measurable academic achievement.” — Daniel Goleman,
    Emotional Intelligence xi


    [6] “The [people who feel] powerful process information more abstractly, integrating information to extract the gist, detecting
    patterns and relationships” Smith, P.K., Dijkterhuis, A, & Wigbuldus, D.H. Psychology Science, 19, 1258-1259


    [7] “Subjects made to feel powerful judged emotional expression more accurately.” Amy Cuddy, Presence 127


    [8] “…having high leadership potential were far stronger in EI competencies…” Daniel Goleman, Emotional Intelligence xiii


    [9] “Those who can mange their emotional lives with more calm and self-awareness … have … distinct and measurable
    health advantage … confirmed by many studies” Daniel Goleman, Emotional Intelligence xi


    [10] “…when they were asked to name the emotion, the ventrolateral prefrontal cortex activated and reduced the emotional
    amygdala reactivity. In other words, consciously recognizing the emotions reduced their impact.” David Rock, Your Brain At
    Work 127


    [11] Gross found that people who tried to suppress a negative emotional experience failed to do so. While they thought they
    looked fine outwardly, inwardly their limbic system was just as aroused as without suppression. Trying not to feel something
    doesn’t work, and in some cases even backfires. David Rock, Your Brain At Work 119


    [12] The Feeling Wheel http://journals.sagepub.com/doi/abs/10.1177/036215378201200411

    View Slide