Metaprogramming
The Most Important Optimization: Happiness

Summarized using AI

The Most Important Optimization: Happiness

Ernie Miller • February 28, 2013 • Earth

In his talk titled "The Most Important Optimization: Happiness," Ernie Miller emphasizes the significance of prioritizing happiness, especially in the context of programming and technology.

He opens with light-hearted interactions with the audience, such as engaging in a Friday hug, setting a positive tone for the discussion. He begins exploring the notion of happiness, questioning whether attendees are happy not just due to being at the conference but in their lives in general.

Some key points discussed include:
- Personal anecdotes about technology and happiness: Ernie shares his childhood experiences with video games, particularly the Atari 2600, as a catalyst for his journey into programming. His story illustrates how early interests in technology can lead to fulfilling careers, hinting at the importance of following one's passions for happiness.
- Mistakes and assumptions: He recounts a humorous but enlightening experience of assembling his first computer, where forgetting to plug it in serves as a metaphor for how we often overlook simple yet crucial steps in our lives. This serves as a reminder of the bad assumptions we make, both in programming and in life.
- Linking coding practices to life: Ernie draws parallels between programming methodologies, specifically Test-Driven Development (TDD), and personal happiness. He critiques how programmers rigorously test for bugs in their code yet often neglect to set personal goals with the same intention and care. The concept of creating a personal “spec” for happiness is explored, but he argues that basic, broad measures of happiness are inadequate.
- Positive psychology: Finally, he highlights the evolution of psychological approaches from the disease model to positive psychology, which aims to enhance overall happiness rather than merely alleviate unhappiness. By discussing this transformation, he encourages the audience to actively pursue strategies that will lead to increased happiness in their lives.

Ernie concludes that by being more intentional and methodical—much like they approach coding—programmers can significantly improve their happiness and well-being. The audience is left with the understanding that happiness is a continuous journey that requires effort and thoughtfulness, much like crafting effective code.

Overall, the strongest takeaway from the talk is that happiness should be treated as the foremost optimization in our careers and lives, urging a shift in mindset to prioritize personal fulfillment over conventional measures of success.

The Most Important Optimization: Happiness
Ernie Miller • February 28, 2013 • Earth

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.

Help us caption & translate this video!

http://amara.org/v/FGcH/

Big Ruby 2013

00:00:19 Hey, everybody! So, uh, first off, what day is it? It's Friday, right? And are we Rubyists? Yes! What do Rubyists do on Friday?
00:00:35 We deploy, right? Besides deploy, we do, uh, Friday hugs, don't we? We haven't done a Friday hug, so I would like to do a Friday hug if we could get everybody to do that!
00:00:48 That's important. Love and all that. There's probably some smokers that still aren't back yet, but that's all right. You know, they don't have any love.
00:01:07 Can we get a hug? All right, ready? Three, two, one.
00:01:13 Got it! All right, I'll tweet that later. That was very, very nice.
00:01:19 Oh, you guys look great! Wait until you see yourselves; you're beautiful, all of you.
00:01:27 So, I want to talk to you about the most important optimization: happiness.
00:01:32 I want to make sure that this fancy clicker works. You see, I'm a pro; I have the Logitech Pro clicker here, so you can tell I'm really an old hat at this.
00:01:48 So first off, how many of you are happy right now?
00:01:53 Yeah? Pretty happy? Is it just because you're at Big Ruby Conf, or are you just happy in general?
00:02:01 And do you know it? That's the other question.
00:02:08 If you do know it, you know what's next, right? Oh, nice! Awesome!
00:02:14 So you started off the day with clapping and now, I've actually tricked you into both hugging me and giving me applause early. So that's really awesome. Thank you!
00:02:20 I'm with LivingSocial. I live socially if you would like to live socially with me. We can chat afterwards. I'm going to hang around until tomorrow morning. We're hiring!
00:02:27 So, I wanted to ask you guys something.
00:02:32 I have some really good news: my New Year's resolution is going phenomenally right now because my New Year's resolution was to speak. And I think I'm doing that right now!
00:02:46 So now, I've got basically ten months, I guess, to screw around. I don't have to do anything successful already.
00:02:52 The bad news about that is this is my first time ever giving a full-length talk. So, there is a not negligible chance that things could go wrong in a spectacularly horrible fashion. And, well, I guess that could be interesting too, I suppose.
00:03:03 So I've been a little bit nervous about this talk, actually, and it's not because I don't have something to say.
00:03:10 I feel like I could probably talk to you without these slides, but I'm going to stick with them anyway.
00:03:16 When I started working on the slides, I called my folks, and I was reminded of one very important thing.
00:03:29 Apparently, I have one fan. And uh, I'm not sure about my mom, and the way that she gives compliments.
00:03:37 You're interesting to listen to. You shouldn't worry, you're interesting to listen to.
00:03:42 She didn't say you're a good speaker; she said interesting to listen to. And I'm not sure how to take that. I hope she's right.
00:04:01 So you might be asking, is this really necessary? Is this talk really necessary?
00:04:08 I sure hope so, because otherwise, I'm about to waste 40 minutes of your lives.
00:04:14 But I would say that it's a reasonable question to ask because people kind of naturally seem to think they have happiness kind of under control.
00:04:21 They take stock of their lives and say, 'I've got a pretty decent life. I'm pretty happy.'
00:04:29 We kind of think we naturally do the things that make us happy.
00:04:35 And for me personally, I guess I have to tell a story to explain this.
00:04:41 So this is me at five years old. My parents got an Atari 2600 for us, which rocked!
00:04:48 That dates me as well, and I loved it. I mean, it was love at first sight.
00:04:55 To tell you how much I loved this thing, you might see that I’m playing what's arguably the absolute worst Atari 2600 game of all time: ET.
00:05:09 I am wearing my lucky ET shirt, and I'm really engrossed in it.
00:05:17 I'm not sure how it required that much concentration to play, but apparently it's really hard stuff.
00:05:26 So about a year later, my parents brought home one of these Cocotwos. You know, right? Pretty awesome!
00:05:35 The thing about the Color Computer 2 that I think is most awesome is the placement of the arrow keys.
00:05:42 They aren't really in very intuitive places on opposite sides of the keyboard.
00:05:48 That was kind of cool, I thought. That was when I finally realized that these games I played were also something I could probably make.
00:05:55 Just by a show of hands, how many of you got into programming because of video games?
00:06:02 Exactly! A lot of people. I kind of suspected that was the case. I didn't think I was an anomaly in that.
00:06:13 Had I had computers growing up? I mean, I was surrounded by technology. I grew up with this stuff!
00:06:21 So I felt reasonably competent, and I ended up building my first computer right around the time I got out of high school.
00:06:29 How many of you have built a computer before?
00:06:36 Okay! If you’re like me, this isn’t my computer, but this looks like one.
00:06:42 This is almost exactly what I had to build. It was a dual P2.
00:06:50 The thing about building computers is it’s not really that hard.
00:06:57 It's actually basically putting together a jigsaw puzzle, except that the jigsaw puzzle is comprised of pieces that cost hundreds of dollars.
00:07:04 The problem is, if you're me and have limited earning potential at this point in your life, you stress non-stop.
00:07:12 You're probably sweating all over the motherboard and everything else as you assemble it.
00:07:21 There's nothing like sweating all over the thing to help electronics, right?
00:07:29 I really stressed when I was putting this thing together.
00:07:35 I spent half an hour or so checking and rechecking everything.
00:07:42 I was terrified that the first time I pressed the power button, it was going to explode.
00:07:49 Then, I had it in a full tower case; that's how I roll!
00:07:57 Never mind that I couldn't lift the thing! I had to get some help to slide it onto a desk and press the power button.
00:08:05 Absolutely nothing happens. I was mortified!
00:08:13 I mean, this is absolutely horrible. This is not going as planned!
00:08:19 I started unseating memory and plugging things back in, reinstalling the CPUs and everything else.
00:08:26 This went on for about 15 minutes or so.
00:08:35 Does anybody care to guess what the problem was?
00:08:44 As it turns out, in order to power on a desktop computer, you must first plug it in!
00:08:52 So I learned this, and I guess my takeaway is that sometimes, when you're immersed in stuff and think you have all the easy stuff covered, you miss the easy stuff.
00:09:01 Sometimes, and you'll thank me for putting this on two slides, I am an idiot.
00:09:08 I would go so far as to say that sometimes, maybe you guys are idiots too.
00:09:14 Now, I think most of the time you're smart, and also you're very attractive.
00:09:20 So, there's that.
00:09:27 But I think we have a tendency, whenever we think we sort of know what's going on, to make some bad assumptions.
00:09:34 We say, 'Oh, you know, this is definitely how someone is going to use my app,' or 'This is how I'm going to live my life.' We just assume that it's going to work out.
00:09:40 Sometimes we skip steps.
00:09:48 Now, in programming, we have a technique that we use to avoid making bad assumptions and skipping steps.
00:09:53 What is it that we tend to do as programmers? Right! We do TDD!
00:09:58 So we go through this red-green-refactor process where we describe what we want to do and then we see whether or not we're doing it.
00:10:06 Then we make it better, right?
00:10:14 And it seems strange that we're so good at doing that whenever we write code.
00:10:21 I mean, we are test obsessed in a lot of cases!
00:10:28 But when we live our lives, we don't set up goals in the same way and be really intentional about it.
00:10:36 So I've gone ahead and written a spec here.
00:10:44 What do you think? Is that a good spec? Does that cover a lot?
00:10:51 Maybe you don't like specs; that's okay - I've got mini-test for you too if you prefer.
00:10:58 So, I think this spec and this test suck.
00:11:05 I mean, this is a horrible test, right?
00:11:12 It's either all or nothing! It doesn't split things down into something granular.
00:11:19 You can't approach it in a sensible way.
00:11:24 Let's go back to red-green-refactor for a second and think about it.
00:11:31 So, what is red? Really, red is making it clear what it is that you're trying to accomplish.
00:11:40 Green is making it real. You've set expectations.
00:11:47 Now you make reality line up with the expectations in some way.
00:11:53 At the refactor point, you're trying to improve it, make it better.
00:12:02 I guess we should probably define what better is before we move forward.
00:12:10 And given the title of the talk, I hope that better means it's more conducive to your own happiness.
00:12:15 Before I ever actually submitted this talk, I started sitting down writing huge lists of things that I thought made me happy.
00:12:22 I ended up with dozens and dozens of things.
00:12:29 I started categorizing them, kind of figuring out, you know, can I find any common thread here?
00:12:38 I decided that maybe whenever I get the talk acceptance, I should probably do some research.
00:12:45 Because maybe I'm supposed to actually know about this stuff.
00:12:52 So I went to Wikipedia and I learned a little bit about what I described earlier, which is that it’s an endless journey.
00:13:02 It turns out psychologists are really interesting by the way.
00:13:10 Brief aside: psychology used to approach things using a disease model.
00:13:17 What that means is they're trying to make you less bad. They're not trying to improve things.
00:13:27 So, if you were a five on a scale from one to 10, they want to bring you to a three.
00:13:34 And they say, 'That's a win! Awesome! You're now at a three, where you were really, really unhappy before!'
00:13:41 Then this movement called positive psychology got started. They said, 'Well, there actually might be some way that we can take people and bring them into positive numbers in terms of their overall happiness. We could use psychology to actually improve their life instead of just make it suck less.'
Explore all talks recorded at Big Ruby 2013
+10