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.

2274a7476f6d2ac7aedcdec0651d0542?s=128

Ernie Miller

March 01, 2013
Tweet

Transcript

  1. The Most Important Optimization: HAPPINESS

  2. None
  3. we’re hiring.* * “we’re hiring” is not part of the

    LivingSocial brand, but totally should be
  4. HOW’S YOUR NEW YEAR’S RESOLUTION GOING? (mine’s just dandy)

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

  7. IS THIS REALLY NECESSARY?

  8. None
  9. None
  10. None
  11. None
  12. None
  13. None
  14. PROTIP: IN ORDER TO POWER ON A DESKTOP COMPUTER

  15. PROTIP: IN ORDER TO POWER ON A DESKTOP COMPUTER YOU

    MUST FIRST PLUG IT IN.
  16. SOMETIMES...

  17. I AM AN IDIOT.

  18. WE MAKE BAD ASSUMPTIONS.

  19. WE SKIP STEPS.

  20. TDD

  21. RED GREEN REFACTOR

  22. describe Life do it { should be_awesome } end

  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
  24. RED GREEN REFACTOR

  25. RED GREEN REFACTOR make it clear

  26. RED GREEN REFACTOR make it clear make it real

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

    it better
  28. The Most Important Optimization: HAPPINESS

  29. HAPPINESS?

  30. None
  31. Dr. Martin Seligman

  32. Dr. Martin Seligman P E R M A ositive Emotions

    ngagement elationships eaning chievement
  33. None
  34. None
  35. None
  36. None
  37. None
  38. None
  39. RESOURCES TO DO STUFF

  40. STUFF TO DO

  41. PEOPLE

  42. PEOPLE TO DO STUFF WITH

  43. FACT: ACRONYMS AND PICTURES HELP US REMEMBER THINGS

  44. CAR

  45. C A R CTIVITIES APACITY ELATIONSHIPS

  46. C A R CTIVITIES APACITY ELATIONSHIPS

  47. C A R CTIVITIES APACITY ELATIONSHIPS

  48. CAPACITY Time Money Physical Mental

  49. ACTIVITIES Fun Challenging Meaningful Beneficial

  50. RELATIONSHIPS Family Friends Romantic Professional

  51. Maslow’s Hierarchy of Needs

  52. BE INTENTIONAL RED GREEN REFACTOR ==

  53. RED GREEN REFACTOR

  54. RUN YOUR SPECS! RED GREEN REFACTOR

  55. exercise, nutrition, and sleep.

  56. EXERCISE, NUTRITION, and SLEEP.

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

  58. CAPACITY RELATIONSHIPS ACTIVITIES

  59. CAPACITY RELATIONSHIPS ACTIVITIES

  60. SPOT THE DIFFERENCE!

  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
  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
  63. SPOT THE DIFFERENCE! Source: Sperling’s Best Places - http://www.bestplaces.net/col/

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

  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
  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
  67. IMPACT OF PHYSICAL LOCATION ON YOUR VALUE TO AN EMPLOYER

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

    * for qualified employers *
  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
  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%
  71. WHERE DO YOU WANT TO BE?

  72. None
  73. LIFE’S TOO short TO SPEND SO MUCH OF IT IN

    BETWEEN THE PLACES YOU TRULY WANT TO BE.
  74. Hacker News

  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
  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
  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
  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
  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
  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
  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
  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
  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 ?!
  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
  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
  86. The single biggest problem with working remotely is that you

    have to be excellent “ WRITTEN COMMUNICATION PROGRAMMING IS .
  87. “ BE EXCELLENT.

  88. “ — me BE EXCELLENT.

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

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

  92. CODE ≠ YOUR PRODUCT

  93. YOUR PRODUCT YOU =

  94. YOUR PRODUCT MANAGER YOU =

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

  96. US National Archives and Records Administration

  97. US National Archives and Records Administration

  98. US National Archives and Records Administration

  99. US National Archives and Records Administration

  100. JOB SECURITY

  101. JOB SECURITY “ ” is a myth propagated by big

    companies to keep you trapped in an unchallenging and unfulfilling job.
  102. STRIVE TO FEEL STUPID

  103. STRIVE TO FEEL STUPID

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

    in the room?
  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
  106. IT’S NOT ABOUT THE BENJAMINS

  107. IT’S NOT ABOUT THE BENJAMINS

  108. IT’S NOT ABOUT THE PEOPLE

  109. IT’S NOT ABOUT THE PEOPLE

  110. None
  111. None
  112. DON’T FORGET TO PLUG IN.

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