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

The Most Important Optimization: Happiness (Big Ruby)

The Most Important Optimization: Happiness (Big Ruby)

Closing presentation at Big Ruby Conf 2013 in Dallas, TX.

Metaprogramming. It's awesome, right? Powerful? Maybe a little scary?

Let's kick things up a notch. If writing code that writes code is powerful, what's hacking the life of the programmer writing the code? That's got to be an 11 on the meta-meter. *At least.* We'll talk about some of the bad assumptions we've made, lies we've bought into, and why we have the most awesome job ever.

Ernie Miller

March 01, 2013
Tweet

More Decks by Ernie Miller

Other Decks in Programming

Transcript

  1. The Most Important
    Optimization:
    HAPPINESS

    View Slide

  2. View Slide

  3. we’re hiring.*
    * “we’re hiring” is not part of the LivingSocial brand, but totally should be

    View Slide

  4. HOW’S YOUR NEW YEAR’S
    RESOLUTION GOING?
    (mine’s just dandy)

    View Slide

  5. View Slide

  6. “You’re interesting to listen to.”
    ― Mom

    View Slide

  7. IS THIS REALLY
    NECESSARY?

    View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. PROTIP:
    IN ORDER TO POWER ON A DESKTOP COMPUTER

    View Slide

  15. PROTIP:
    IN ORDER TO POWER ON A DESKTOP COMPUTER
    YOU MUST FIRST PLUG IT IN.

    View Slide

  16. SOMETIMES...

    View Slide

  17. I AM AN
    IDIOT.

    View Slide

  18. WE MAKE BAD ASSUMPTIONS.

    View Slide

  19. WE SKIP STEPS.

    View Slide

  20. TDD

    View Slide

  21. RED
    GREEN
    REFACTOR

    View Slide

  22. describe Life do
    it { should be_awesome }
    end

    View Slide

  23. require 'minitest/autorun'
    class LifeTest < MiniTest::Unit::TestCase
    def setup
    @life = Life.new
    end
    def test_that_it_is_awesome
    assert @life.awesome?, 'Sucks to be you.'
    end
    end

    View Slide

  24. RED
    GREEN
    REFACTOR

    View Slide

  25. RED
    GREEN
    REFACTOR
    make it clear

    View Slide

  26. RED
    GREEN
    REFACTOR
    make it clear
    make it real

    View Slide

  27. RED
    GREEN
    REFACTOR
    make it clear
    make it real
    make it better

    View Slide

  28. The Most Important
    Optimization:
    HAPPINESS

    View Slide

  29. HAPPINESS?

    View Slide

  30. View Slide

  31. Dr. Martin Seligman

    View Slide

  32. Dr. Martin Seligman P
    E
    R
    M
    A
    ositive Emotions
    ngagement
    elationships
    eaning
    chievement

    View Slide

  33. View Slide

  34. View Slide

  35. View Slide

  36. View Slide

  37. View Slide

  38. View Slide

  39. RESOURCES
    TO DO STUFF

    View Slide

  40. STUFF TO DO

    View Slide

  41. PEOPLE

    View Slide

  42. PEOPLE TO DO
    STUFF WITH

    View Slide

  43. FACT:
    ACRONYMS AND PICTURES
    HELP US REMEMBER THINGS

    View Slide

  44. CAR

    View Slide

  45. C
    A
    R
    CTIVITIES
    APACITY
    ELATIONSHIPS

    View Slide

  46. C
    A
    R
    CTIVITIES
    APACITY
    ELATIONSHIPS

    View Slide

  47. C
    A
    R
    CTIVITIES
    APACITY
    ELATIONSHIPS

    View Slide

  48. CAPACITY
    Time
    Money
    Physical
    Mental

    View Slide

  49. ACTIVITIES
    Fun
    Challenging
    Meaningful
    Beneficial

    View Slide

  50. RELATIONSHIPS
    Family
    Friends
    Romantic
    Professional

    View Slide

  51. Maslow’s Hierarchy of Needs

    View Slide

  52. BE
    INTENTIONAL
    RED
    GREEN
    REFACTOR
    ==

    View Slide

  53. RED
    GREEN
    REFACTOR

    View Slide

  54. RUN
    YOUR
    SPECS!
    RED
    GREEN
    REFACTOR

    View Slide

  55. exercise,
    nutrition,
    and sleep.

    View Slide

  56. EXERCISE,
    NUTRITION,
    and
    SLEEP.

    View Slide

  57. EXERCISE,
    NUTRITION,
    and
    SLEEP.
    (see what I did there?)

    View Slide

  58. CAPACITY
    RELATIONSHIPS ACTIVITIES

    View Slide

  59. CAPACITY
    RELATIONSHIPS ACTIVITIES

    View Slide

  60. SPOT THE DIFFERENCE!

    View Slide

  61. SPOT THE DIFFERENCE!
    class Greeting
    def initialize(greetable)
    @greetable = greetable
    end
    def to_s
    "Hello, #{@greetable}!"
    end
    end
    class Greeting
    def initialize(greetable)
    @greetable = greetable
    end
    def to_s
    "Hello, #{@greetable}!"
    end
    end

    View Slide

  62. SPOT THE DIFFERENCE!
    class Greeting
    def initialize(greetable)
    @greetable = greetable
    end
    def to_s
    "Hello, #{@greetable}!"
    end
    end
    class Greeting
    def initialize(greetable)
    @greetable = greetable
    end
    def to_s
    "Hello, #{@greetable}!"
    end
    end
    Coded in Louisville Coded in San Francisco

    View Slide

  63. SPOT THE DIFFERENCE!
    Source: Sperling’s Best Places - http://www.bestplaces.net/col/

    View Slide

  64. SPOT THE DIFFERENCE!
    Source: Sperling’s Best Places - http://www.bestplaces.net/col/

    View Slide

  65. Capacity Activities Relationships
    Time Fun Family
    Money Challenging Friends
    Physical Beneficial Romantic
    Mental Meaningful Professional
    IMPACT OF PHYSICAL LOCATION
    ON YOUR QUALITY OF LIFE

    View Slide

  66. Capacity Activities Relationships
    Time Fun Family
    Money Challenging Friends
    Physical Beneficial Romantic
    Mental Meaningful Professional
    IMPACT OF PHYSICAL LOCATION
    ON YOUR QUALITY OF LIFE

    View Slide

  67. IMPACT OF PHYSICAL LOCATION
    ON YOUR VALUE TO AN EMPLOYER

    View Slide

  68. IMPACT OF PHYSICAL LOCATION
    ON YOUR VALUE TO AN EMPLOYER
    * for qualified employers
    *

    View Slide

  69. Time (one-way) People (x1,000) %
    < 10 min 18,565 13.4
    10 - 14 min 19,328 13.9
    15 - 19 min 20,775 15.0
    20 - 24 min 19,559 14.1
    25 - 29 min 8,040 5.8
    30 - 34 min 17,874 12.9
    35 - 44 min 8,321 6.0
    45 - 59 min 9,834 7.1
    60 - 89 min 7,160 5.2
    90+ min 3,218 2.3
    TIME SPENT COMMUTING TO WORK
    Source: US Census Bureau, American Community Survey - http://www.census.gov/prod/2011pubs/acs-15.pdf

    View Slide

  70. Time (one-way) People (x1,000) %
    < 10 min 18,565 13.4
    10 - 14 min 19,328 13.9
    15 - 19 min 20,775 15.0
    20 - 24 min 19,559 14.1
    25 - 29 min 8,040 5.8
    30 - 34 min 17,874 12.9
    35 - 44 min 8,321 6.0
    45 - 59 min 9,834 7.1
    60 - 89 min 7,160 5.2
    90+ min 3,218 2.3
    TIME SPENT COMMUTING TO WORK
    Source: US Census Bureau, American Community Survey - http://www.census.gov/prod/2011pubs/acs-15.pdf
    33.5%

    View Slide

  71. WHERE DO YOU
    WANT TO BE?

    View Slide

  72. View Slide

  73. LIFE’S TOO
    short
    TO SPEND
    SO MUCH
    OF IT
    IN BETWEEN
    THE PLACES
    YOU TRULY
    WANT
    TO BE.

    View Slide

  74. Hacker News

    View Slide

  75. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site. And since your energy is a zero sum game, being
    excellent at these things steals energy from building.
    You need to expend time and energy on:

    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    • Dealing with conference calls and web-based meetings
    • Building relationships without benefit of breaks and meals
    • Understanding the human terrain without benefit of gossip and the
    water cooler
    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    You kinda get the idea. If you can be excellent at these things, great.
    Otherwise, be prepared to see your work suffer.
    — edw519

    View Slide

  76. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    • Dealing with conference calls and web-based meetings
    • Building relationships without benefit of breaks and meals
    • Understanding the human terrain without benefit of gossip and the
    water cooler

    View Slide

  77. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    WRONG
    • Dealing with conference calls and web-based meetings
    • Building relationships without benefit of breaks and meals
    • Understanding the human terrain without benefit of gossip and the
    water cooler

    View Slide

  78. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    WRONG
    WHAT IS THIS I DON’T EVEN
    • Dealing with conference calls and web-based meetings
    • Building relationships without benefit of breaks and meals
    • Understanding the human terrain without benefit of gossip and the
    water cooler

    View Slide

  79. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    WRONG
    WHAT IS THIS I DON’T EVEN
    • Building relationships without benefit of breaks and meals
    • Understanding the human terrain without benefit of gossip and the
    water cooler

    View Slide

  80. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    • Being noticed and recognized for who you really are by new people
    • Being included when you’re “out of sight, out of mind”
    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    WRONG
    WHAT IS THIS I DON’T EVEN
    POLITICS

    View Slide

  81. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    — edw519
    • Preparing precise specs instead of explaining and interacting
    • Interpreting precise specs instead of questioning and interacting
    • Writing precise e-mails
    • Interpreting precise e-mails
    • Guessing body language and tonality from written communication
    WRONG
    WHAT IS THIS I DON’T EVEN
    POLITICS
    INSECURITY

    View Slide

  82. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    — edw519
    WRONG
    WHAT IS THIS I DON’T EVEN
    POLITICS
    INSECURITY
    WRITTEN COMMUNICATION

    View Slide

  83. The single biggest problem with working remotely is that
    you have to be excellent at a lot of things that don't matter
    when you're on site.

    — edw519
    WRONG
    WHAT IS THIS I DON’T EVEN
    POLITICS
    INSECURITY
    WRITTEN COMMUNICATION
    ?!

    View Slide

  84. The single biggest problem with working remotely is that
    you have to be excellent

    — edw519
    at a lot of things that don't matter
    when you're on site.
    WRITTEN
    COMMUNICATION

    View Slide

  85. The single biggest problem with working remotely is that
    you have to be excellent
    “ at a lot of things that don't matter
    when you're on site.
    WRITTEN
    COMMUNICATION
    PROGRAMMING IS

    View Slide

  86. The single biggest problem with working remotely is that
    you have to be excellent

    WRITTEN
    COMMUNICATION
    PROGRAMMING IS
    .

    View Slide


  87. BE EXCELLENT.

    View Slide


  88. — me
    BE EXCELLENT.

    View Slide

  89. Bill & Ted’s Excellent Adventure, MGM,1989

    View Slide

  90. View Slide

  91. Bill & Ted’s Excellent Adventure, MGM,1989

    View Slide

  92. CODE ≠ YOUR PRODUCT

    View Slide

  93. YOUR PRODUCT
    YOU =

    View Slide

  94. YOUR PRODUCT
    MANAGER
    YOU =

    View Slide

  95. Painstakingly assembled at the Cartoon Doll Emporium: http://www.cartoondollemporium.com/scene_hemanandshera.html

    View Slide

  96. US National Archives and
    Records Administration

    View Slide

  97. US National Archives and
    Records Administration

    View Slide

  98. US National Archives and
    Records Administration

    View Slide

  99. US National Archives and
    Records Administration

    View Slide

  100. JOB SECURITY

    View Slide

  101. JOB SECURITY
    “ ”
    is a myth propagated by big
    companies to keep you trapped
    in an unchallenging and
    unfulfilling job.

    View Slide

  102. STRIVE
    TO FEEL
    STUPID

    View Slide

  103. STRIVE
    TO FEEL
    STUPID

    View Slide

  104. Q. What’s it like to always be the
    smartest person in the room?

    View Slide

  105. Q.
    A.
    What’s it like to always be the
    smartest person in the room?
    It sucks. It means you’re in the
    wrong room.
    Source: http://www.quora.com/What-is-it-like-to-always-be-the-smartest-person-in-the-room/answers/201107

    View Slide

  106. IT’S NOT ABOUT THE
    BENJAMINS

    View Slide

  107. IT’S NOT ABOUT THE
    BENJAMINS

    View Slide

  108. IT’S NOT ABOUT
    THE PEOPLE

    View Slide

  109. IT’S NOT ABOUT
    THE PEOPLE

    View Slide

  110. View Slide

  111. View Slide

  112. DON’T FORGET TO PLUG IN.

    View Slide

  113. THANKS!
    Ernie Miller / @erniemiller
    Recommended reading:

    View Slide