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

Hacking Your Emotional API

Hacking Your Emotional API

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

April 20, 2018
Tweet

More Decks by Emotional API

Other Decks in Programming

Transcript

  1. Welcome

    View Slide

  2. Welcome

    View Slide

  3. Your Emotional API
    How to be a better developer by being a better human
    v2.5

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. @emotionalAPI
    Do




    View Slide

  8. @emotionalAPI
    We’re on our own

    View Slide

  9. Endpoints
    @emotionalAPI

    View Slide

  10. 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 Slide

  11. 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 Slide

  12. 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 Slide

  13. @emotionalAPI
    A Public API
    The Bad News

    View Slide

  14. Decomposability
    @emotionalAPI

    View Slide

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

    View Slide

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

    View Slide

  17. @emotionalAPI
    Coding Solo

    View Slide

  18. @emotionalAPI
    Cognitive Problems

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  23. @emotionalAPI
    Coding Together

    View Slide

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

    View Slide

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

    View Slide

  26. @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 Slide

  27. Scenarios

    View Slide

  28. @emotionalAPI
    Degraded Cognition

    View Slide

  29. @emotionalAPI
    Advocate for Ideas

    View Slide

  30. @emotionalAPI
    Code Reviews

    View Slide

  31. @emotionalAPI
    Distraction

    View Slide

  32. @emotionalAPI
    Problematic Teammates

    View Slide

  33. @emotionalAPI
    Impostor Syndrome

    View Slide

  34. @emotionalAPI
    Interviewed, Hired, Fired

    View Slide

  35. @emotionalAPI
    Manage & Mentor

    View Slide

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

    View Slide

  37. Toolkit

    View Slide

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

    View Slide

  39. @emotionalAPI
    Level 1
    Conceptual Tools

    View Slide

  40. @emotionalAPI
    You Control The Implementation

    View Slide

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

    View Slide

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

    View Slide

  43. @emotionalAPI
    They Don’t Mean Anything

    View Slide

  44. @emotionalAPI
    Fear of Loss of Control

    View Slide

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

    View Slide

  46. @emotionalAPI
    There Is No Should

    View Slide

  47. @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 Slide

  48. @emotionalAPI
    Level 2
    On Your Own

    View Slide

  49. @emotionalAPI
    Move Your Body

    View Slide

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

    View Slide

  51. @emotionalAPI
    Rubber
    Duck
    Debugging

    View Slide

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

    View Slide

  53. @emotionalAPI
    Yup, talking

    View Slide

  54. @emotionalAPI
    The Feel Wheel[12]

    View Slide

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

    View Slide

  56. @emotionalAPI
    Emotional
    Retro

    View Slide

  57. @emotionalAPI
    Level 3
    With Another Person

    View Slide

  58. @emotionalAPI
    Again, Talking

    View Slide

  59. @emotionalAPI
    Feel first

    View Slide

  60. @emotionalAPI
    Bring In A Consultant

    View Slide

  61. @emotionalAPI
    Level 4
    With A Group

    View Slide

  62. @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 Slide

  63. GET /feels/

    View Slide

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

    View Slide

  65. @emotionalAPI
    Do




    View Slide

  66. @emotionalAPI
    Safe Space

    View Slide

  67. @emotionalAPI
    Throw A Fit

    View Slide

  68. @emotionalAPI
    Throw A Fit

    View Slide

  69. GET /feels/

    View Slide

  70. @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 Slide

  71. @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 Slide

  72. @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 Slide

  73. @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 Slide

  74. @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 Slide

  75. @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 Slide

  76. “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

  77. @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 Slide

  78. @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 Slide

  79. @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 Slide

  80. @emotionalAPI
    Baggage

    View Slide

  81. @emotionalAPI
    The Ultimate Goal

    View Slide

  82. Soft Skills
    Super Hard Skills

    View Slide

  83. @emotionalAPI
    Best Practices

    View Slide

  84. @emotionalAPI
    Pick One Thing

    View Slide

  85. @emotionalAPI
    Compassion

    View Slide

  86. DEEP BREATH

    View Slide

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

    View Slide

  88. @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 Slide