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

Hacking Your Emotional API v2.6 - OSCON

Hacking Your Emotional API v2.6 - OSCON

Being a good developer isn't just about slinging code; we're part of a community. Interacting with others in a community means feelings are involved.

But feelings are messy and uncomfortable, so why can't you just ignore them? Because emotional skills are critical for working well on a team, and for writing code every day.

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

Emotional API

July 18, 2018
Tweet

More Decks by Emotional API

Other Decks in Technology

Transcript

  1. Hacking Your Emotional APIv2.6

    View full-size slide

  2. @emotionalAPI
    John Sawers
    Founder and CTO of Data Simply
    Senior Developer at Privia Health
    @emotionalapi
    @johnksawers
    http://emotionalapi.com
    he/his/him

    View full-size slide

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

    View full-size slide

  4. @emotionalAPI
    • Cry
    • Make a Scene
    • Whine
    • Yell
    Don’t

    View full-size slide

  5. @emotionalAPI
    Do




    View full-size slide

  6. @emotionalAPI
    We’re on our own

    View full-size slide

  7. Endpoints
    @emotionalAPI

    View full-size slide

  8. Middleware
    @emotionalAPI
    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 full-size slide

  9. Middleware
    @emotionalAPI
    delete /job/12
    put /events/mother/visit
    put /baby/new
    post /people/co-worker/insult
    get /people/boss/compliment
    /feels/love

    /feels/anger

    /feels/fear

    /feels/shame

    /feels/pride
    Senses
    Wetware
    Inputs

    View full-size slide

  10. Methods
    delete '/job/:id'

    100.times do

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

    end

    20.times do

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

    end

    end
    @emotionalAPI

    View full-size slide

  11. @emotionalAPI
    A Public API
    The Bad News

    View full-size slide

  12. Decomposability
    @emotionalAPI

    View full-size slide

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

    View full-size slide

  14. “Trying not to feel something
    doesn’t work, and in some cases
    even backfires”
    David Rock
    Your Brain At Work[11]

    View full-size slide

  15. @emotionalAPI
    Coding Solo

    View full-size slide

  16. @emotionalAPI
    Cognitive Problems

    View full-size slide

  17. @emotionalAPI
    Cognitive Problems
    • Poorer Executive Function [1]

    View full-size slide

  18. @emotionalAPI
    Cognitive Problems
    • Poorer Executive Function [1]
    • Poorer Short Term Memory [2]

    View full-size slide

  19. @emotionalAPI
    Cognitive Problems
    • Poorer Executive Function [1]
    • Poorer Short Term Memory [2]
    • Lower ability to handle stress and cope with crisis [3]

    View full-size slide

  20. @emotionalAPI
    Cognitive & Health Benefits
    • “…not just in improved behavior but in measurable academic
    achievement.”[5]
    • “…measurable health advantage”[9]

    View full-size slide

  21. @emotionalAPI
    Coding Together

    View full-size slide

  22. @emotionalAPI
    Cognitive & Social Benefits
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]

    View full-size slide

  23. @emotionalAPI
    Cognitive & Social Benefits
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]
    • Better career advancement[8]

    View full-size slide

  24. @emotionalAPI
    Cognitive & Social Benefits
    • “Subjects made to feel powerful judged emotional expression
    more accurately.”[7]
    • Better career advancement[8]
    • Less self-centered [4]
    • Empathy!

    View full-size slide

  25. @emotionalAPI
    Degraded Cognition

    View full-size slide

  26. @emotionalAPI
    Advocate for Ideas

    View full-size slide

  27. @emotionalAPI
    Code Reviews

    View full-size slide

  28. @emotionalAPI
    Distraction

    View full-size slide

  29. @emotionalAPI
    Problematic Teammates

    View full-size slide

  30. @emotionalAPI
    Impostor Syndrome

    View full-size slide

  31. @emotionalAPI
    Interviewed, Hired, Fired

    View full-size slide

  32. @emotionalAPI
    Manage & Mentor

    View full-size slide

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

    View full-size slide

  34. @emotionalAPI
    Level 1: Conceptual Tools
    Level 2: On Your Own
    Level 3: With Someone Else
    Level 4: With a Group

    View full-size slide

  35. @emotionalAPI
    Level 1
    Conceptual Tools

    View full-size slide

  36. @emotionalAPI
    You Control The Implementation

    View full-size slide

  37. @emotionalAPI
    You can control where and
    when you express your feelings
    (But you don’t have to)

    View full-size slide

  38. @emotionalAPI
    get('/feels/anger').perform_later

    View full-size slide

  39. @emotionalAPI
    They Don’t Mean Anything

    View full-size slide

  40. @emotionalAPI
    Fear of Loss of Control

    View full-size slide

  41. @emotionalAPI
    Feelings are Enumerable, not
    Boolean
    Anger
    Disgust
    Shame

    View full-size slide

  42. @emotionalAPI
    There Is No Should

    View full-size slide

  43. @emotionalAPI
    “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 full-size slide

  44. @emotionalAPI
    Level 2
    On Your Own

    View full-size slide

  45. @emotionalAPI
    Move Your Body

    View full-size slide

  46. @emotionalAPI
    Move Your Body
    Dancing • Singing • Exercise

    View full-size slide

  47. @emotionalAPI
    Rubber
    Duck
    Debugging

    View full-size slide

  48. @emotionalAPI
    “…consciously recognizing
    the emotions reduced their
    impact.”
    David Rock
    Your Brain At Work[10]

    View full-size slide

  49. @emotionalAPI
    Yup, talking

    View full-size slide

  50. @emotionalAPI
    The Feel Wheel[12]

    View full-size slide

  51. @emotionalAPI
    “I feel” vs. “I am”

    View full-size slide

  52. @emotionalAPI
    Emotional
    Retro

    View full-size slide

  53. @emotionalAPI
    Level 3
    With Another Person

    View full-size slide

  54. @emotionalAPI
    Again, Talking

    View full-size slide

  55. @emotionalAPI
    Feel first

    View full-size slide

  56. @emotionalAPI
    Bring In A Consultant

    View full-size slide

  57. @emotionalAPI
    Level 4
    With A Group

    View full-size slide

  58. @emotionalAPI
    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 full-size slide

  59. @emotionalAPI
    As a child I
    wasn’t allowed
    to get angry

    View full-size slide

  60. @emotionalAPI
    Do




    View full-size slide

  61. @emotionalAPI
    Safe Space

    View full-size slide

  62. @emotionalAPI
    Throw A Fit

    View full-size slide

  63. @emotionalAPI
    Throw A Fit

    View full-size slide

  64. @emotionalAPI
    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 full-size slide

  65. @emotionalAPI
    /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 full-size slide

  66. @emotionalAPI
    /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 full-size slide

  67. @emotionalAPI
    /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 full-size slide

  68. @emotionalAPI
    Narrator: It did not blow over

    View full-size slide

  69. @emotionalAPI
    Stack Trace
    NoMethodError - undefined 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_fired:21:in `realize_mistake’
    /me/events/releases/prod/bug_count/metrics.rb:39:in `count_bugs’

    View full-size slide

  70. @emotionalAPI
    Stack Trace
    NoMethodError - undefined 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_fired:21:in `realize_mistake’
    /me/events/releases/prod/bug_count/metrics.rb:39:in `count_bugs’

    View full-size slide

  71. “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 full-size slide

  72. @emotionalAPI
    /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 full-size slide

  73. @emotionalAPI
    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 full-size slide

  74. @emotionalAPI
    Diff
    get /me/events/releases/prod/bugs/count_high do

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

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

    puts 'oops'

    fix_it

    move_on

    end

    View full-size slide

  75. @emotionalAPI
    Baggage

    View full-size slide

  76. @emotionalAPI
    The Ultimate Goal

    View full-size slide

  77. Soft Skills
    Super Hard Skills

    View full-size slide

  78. @emotionalAPI
    Best Practices

    View full-size slide

  79. @emotionalAPI
    Pick One Thing

    View full-size slide

  80. @emotionalAPI
    Compassion

    View full-size slide

  81. @emotionalAPI
    Thank You So Much
    Slides: https://speakerdeck.com/johnksawers/hacking-your-emotional-api
    Videos: http://emotionalapi.com
    Twitter: @emotionalAPI
    Come get a feel wheel!

    View full-size slide

  82. @emotionalAPI
    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 significantly 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 full-size slide