Your Emotional API: How to be a better developer by being a better human

Your Emotional API: How to be a better developer by being a better human

Imagine we have an API endpoint which, when called, makes us feel angry. Imagine also that there are thousands of aliases that redirect to it. People and situations can call those endpoints at any time. It’s up to us to decide what response to send.

Feelings are messy and uncomfortable, why don’t we just ignore them? Because ignoring them inhibits our ability to code. Increases in emotional mastery can have impacts on our productivity and even careers.

We talk theory and practice for healthy emotions, with code samples!

Dc68909b62c573c2d250e7a50477195c?s=128

Emotional API

August 21, 2016
Tweet

Transcript

  1. Your Emotional API How to be a better developer by

    being a better human
  2. @emotionalAPI John Sawers Founder and CTO of Data Simply Architect

    at Privia Health @emotionalapi @johnksawers http://emotionalapi.com
  3. “Emotions just make so much sense to me” — No

    One Ever
  4. @emotionalAPI Cry Make a Scene Throw a Fit Whine Yell

    Don’t
  5. @emotionalAPI Do 1. 2. 3. 4. 5. 6. 7. 8.

  6. @emotionalAPI post '/feels/anger' do
 ...
 end
 post '/feels/sadness' do
 ...


    end
 post '/feels/fear' do
 ...
 end
 post '/feels/shame' do
 ...
 end
 post '/feels/joy' do
 ...
 end
 post '/feels/love' do
 ...
 end
 Endpoints
  7. @emotionalAPI There’s another layer delete '/job/12', 301: '/feels/sadness'
 put '/events/mother/visit',

    301: '/feels/anger'
 put '/baby/new', 301: '/feels/fear'
 post '/people/co-worker/comments/jerk', 301: '/feels/anger'
 get '/people/boss/compliment', 301: '/feels/pride
  8. @emotionalAPI There’s another layer delete '/job/:id'
 100.times do
 Thread.new(post('/feels/fear')
 end


    20.times do
 Thread.new(post('/feels/sadness')
 end
 end
  9. @emotionalAPI It’s A Public API The Bad News

  10. @emotionalAPI You Control The Implementation The Good News

  11. @emotionalAPI How Your Feeling Server Works Version: HTTP/1.0 Content-Type: application/feels

    Content-Length: ∞ Timeout: 7200 (hint: not very well)
  12. When The Big Feels Hit @emotionalAPI

  13. @emotionalAPI 20 Minutes

  14. @emotionalAPI 1. 20 Minutes Max 2. 3. 4. 5. 6.

    7. System Properties
  15. You can control where and when you express your feelings

    (But you don’t have to)
  16. @emotionalAPI get('/feels/anger').perform_later

  17. @emotionalAPI 1. 20 Minutes 2. Delayed Jobs 3. 4. 5.

    6. 7. System Properties
  18. Why Bother? That sounds really messy

  19. Better Human?

  20. @emotionalAPI Cognitive Problems

  21. @emotionalAPI Cognitive Problems Poorer Executive Function [1]

  22. @emotionalAPI Cognitive Problems Poorer Short Term Memory [2]

  23. @emotionalAPI Cognitive Problems Lower ability to handle stress and cope

    with crisis [3]
  24. @emotionalAPI Cognitive Problems More self-centered [4]

  25. @emotionalAPI Cognitive Benefits

  26. @emotionalAPI Cognitive Benefits “not just in improved behavior but in

    measurable academic achievement.”[5]
  27. @emotionalAPI Cognitive Benefits “…process information more abstractly, integrating information to

    extract the gist, detecting patterns and relationships”[6]
  28. @emotionalAPI Cognitive Benefits “…judged emotional expression more accurately”[7]

  29. @emotionalAPI Express your ideas better Social Benefits

  30. @emotionalAPI Better career advancement[8] Social Benefits

  31. @emotionalAPI Empathy! Social Benefits

  32. @emotionalAPI Help others with their emotional challenges Social Benefits

  33. @emotionalAPI Health Benefits “measurable health advantage”[9]

  34. Better Developer?

  35. @emotionalAPI Code Reviews

  36. @emotionalAPI Degraded Cognition

  37. @emotionalAPI Distraction

  38. @emotionalAPI Problematic Teammates

  39. @emotionalAPI Impostor Syndrome

  40. @emotionalAPI Interviewed, Hired, Fired

  41. @emotionalAPI Manage & Mentor

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

  43. More Details

  44. @emotionalAPI 1. 20 Minutes Max 2. Delayed Jobs 3. 4.

    5. 6. 7. System Properties
  45. @emotionalAPI They Don’t Mean Anything

  46. @emotionalAPI You’re Human

  47. @emotionalAPI Fear of Loss of Control

  48. @emotionalAPI Fear of Loss of Control A constructive way to

    express anger?
  49. @emotionalAPI Fear of Loss of Control A constructive way to

    express anger? No such thing?
  50. @emotionalAPI It’s Just Energy

  51. @emotionalAPI It’s Just Energy Dancing Singing Exercise

  52. @emotionalAPI Practice Talking

  53. “…consciously recognizing the emotions reduced their impact.” David Rock Your

    Brain At Work[10]
  54. @emotionalAPI

  55. @emotionalAPI

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

  57. @emotionalAPI There’s no such thing as how you ‘really feel’

  58. @emotionalAPI It’s Enumerable, not Boolean how_you_really_feel = [<Feeling#…>,…]

  59. @emotionalAPI There Is No Should

  60. “Trying not to feel something doesn’t work, and in some

    cases even backfires” David Rock Your Brain At Work[11]
  61. @emotionalAPI 1. 20 Minutes 2. Delayed Jobs 3. It Doesn’t

    Mean Anything 4. You Won’t Lose Control 5. It’s Just Energy 6. Talking Makes It Better 7. All Feelings Are Valid 8. There Is Nothing You Should Be Feeling 9. Repression Doesn’t work System Properties
  62. @emotionalAPI Do •GET /feels/anger/meaning, response: nil •self.body(:move) •@confidant.send_message(“I feel so

    sad about…”) •@self.send_message(“I feel so hurt about…”)
  63. @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/
  64. A Journey Through Anger

  65. @emotionalAPI

  66. @emotionalAPI GET '/events/something/trivial' ⬇ POST ‘/feels/anger'

  67. @emotionalAPI Do

  68. @emotionalAPI Safe Space

  69. @emotionalAPI Throw A Fit

  70. @emotionalAPI Do: •GET /feels/anger/meaning, response: nil •self.body(:move) •@confidant.send_message(“I feel so

    sad about…”) •@self.send_message(“I feel so hurt about…”) •SafeSpace.new(throw Fit.new(“ARRRGH”))
  71. A Journey Through Sadness

  72. @emotionalAPI delete ‘/v5/parents/marriage’
 
 post ‘/v6/parents/:dad_id/set_emotional_distance/100’
 
 post ‘/v8/parents/:dad_id/diseases/cancer’
 


    delete ‘/v17/parents/:dad_id’
  73. @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
  74. @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
  75. @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
  76. @emotionalAPI Daddy Issues

  77. @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’
  78. @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’
  79. Cry

  80. “Crying doesn’t indicate you are weak, since birth it has

    always been a sign to indicate you are alive” — attributed to Charlotte Brontë
  81. @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
  82. @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
  83. @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
  84. @emotionalAPI Another Method post ‘/me/events/message/something_important_to_talk_about’ do
 
 end

  85. @emotionalAPI Another Method post ‘/me/events/message/something_important_to_talk_about’ do
 self.set_state(:fear)
 origin = self.feels[:fear].inspect_origin

    || self.feels[:fear].perform_now
 
 end
  86. The Five Whys https://open.buffer.com/5-whys-process/

  87. @emotionalAPI Another Method post ‘/me/events/message/something_important_to_talk_about’ do
 self.set_state(:fear)
 origin = self.feels[:fear].inspect_origin

    || self.feels[:fear].perform_now
 self.clear_history(origin)
 self.set_time(Time.now)
 reappraise_situation(:current)
 end
  88. @emotionalAPI Baggage

  89. @emotionalAPI Emotional Mentorship You can do this work on your

    own But it’s more powerful and rewarding to do it with others.
  90. @emotionalAPI Open Sourcing Mental Illness is a campaign founded by

    Ed Finkler to change how we deal with mental health in the tech community. https://osmihelp.org/ @OSMIhelp
  91. @emotionalAPI Self Awareness (Monitoring)

  92. @emotionalAPI Do: •GET /feels/anger/meaning, response: nil •self.body(:move) •@confidant.send_message(“I feel so

    sad about…”) •@self.send_message(“I feel so hurt about…”) •SafeSpace.new(throw Fit.new(“ARRRGGH”) •SafeSpace.new(:cry) •Service start nagios •Week.days.each(:practice) •config.treads = false •self.get_help(:therapist_service)
  93. @emotionalAPI Best Practices

  94. @emotionalAPI Pick One Thing

  95. @emotionalAPI No overnight success

  96. @emotionalAPI You’re Never Done

  97. @emotionalAPI It’s OK

  98. Soft Skills Super Hard Skills

  99. @emotionalAPI DEEP BREATH

  100. @emotionalAPI Thank You So Much This is just the start

    Mailing List: http://emotionalapi.com Twitter: @emotionalAPI
  101. @emotionalAPI Come get a feeling wheel! I’d love to hear

    what your ‘one thing’ is
  102. @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