WEBVTT

1
00:00:23.180 --> 00:00:23.960
<v Matt Godbolt>Hey, Ben.

2
00:00:23.960 --> 00:00:24.760
<v Ben Rady>Hey, Matt.

3
00:00:24.760 --> 00:00:38.080
<v Matt Godbolt>I mucked up the intro, didn't I? So this is going to be a ah pain to edit. Nevermind. Hello. How are you doing? I'm just making notes for myself in the actual audio recording that everyone's going to hear about how badly I mucked it up.

4
00:00:38.080 --> 00:00:38.640
<v Ben Rady>I'm doing just fine.

5
00:00:38.640 --> 00:00:43.080
<v Ben Rady>Well, you know, that's fine. This is this is a high production value podcast.

6
00:00:43.080 --> 00:00:43.930
<v Matt Godbolt>it is Well, it is.

7
00:00:43.930 --> 00:00:44.360
<v Ben Rady>So we have.

8
00:00:44.360 --> 00:00:48.940
<v Matt Godbolt>I made you get an electronics project box out just to make your microphone a bit higher up.

9
00:00:48.940 --> 00:00:51.200
<v Ben Rady>Uh-huh, yeah, because I had to build a better microphone.

10
00:00:51.200 --> 00:00:51.720
<v Matt Godbolt>so

11
00:00:51.720 --> 00:00:54.050
<v Ben Rady>So you start with the electronic project box, and then no.

12
00:00:54.050 --> 00:00:54.740
<v Matt Godbolt>You had to.

13
00:00:54.740 --> 00:01:01.940
<v Matt Godbolt>No, we didn't quite. I dread to think how complicated and how deep that rabbit hole goes. If you if you can actually say, no, I want to make my own microphone because I.

14
00:01:01.940 --> 00:01:04.860
<v Ben Rady>I'm going to make my own USB microphone, right?

15
00:01:04.860 --> 00:01:22.130
<v Matt Godbolt>Oh my gosh, what technology would, that's, that's a really interesting, I know this is not what we were going to talk about, but what a fascinating set of technologies you need to understand, both analog electronics, digital electronics protocols, isochronous, whatever it's called, isochronous.

16
00:01:22.130 --> 00:01:22.200
<v Ben Rady>Yes.

17
00:01:22.200 --> 00:01:22.270
<v Ben Rady>Yeah.

18
00:01:22.270 --> 00:01:22.340
<v Ben Rady>Uh-huh.

19
00:01:22.340 --> 00:01:31.780
<v Matt Godbolt>I just feel like it should be isochronous really, but, um, yeah. All right. Well, we're not doing that right now. We both have commercially bought microphones, I should add.

20
00:01:31.780 --> 00:01:32.420
<v Ben Rady>Yes, made by professionals who are not us.

21
00:01:32.420 --> 00:01:37.140
<v Matt Godbolt>and And hopefully, yeah we yeah, I'm a professional.

22
00:01:37.140 --> 00:01:40.000
<v Ben Rady>A professional USB microphone maker.

23
00:01:40.000 --> 00:01:42.490
<v Matt Godbolt>No, but I am a professional. You just said professionals.

24
00:01:42.490 --> 00:01:42.740
<v Ben Rady>Mm-hmm.

25
00:01:42.740 --> 00:01:45.340
<v Matt Godbolt>You didn't qualify.

26
00:01:45.340 --> 00:01:48.500
<v Ben Rady>I'm a professional boxer. Here's my USB microphone that I made.

27
00:01:48.500 --> 00:01:50.620
<v Matt Godbolt>That's right. what That works.

28
00:01:50.620 --> 00:01:51.880
<v Ben Rady>Yes.

29
00:01:51.880 --> 00:01:56.160
<v Matt Godbolt>Anyway, that's not what we were going to talk about today. What are we going to talk about today?

30
00:01:56.160 --> 00:02:02.900
<v Ben Rady>ah I was kind of thinking about talking about I don't really have a better title than The Joy of Programming.

31
00:02:02.900 --> 00:02:04.660
<v Matt Godbolt>The joy of programming.

32
00:02:04.660 --> 00:02:05.100
<v Ben Rady>It's right.

33
00:02:05.100 --> 00:02:07.240
<v Matt Godbolt>I love that name. That's great.

34
00:02:07.240 --> 00:02:17.200
<v Ben Rady>It's, yeah, it's sort of like, um you know, possible references to possible things from the 70s that might be not appropriate for children but um the

35
00:02:17.200 --> 00:02:24.520
<v Matt Godbolt>Didn't Madonna make a book that was something like that as well? I think that was ah the joy of something else that, yeah, again, not.

36
00:02:24.520 --> 00:02:38.020
<v Ben Rady>maybe I don't know that that the book I'm thinking of is not that isn't was not written by Madonna, but in any case, ah the the phenomena of ah doing things that cause dopamine to be released into your brain.

37
00:02:38.020 --> 00:02:38.320
<v Matt Godbolt>OK.

38
00:02:38.320 --> 00:02:38.940
<v Matt Godbolt>Right.

39
00:02:38.940 --> 00:02:48.110
<v Ben Rady>which in some instances you might call addiction, in other instances you might call ah the thing that we do professionally and get paid for, which is programming.

40
00:02:48.110 --> 00:02:49.100
<v Matt Godbolt>Well, that's an interesting.

41
00:02:49.100 --> 00:03:23.500
<v Ben Rady>And there are many other things, but there's just sort of this amazing phenomena of if you love to so program, ah there are aspects of it that are deeply rewarding to you. And I have definitely had this sort of like, you know, um moments in my life where I had opportunities to maybe step away from that and then ultimately decided that I did not want to do that because programming brings me a lot of joy. And it seems like it would be a shame to give up on it. So I was maybe gonna talk through and think about, okay, what specifically about programming

42
00:03:23.500 --> 00:03:25.740
<v Ben Rady>brings us joy as programmers who love to do these things.

43
00:03:25.740 --> 00:03:46.020
<v Matt Godbolt>What an amazing, what an amazing topic. And as all of these, uh, therapy sessions, I mean, sorry, podcast recordings go, it couldn't be more timely in so many ways, which I'd like to think that you had the foresight to think about that and go, Hey, I'm going to propose a topic which is going to make Matt feel better.

44
00:03:46.020 --> 00:04:04.820
<v Matt Godbolt>but um you know ah But one thing I would say is that your comment about addiction um is rings somewhat true, but my understanding is that the addiction part has the negative connotation, a negative part of the definition, which is that you will seek out that dopamine rush to the detriment of other aspects of a normal life, or something

45
00:04:04.820 --> 00:04:07.100
<v Ben Rady>And we don't do that with programming because.

46
00:04:07.100 --> 00:04:18.840
<v Matt Godbolt>Some phrase, and well, I mean, so there's a difference. There is a difference. Like if you leave your child at school and forget to pick them up because you're programming, that might be considered an addiction.

47
00:04:18.840 --> 00:04:19.000
<v Ben Rady>Yeah.

48
00:04:19.000 --> 00:04:22.660
<v Matt Godbolt>And I'm sure we've but all but skirted the edge of things like that.

49
00:04:22.660 --> 00:04:23.000
<v Ben Rady>Yeah.

50
00:04:23.000 --> 00:04:30.560
<v Matt Godbolt>But I said, it's a very different thing from, you know, and so right. Personal example, many times while I'm in the flow state,

51
00:04:30.560 --> 00:04:31.060
<v Ben Rady>Yeah.

52
00:04:31.060 --> 00:04:32.740
<v Matt Godbolt>pun intended for coming up.

53
00:04:32.740 --> 00:04:32.940
<v Ben Rady>huh

54
00:04:32.940 --> 00:04:37.160
<v Matt Godbolt>I'm in the flow state and I'm programming and time has no meaning whatsoever.

55
00:04:37.160 --> 00:04:37.540
<v Ben Rady>yeah

56
00:04:37.540 --> 00:04:56.010
<v Matt Godbolt>By the time I finish I realize that it's actually excruciatingly painful because I've needed to go to the bathroom for probably half an hour and I've zoned it out so badly that now I need to get into a very different flow state um quite urgently and

57
00:04:56.010 --> 00:04:56.560
<v Ben Rady>Yeah. Yeah.

58
00:04:56.560 --> 00:05:01.660
<v Matt Godbolt>that you could say it has the hallmarks of like being so sort of somewhat destructive of a sort, right, or self destructive, right.

59
00:05:01.660 --> 00:05:01.760
<v Ben Rady>Yeah. Yeah. Yeah.

60
00:05:01.760 --> 00:05:22.620
<v Matt Godbolt>So I get that as ah I get it's on the scale, but I get the I just want to make sure that like, we don't, first of all, we don't um minimalize folks who are on the addiction side of things, whatever those things are, right, there's not trivialize it, right, because this is a little bit of a, this is a light hearted conversation about things we love, not like oh ah anything other than that.

61
00:05:22.620 --> 00:05:22.780
<v Ben Rady>Yeah. Yeah.

62
00:05:22.780 --> 00:05:23.100
<v Ben Rady>Mm hmm.

63
00:05:23.100 --> 00:05:45.420
<v Matt Godbolt>But um yeah, I think maybe the the The part where at programming the the joy of programming is detrimental to my life is that I don't know when to stop doing it for money, and when doing it for fun. That that changeover is. you know like And that can be abused, for example, a hundred million years ago when I was in the games industry.

64
00:05:45.420 --> 00:05:54.680
<v Matt Godbolt>the fact that they barely paid anyone to do anything, but expected us to do 14, 15 hour days for you know seven days a week, for weeks and weeks and weeks upon end.

65
00:05:54.680 --> 00:05:55.560
<v Ben Rady>Right.

66
00:05:55.560 --> 00:06:05.780
<v Matt Godbolt>um There, I think that the fact that I loved it so much and I got so much out of it carried me through in a very different way than I would do nowadays, even though I do love doing it. I will go, actually, you know what?

67
00:06:05.780 --> 00:06:05.860
<v Ben Rady>Mhm.

68
00:06:05.860 --> 00:06:08.640
<v Matt Godbolt>I've got a family to go home to.

69
00:06:08.640 --> 00:06:08.640
<v Ben Rady>Yeah.

70
00:06:08.640 --> 00:06:25.420
<v Matt Godbolt>Anyway, so getting those caveats aside, what makes programming that most that much more fun than most other activities, other than maybe, I don't know, I mean, between consenting adults, golf.

71
00:06:25.420 --> 00:06:28.700
<v Ben Rady>ah Well, or video games.

72
00:06:28.700 --> 00:06:29.440
<v Matt Godbolt>Or video games, yeah.

73
00:06:29.440 --> 00:06:37.720
<v Ben Rady>i mean so i mean and And this is one of the things that was on my mind thinking about this. And again, not trying to trivialize addiction and people who struggle with addiction.

74
00:06:37.720 --> 00:06:38.200
<v Matt Godbolt>Sure.

75
00:06:38.200 --> 00:07:04.900
<v Ben Rady>But there is an argument to be made um And, you know, I was talking to a friend about this earlier today and he was kind of making this argument. It's like, you know, there are sort of older models of addiction and there are new newer models of addiction and one of the more new, although I am not a psychologist or a psychiatrist and I am not trained in any of these things. I'm a very, very much a layman. But I'm just saying from my perspective, the way that I think about this stuff is that you can have functional and dysfunctional behaviors.

76
00:07:04.900 --> 00:07:05.600
<v Matt Godbolt>Mm hmm.

77
00:07:05.600 --> 00:07:19.840
<v Ben Rady>You maybe heard the term functional alcoholic before, and that is a person who struggles with alcohol addiction, but does so in a way that it's not really affecting their life in any sort of like significant enough way.

78
00:07:19.840 --> 00:07:36.330
<v Ben Rady>to be dysfunctional, right? To be in those situations, like you say, where you you know you don't pick your kids up from school or you lose your job or something like that. And video games certainly have this this the same property or can have the same property of you know playing video games

79
00:07:36.330 --> 00:07:37.000
<v Matt Godbolt>Hmm hmm.

80
00:07:37.000 --> 00:07:52.330
<v Ben Rady>Maybe you are you are a functional video game addict and you just play a lot of video games and you enjoy it and you you know just spend a lot of your time on that and that's fine. And maybe you're a dysfunctional video game addict where you're like ducking out of ah work in the middle of the day to play EVE Online.

81
00:07:52.330 --> 00:07:52.600
<v Matt Godbolt>Right.

82
00:07:52.600 --> 00:08:01.300
<v Matt Godbolt>maybe Maybe, maybe it's five in the morning and you're still playing your level 70 cleric and you know, you've got to get up in 35 minutes time and you're, I hear.

83
00:08:01.300 --> 00:08:01.820
<v Ben Rady>Yes, right.

84
00:08:01.820 --> 00:08:40.020
<v Ben Rady>Exactly, exactly, exactly. And I am guilty of of that for sure, especially in my younger days where it's like, you know, I would play video games until two zero in the morning. And then, ah you know, like when I was in in school, I would play video games super late and then have to wake up early for class and then fall asleep in class. And I'm like, this is a problem. I need to not do this anymore. And so like, why are these like, why why do we do these things? We do these things because dopamine. and Programming has this, ah and you know you're talking about the flow state earlier, programming has this amazing ability to put us into this state where we're just like getting the dopamine rewards over and over and over again.

85
00:08:40.020 --> 00:08:52.620
<v Ben Rady>And you're like, oh my God, this is amazing. And then five hours fly by just like with the with the video games, right? um But of course, no one's going to like, you know, say, Ben, you're addicted to programming and you need to stop, right?

86
00:08:52.620 --> 00:08:53.220
<v Ben Rady>Like, like that's,

87
00:08:53.220 --> 00:08:55.800
<v Matt Godbolt>No, they say, thank you very much, Ben. Here's another paycheck. Keep doing it.

88
00:08:55.800 --> 00:09:13.660
<v Ben Rady>Exactly. and And as you were saying, like ironically, in maybe not ironically, in the video games industry, that it's like, yeah, they'll be very happy to just have you work 12 hour days. And not only will they not have an intervention for you and tell you that you have a problem, but they will reward you and say great work and you know put your name on the on the side of the of the case.

89
00:09:13.660 --> 00:09:14.220
<v Matt Godbolt>That's not exclusive to video games.

90
00:09:14.220 --> 00:09:14.340
<v Ben Rady>so True.

91
00:09:14.340 --> 00:09:20.110
<v Matt Godbolt>You know, I think, you know, there are many places that will be happy to take on extra, extra work for no extra money.

92
00:09:20.110 --> 00:09:20.940
<v Ben Rady>Of course. Of course.

93
00:09:20.940 --> 00:09:49.380
<v Ben Rady>Of course. So so like I kind of wanted to to think about this in the context of like how do you harness this this property, this reality, for good? and how do you And what are the things that you do that sort of bring you this joy and and let you do these things um and let you turn it into a career? And you know the sort of dimension that I was talking about before of like not giving up on it, right? Because it's like,

94
00:09:49.380 --> 00:10:09.960
<v Ben Rady>You could, for certain other behaviors that are like this, see this property as a curse. Like when you do this thing, your brain releases a bunch of dopamine and that means you're just going to want to do it all the time, right? And you apply that property to a bunch of different things and you get a bunch of different results. You apply it to programming and we call that a career, right?

95
00:10:09.960 --> 00:10:38.780
<v Ben Rady>So like, what is it that that does that? And is that something that you should give up? Is that something that you should try to stop? I argue no. I argue lean into it. I argue embrace it and maybe even be thankful for it. um As I was saying, you know, 10 minutes ago, I've had different opportunities in my career to sort of move into roles where I'm not coding anymore.

96
00:10:38.780 --> 00:10:45.300
<v Ben Rady>And I've tried that, I've done it, and I didn't enjoy it. and um I think we've talked about this on the pod before.

97
00:10:45.300 --> 00:10:46.500
<v Matt Godbolt>Mm hmm.

98
00:10:46.500 --> 00:11:05.020
<v Ben Rady>um And one of the reasons why I decided not to do that is because I really view this joy of programming as a gift. It is a very fortunate thing that the thing that I, one of the things I absolutely love to do also pays really well.

99
00:11:05.020 --> 00:11:05.720
<v Matt Godbolt>the Yes.

100
00:11:05.720 --> 00:11:14.500
<v Ben Rady>And I would be sick if I ever gave that up and put myself in a position where I was like, ah, I hate my job now. Right?

101
00:11:14.500 --> 00:11:28.490
<v Matt Godbolt>It's yeah, I mean, this has been a 30 plus year career for me too, where everyone I've ever spoken to who has a quote, normal job, because I don't know how common it is that you and I, the situation that you and I are in.

102
00:11:28.490 --> 00:11:28.980
<v Ben Rady>Yeah.

103
00:11:28.980 --> 00:11:41.300
<v Matt Godbolt>But other people would introduce me and say, you know, like, you know, he does his hobby for a living. And I think, yes, I do. And, you know, it was 10 years into my career that my mum stopped asking me, when are you going to get a real job?

104
00:11:41.300 --> 00:11:44.010
<v Matt Godbolt>Because to her, I didn't have I mean, part of that was games, right?

105
00:11:44.010 --> 00:11:44.220
<v Ben Rady>yeah

106
00:11:44.220 --> 00:11:46.700
<v Matt Godbolt>But but also like, you know, if you if you

107
00:11:46.700 --> 00:11:47.240
<v Ben Rady>right

108
00:11:47.240 --> 00:12:07.410
<v Matt Godbolt>you know that was the quote you know about work-life balance whatever like if you love your job then there is no balance to be had you know there is no work and life that are separate things your your work is part of your life which i mean inevitably it is and the dysfunction then comes when you do it too much and you can't stop and your but let personal relationships suffer in a way that you you know

109
00:12:07.410 --> 00:12:07.770
<v Ben Rady>Yeah.

110
00:12:07.770 --> 00:12:08.120
<v Ben Rady>Yeah.

111
00:12:08.120 --> 00:12:09.580
<v Matt Godbolt>But just suffer, full stop.

112
00:12:09.580 --> 00:12:10.280
<v Ben Rady>Right.

113
00:12:10.280 --> 00:12:28.670
<v Matt Godbolt>But yes, to your point, if I can get on a train at 7:30 in the morning, get to work, spend eight, nine hours a day in a flow state or close to enjoying what I'm doing, provide enormous value, we hope, to a company and they remunerate me for doing that.

114
00:12:28.670 --> 00:12:29.560
<v Ben Rady>Mm hmm. Mm hmm.

115
00:12:29.560 --> 00:12:43.200
<v Matt Godbolt>and I high-five everyone on the way out, get on a train, go home, maybe even have some energy to do some hobby programming in the evening still somehow, then why would you stop doing that? What what possible reason is there to do that?

116
00:12:43.200 --> 00:12:43.620
<v Ben Rady>Why would you stop?

117
00:12:43.620 --> 00:12:44.210
<v Ben Rady>Yes, yes.

118
00:12:44.210 --> 00:13:18.480
<v Matt Godbolt>you know you So, one counter there, obviously, is that you do have, unlike, again, many other careers or things that you might ah um What's the word I'm looking for here? ah Let me just explain it like one thing that we have is our job is accessible to us remotely as in when I get home I can carry on my job but I can also do the things most of the things that I could do in my day job I can do as an individual person I can write the I can write code for my hobby projects I can nowadays fire up cloud providers worth of GPUs if I want to play around with GPU related stuff and it's you know it's not

119
00:13:18.480 --> 00:13:32.110
<v Matt Godbolt>free, but it's also not super expensive. and There's not like too many things. Now, the very, very crazy low latency stuff that I also love doing gives me the probably the most dopamine is not something I can do because I do need some magical stuff to be able to play with ah in the evenings.

120
00:13:32.110 --> 00:13:32.260
<v Ben Rady>Mm hmm.

121
00:13:32.260 --> 00:13:46.020
<v Matt Godbolt>But by and large, I could say to myself, all right, for some other trade off in my life, I will spend my time at work not doing the thing that I love for some other benefit to be determined.

122
00:13:46.020 --> 00:13:58.400
<v Matt Godbolt>But I still at least can go home and do it ah on my own time and do my own projects, which is, again, harder to do for some folks, or at least maybe they have a different thing that is just, you know, I knit when I get home.

123
00:13:58.400 --> 00:13:58.990
<v Matt Godbolt>Sure. Right.

124
00:13:58.990 --> 00:13:59.060
<v Ben Rady>Mm hmm.

125
00:13:59.060 --> 00:14:09.500
<v Matt Godbolt>Fine. um So that that would be my only counter ah to you, um is that like, well, you know, if you loved programming, you can do it on your own time.

126
00:14:09.500 --> 00:14:13.680
<v Ben Rady>True, but like you don't you can't make a career in knitting, at least not in the modern age, right?

127
00:14:13.680 --> 00:14:20.780
<v Matt Godbolt>I'm, yeah, I'm i'm sure that so somebody somewhere is listening to this going like, wait, what? But that's what my grandma did.

128
00:14:20.780 --> 00:14:22.560
<v Ben Rady>Yeah, I mean, it's very difficult.

129
00:14:22.560 --> 00:14:22.900
<v Matt Godbolt>Sorry, I'm gendering that.

130
00:14:22.900 --> 00:14:23.180
<v Ben Rady>Let me rephrase.

131
00:14:23.180 --> 00:14:23.640
<v Matt Godbolt>ah It's difficult. All right.

132
00:14:23.640 --> 00:14:27.560
<v Ben Rady>It is extremely difficult to make a career in knitting that um

133
00:14:27.560 --> 00:14:27.560
<v Matt Godbolt>Well.

134
00:14:27.560 --> 00:14:39.360
<v Ben Rady>it's ah there's a there's a I'm gonna bring back the golf reference. There's a golf joke. The the Korn-Ferry tour is like the the you know the the minor leagues of golf.

135
00:14:39.360 --> 00:14:39.840
<v Matt Godbolt>Okay.

136
00:14:39.840 --> 00:14:48.570
<v Ben Rady>And there's a joke that's like, what's the difference between a Korn-Ferry tour player and two large pizzas? Two large pizzas can feed a family of four, right?

137
00:14:48.570 --> 00:14:48.820
<v Matt Godbolt>Yep.

138
00:14:48.820 --> 00:14:57.020
<v Ben Rady>Like the problem with those sort of hobby professions in most cases when you're sort of doing the thing that you love is that it doesn't pay particularly well.

139
00:14:57.020 --> 00:15:04.770
<v Matt Godbolt>Right. You may be the world's best musician, but like only one in a million people will make it to somewhere where they can support themselves.

140
00:15:04.770 --> 00:15:04.900
<v Ben Rady>Right.

141
00:15:04.900 --> 00:15:13.930
<v Matt Godbolt>So you're probably working three jobs and then busking in the evenings if you want to try and make that a career. Whereas programming, at least the programming that you and I do, someone is more than happy.

142
00:15:13.930 --> 00:15:14.060
<v Ben Rady>Yeah.

143
00:15:14.060 --> 00:15:17.400
<v Matt Godbolt>They will fall over themselves to say, can you please come and program for me?

144
00:15:17.400 --> 00:15:18.000
<v Ben Rady>Right.

145
00:15:18.000 --> 00:15:22.650
<v Matt Godbolt>And here's some money for you. That's like very, very reasonable. Thank you very much. Right. So that's a difference.

146
00:15:22.650 --> 00:15:22.740
<v Ben Rady>Yes.

147
00:15:22.740 --> 00:15:49.540
<v Matt Godbolt>I get you that. But what if that same company says you are We value your wisdom. You've been doing this for 30 years, Ben. You have a great way with people. we People follow your lead. People will align themselves with your goals. You will carefully and patiently explain things to junior folks, and they will be better because of what the time that they spent with you telling them or teaching and coaching them. Could you do that for us instead?

148
00:15:49.540 --> 00:16:05.360
<v Matt Godbolt>because It's so much more valuable to my company that I have you making the shot, calling the shots and mentoring and coaching than it is to have your hands on the keyboard because I only get one Ben and he's amazing, but your hands on the keyboard make one Ben go fast.

149
00:16:05.360 --> 00:16:13.420
<v Matt Godbolt>Whereas you talking to 15 people in a, you know, for an hour gets 15 people going 20% faster. Now, unfortunately beats you. What would you say to that?

150
00:16:13.420 --> 00:16:20.700
<v Ben Rady>Uh-huh. Well, so in that particular case, I also love mentoring people. So like that's that's maybe a special situation of like, oh, I don't mind doing that at all.

151
00:16:20.700 --> 00:16:20.760
<v Matt Godbolt>Okay. All right.

152
00:16:20.760 --> 00:16:31.620
<v Ben Rady>That's fun, too. um But for maybe the more ah you know a different aspect of that, which is, Ben, you're really good at organizing and planning and coordinating.

153
00:16:31.620 --> 00:16:42.160
<v Ben Rady>Can you please sit in meetings all day and make sure that the you know software engineers who work in this company are working on the right thing? I would say, yes, I am capable of that. And I'm going to choose not to.

154
00:16:42.160 --> 00:16:44.380
<v Matt Godbolt>Right.

155
00:16:44.380 --> 00:16:48.300
<v Ben Rady>because that will not bring me joy.

156
00:16:48.300 --> 00:17:01.400
<v Matt Godbolt>Right. and And again, the fact that you could go home and bring joy to yourself, which sounds now very dodgy now I say that out loud. Not like that. ah Not in a lusty way.

157
00:17:01.400 --> 00:17:02.820
<v Matt Godbolt>um um You could come home and and program.

158
00:17:02.820 --> 00:17:09.240
<v Ben Rady>Yes, I could come home and I could do any number of things and I do, you know, I i love golf and I play golf on the weekends, right?

159
00:17:09.240 --> 00:17:09.360
<v Matt Godbolt>Yeah.

160
00:17:09.360 --> 00:17:15.280
<v Ben Rady>No one's gonna, you know, again, feeding the family of four, no one's gonna pay me for golf and I'm not on the Korn Ferry tour anytime soon.

161
00:17:15.280 --> 00:17:15.780
<v Matt Godbolt>Yeah.

162
00:17:15.780 --> 00:17:26.340
<v Ben Rady>um I do those things and those are fun. That's part of having a, you know, heterogeneous, rich life full of lots of, you know, different aspects and not just being single, you know, yes.

163
00:17:26.340 --> 00:17:54.930
<v Matt Godbolt>Right, right. So you're saying like. as as part of the tapestry of life, programming is a really big part of that, of joy for you, sir but that it's not the only thing, but of the things that bring you joy, it is the only one that you could make ah your career out of, and therefore the spare time that you have when you get home could be used for more programming, but it could also be used for time with loved ones, ah time play on on the golf field or in your backyard, in your golf simulator with your crazy, all those video games, yes, yeah.

164
00:17:54.930 --> 00:17:55.340
<v Ben Rady>yeah Yeah. Yes.

165
00:17:55.340 --> 00:17:56.520
<v Ben Rady>Great. Yeah, or playing those video games that I love to be addicted to. a Yes, exactly.

166
00:17:56.520 --> 00:18:07.240
<v Matt Godbolt>Yeah, I think that's a really level. I mean, I don't know. I'm not surprised, ah but it's a very thoughtful level headed response to what I thought was going to be a difficult and challenging question for you.

167
00:18:07.240 --> 00:18:07.240
<v Matt Godbolt>So evidently.

168
00:18:07.240 --> 00:18:18.910
<v Ben Rady>Well, I mean, I do think about these things. um But yeah, so one thing I wanted to get into in this episode is you know we talked about flow state earlier, right?

169
00:18:18.910 --> 00:18:19.280
<v Matt Godbolt>Yeah.

170
00:18:19.280 --> 00:18:27.480
<v Ben Rady>We should probably talk about that for people who may not be familiar with it. I would hope that most programmers will at least recognize it when they when they when they hear it explained, right?

171
00:18:27.480 --> 00:18:33.040
<v Matt Godbolt>Or even if it exactly, yeah, yeah, I think you've got Oh, well, even not without it. I think the name is sort of quite a motive of what the the concept feels like.

172
00:18:33.040 --> 00:18:33.040
<v Ben Rady>Yes.

173
00:18:33.040 --> 00:18:38.860
<v Matt Godbolt>But yeah, we should definitely I will I will I mean, we sort of touched on it already.

174
00:18:38.860 --> 00:18:39.140
<v Ben Rady>Yeah, yeah. You want to take a crack at a definition of flow state?

175
00:18:39.140 --> 00:18:52.820
<v Matt Godbolt>You know, like we said that flow state where you look up and five hours have gone and you're busting for a wee, right? You know, that's that's what flows. I'm pretty sure there are textbooks that describe it like that. um No, but it it is the point of which you have become um so

176
00:18:52.820 --> 00:18:52.820
<v Ben Rady>here

177
00:18:52.820 --> 00:19:18.180
<v Matt Godbolt>deeply ingrained in what you're doing, that you don't notice what's going on around you, you completely zone out anything that's around you. um And you're able to make essentially what feel like, um ah I always think when I was talking to my kids about this in their music, which is a complete non sequitur, but like, I talk about it in terms of of Star Wars references, it's like it's when the force is flowing through you.

178
00:19:18.180 --> 00:19:18.640
<v Ben Rady>Mm hmm.

179
00:19:18.640 --> 00:19:19.080
<v Ben Rady>Yeah, yeah, yeah.

180
00:19:19.080 --> 00:19:26.230
<v Matt Godbolt>Right? You know, you you everything comes instinctively, you're all tabbing between things, you're pressing buttons, and you're not even aware that you're doing them.

181
00:19:26.230 --> 00:19:26.300
<v Ben Rady>Mm hmm.

182
00:19:26.300 --> 00:19:31.710
<v Matt Godbolt>It feels all automatic. Everything's going. Maybe you've got music going in your ears that tends to help me.

183
00:19:31.710 --> 00:19:32.040
<v Ben Rady>Mm hmm.

184
00:19:32.040 --> 00:19:42.680
<v Matt Godbolt>Maybe you haven't. Maybe you don't need it. Maybe you're just in that. But like, essentially, your attention is focused and directed and everything is just feels so natural. And then you get a tap on the shoulder and the whole thing falls over.

185
00:19:42.680 --> 00:19:49.060
<v Matt Godbolt>It feels like you've tripped over a tree root, you know, in those kind of weird dreams where you suddenly your whole body twitches and everyone Oh, what, what and you're jarred out of it.

186
00:19:49.060 --> 00:19:49.140
<v Ben Rady>Right, right.

187
00:19:49.140 --> 00:19:56.060
<v Matt Godbolt>And then you're like, Oh shit. And then you're trying to get back into it and it's gone, but you can be so productive and it's so, so, uh, uh, enjoyable.

188
00:19:56.060 --> 00:19:56.340
<v Ben Rady>Mm hmm.

189
00:19:56.340 --> 00:20:00.990
<v Matt Godbolt>I mean, to, to coin, you know, to go back to your endorphin, uh, rush or your dopamine rush.

190
00:20:00.990 --> 00:20:01.740
<v Ben Rady>Mm hmm.

191
00:20:01.740 --> 00:20:03.990
<v Matt Godbolt>Um, it is so enjoyable when you're in that you're making progress.

192
00:20:03.990 --> 00:20:04.200
<v Ben Rady>Mm hmm.

193
00:20:04.200 --> 00:20:10.540
<v Matt Godbolt>Everything just feels great. So yeah, I made it sound very druggy now.

194
00:20:10.540 --> 00:20:18.400
<v Ben Rady>No, I mean, it's, so i I read, I tried to read a book on this. so I'm gonna go see if I can figure out the name of this book.

195
00:20:18.400 --> 00:20:19.570
<v Matt Godbolt>Oh, good luck finding that.

196
00:20:19.570 --> 00:20:20.600
<v Ben Rady>um But I, yeah, no, there's, um what is the name of this book again?

197
00:20:20.600 --> 00:20:29.000
<v Matt Godbolt>This is where, because we're not going to do much editing of this, I can talk while you Google if you like. So but we're going for listener.

198
00:20:29.000 --> 00:20:37.740
<v Ben Rady>It is Flow, The Psychology of Something, The Psychology of Optimal,

199
00:20:37.740 --> 00:20:38.020
<v Matt Godbolt>We are. Oh yeah, we got it.

200
00:20:38.020 --> 00:20:38.180
<v Matt Godbolt>Oh, he's trying to.

201
00:20:38.180 --> 00:20:48.500
<v Ben Rady>the psychology of optimal experience. So this book, I didn't really like this book, because I was looking for like a deeper, more thorough explanation of this phenomena. And this book kind of seemed like...

202
00:20:48.500 --> 00:20:51.960
<v Matt Godbolt>Sorry, you said Phenomena and I have to go... but Phenomena.

203
00:20:51.960 --> 00:20:54.490
<v Ben Rady>Yep, phenomena. do doo do do

204
00:20:54.490 --> 00:20:58.880
<v Matt Godbolt>Well, there's our cold open.

205
00:20:58.880 --> 00:21:02.280
<v Ben Rady>Yep.

206
00:21:02.280 --> 00:21:03.760
<v Matt Godbolt>well Anyway, you didn't like the book. You didn't like the book.

207
00:21:03.760 --> 00:21:09.680
<v Ben Rady>Uh, yeah, I didn't like the book because it it got a little culty. It got a little like, uh, woo woo. You know what I mean?

208
00:21:09.680 --> 00:21:11.580
<v Matt Godbolt>as As these self-help books are want to do,

209
00:21:11.580 --> 00:21:24.100
<v Ben Rady>yeah Yeah, but but therere i um my memory of this is that he did have a pretty clear definition of flow state, which is sort of the intersection of focus and proficiency, right?

210
00:21:24.100 --> 00:21:24.420
<v Matt Godbolt>Oh.

211
00:21:24.420 --> 00:21:56.920
<v Ben Rady>You're very focused on something that you know how to do well. And and again, getting back to video games, if you've been like a moderately good player in like a first-person shooter, you have definitely experienced flow state where you are just moving around, reacting to your environment, shooting at targets, you know you know going through the a level maybe that you've done a couple of times. like That is 100% flow state. And it is the same thing that you feel when you are working on a task where you are proficient and are able to focus.

212
00:21:56.920 --> 00:22:12.000
<v Ben Rady>and you're making sort of good progress. Now, there's definitely a state of programming where you're not in flow state where you're just staring at a stack trace and you're very confused and you're not feeling very proficient and maybe not very focused and you're just like, I don't understand what's going on here.

213
00:22:12.000 --> 00:22:12.160
<v Matt Godbolt>Mm hmm.

214
00:22:12.160 --> 00:22:22.430
<v Matt Godbolt>Or, or more on brand for us, you're waiting for a long build, or, you know, you've been knocked off of like your, your, your, your flow, because you're waiting for something you've all tabbed to, because you've been distracted, right?

215
00:22:22.430 --> 00:22:22.470
<v Ben Rady>Yeah.

216
00:22:22.470 --> 00:22:22.500
<v Ben Rady>Yeah.

217
00:22:22.500 --> 00:22:27.300
<v Matt Godbolt>You've had ah and ah some kind of external stimulus has applied to you.

218
00:22:27.300 --> 00:22:37.180
<v Ben Rady>Mm hmm. Mm hmm. But but I view that flow state as being like the core of the joy of programming. Right. Is is and there are other interesting things.

219
00:22:37.180 --> 00:22:37.180
<v Matt Godbolt>That's.

220
00:22:37.180 --> 00:22:42.120
<v Ben Rady>There are other interesting things about programming that are fun and I enjoy. But it's like that's like the main loop of of the joy of programming.

221
00:22:42.120 --> 00:22:44.720
<v Matt Godbolt>That is your, right, the nugget, the center of it that you build everything.

222
00:22:44.720 --> 00:22:45.200
<v Ben Rady>Yes.

223
00:22:45.200 --> 00:22:58.390
<v Matt Godbolt>is I was going to say, like, you know, again, away from the keyboard and having just come out of a few meetings today where this has happened to me, we've had some great discussions with people with, the you know, the moral equivalent of whiteboarding ideas where that can also be very rewarding.

224
00:22:58.390 --> 00:22:58.740
<v Ben Rady>Mm hmm.

225
00:22:58.740 --> 00:22:59.460
<v Ben Rady>Yeah, yeah.

226
00:22:59.460 --> 00:23:15.570
<v Matt Godbolt>And, and, and essentially when when people ask me, what do I like about programming? I do, I do like the flow state and I think it is a very big part of, of certainly the, you know why we why you are and I are so aligned on things like, you know hey, if we had the build be this much faster, then you know you would just build it and test and build and test.

227
00:23:15.570 --> 00:23:15.640
<v Ben Rady>Right.

228
00:23:15.640 --> 00:23:18.300
<v Matt Godbolt>And then you're like banging away at the code and everything's just going.

229
00:23:18.300 --> 00:23:18.300
<v Ben Rady>Mm hmm.

230
00:23:18.300 --> 00:23:29.930
<v Matt Godbolt>And you're like, this is great. Nothing here has to stop me. um But also, what I tend to say to people is it's problem solving. And it's deep digging. It's like you know always picking up another rock and going, like but why is this broken?

231
00:23:29.930 --> 00:23:30.960
<v Ben Rady>Mm hmm.

232
00:23:30.960 --> 00:23:32.150
<v Matt Godbolt>Hmm, well, that doesn't make any sense.

233
00:23:32.150 --> 00:23:32.400
<v Ben Rady>Mm hmm.

234
00:23:32.400 --> 00:23:43.670
<v Matt Godbolt>And like almost like this. Yeah, that that's what I think. I, I, I, that's what I tell people that I like about programming, but the flow state is a core part of it for me as well.

235
00:23:43.670 --> 00:23:43.980
<v Ben Rady>Yeah.

236
00:23:43.980 --> 00:23:47.090
<v Ben Rady>Yep, yep. And sometimes those things go together, right?

237
00:23:47.090 --> 00:23:47.300
<v Matt Godbolt>Right.

238
00:23:47.300 --> 00:23:55.900
<v Ben Rady>Like you can be in a flow while solving a problem. And like, again, video game analogy, it's like, OK, how do I solve? How do I figure out this um this dungeon?

239
00:23:55.900 --> 00:23:58.920
<v Matt Godbolt>This dungeon. How do I get this thing up to this?

240
00:23:58.920 --> 00:23:59.120
<v Ben Rady>Yes, exactly.

241
00:23:59.120 --> 00:24:00.980
<v Matt Godbolt>How on earth do I get the fight flame down from up there if without?

242
00:24:00.980 --> 00:24:01.090
<v Ben Rady>Right.

243
00:24:01.090 --> 00:24:01.400
<v Matt Godbolt>Yeah, yeah, yeah.

244
00:24:01.400 --> 00:24:05.500
<v Ben Rady>You know, it's like play Portal for an hour and you will experience this for sure.

245
00:24:05.500 --> 00:24:05.800
<v Matt Godbolt>Oh my gosh.

246
00:24:05.800 --> 00:24:05.990
<v Ben Rady>Right.

247
00:24:05.990 --> 00:24:06.360
<v Matt Godbolt>That's true.

248
00:24:06.360 --> 00:24:17.240
<v Ben Rady>um So like you can you can be doing both of those things at the same time. You can also be solving a problems and not be in the flow state and still find that very rewarding. And I certainly do.

249
00:24:17.240 --> 00:24:24.430
<v Ben Rady>Like it's almost more of like a jigsaw puzzle thing where you're just kind of like, you know, like I don't understand how these things are going to fit together.

250
00:24:24.430 --> 00:24:24.580
<v Matt Godbolt>Right.

251
00:24:24.580 --> 00:24:28.940
<v Ben Rady>What am I going to do here? um Although that's maybe not exactly a jigsaw puzzle, but but it's like it's like kind of the same thing, right?

252
00:24:28.940 --> 00:24:32.080
<v Matt Godbolt>No, no, I'm with you. I see it. Yeah.

253
00:24:32.080 --> 00:24:42.530
<v Ben Rady>Yeah. um But yeah, I mean, and those those things, can know the sort of puzzle aspect, maybe more like a Rubik's Cube, like when you don't know all the algorithm to do the Rubik's Cube and you're doing it in 3.4 seconds, right?

254
00:24:42.530 --> 00:24:42.540
<v Matt Godbolt>So.

255
00:24:42.540 --> 00:24:44.140
<v Matt Godbolt>Right. Which is yet not me.

256
00:24:44.140 --> 00:24:53.180
<v Ben Rady>um Yeah. um But like that kind of problem solving and that sort of puzzle solving is also very rewarding, but it's maybe not flow state, right?

257
00:24:53.180 --> 00:25:04.340
<v Matt Godbolt>Yeah. Yeah. Yeah. So do you, I mean, flow state obviously is not a programming concept. It's not unique to programming. We've already just said that, you know, video games also, you can be in a flow state.

258
00:25:04.340 --> 00:25:04.840
<v Ben Rady>Mm-hmm.

259
00:25:04.840 --> 00:25:10.140
<v Matt Godbolt>um Obviously only a very few people get paid a living wage to play video games all day.

260
00:25:10.140 --> 00:25:10.980
<v Ben Rady>Right.

261
00:25:10.980 --> 00:25:16.660
<v Matt Godbolt>I'm something I need to keep informing my teenage children. ah Um, but

262
00:25:16.660 --> 00:25:19.140
<v Ben Rady>Yeah.

263
00:25:19.140 --> 00:25:40.170
<v Matt Godbolt>What else do you think, what other things can be flow state? And what is it about programming, do you think? Is it just ah an accident that we found a job that flow state is good for? Do you think, maybe I mean, maybe ah maybe this is where we could actually invite listeners to send us messages on the emails or hack a term or whatever the communications is and say like, what what other things are there out there?

264
00:25:40.170 --> 00:25:40.260
<v Ben Rady>Mm hmm.

265
00:25:40.260 --> 00:26:03.880
<v Matt Godbolt>Because, you you know, I'm skewed by my knowledge of what um uh what are my experiences and the only other things i can think of that are close to that that uh that you could maybe call a career of people who are like scientists and um you know ah mathematicians who are trying to solve difficult problems of a sort.

266
00:26:03.880 --> 00:26:26.600
<v Matt Godbolt>And, you know, sitting down with a piece of paper working out stuff, and I can only imagine that must be something like a flow state, if you're going to be staring at something for, four you know, three or four hours while you manipulate symbols around and look for that, that glimmer of inspiration that goes, ah, this will cancel with that or so again, I'm so bad at maths, but like, um or similarly, you know, I have, ah there's ah acquaintance of mine that is a theoretical physicist.

267
00:26:26.600 --> 00:26:39.340
<v Matt Godbolt>And I can only imagine that what goes on when he's at his ah desk at work with his feet up on his desk, just with his head hands hands behind his head, just thinking about physics, which is presumably what a theoretical physicist does, right?

268
00:26:39.340 --> 00:26:39.620
<v Ben Rady>Mm hmm.

269
00:26:39.620 --> 00:26:46.040
<v Matt Godbolt>There's got to be something going on in there that's like, you know, akin to what I must be feeling when you know, you're trying to go, well, what if that happens over there?

270
00:26:46.040 --> 00:26:46.100
<v Ben Rady>Right.

271
00:26:46.100 --> 00:26:51.940
<v Matt Godbolt>i can Yeah, but yeah, it's and maybe other knowledge work in general. Do you think other knowledge work?

272
00:26:51.940 --> 00:27:02.830
<v Ben Rady>There's probably I mean, my I don't really know. Like I said, I've tried very hard to spend most of my career doing programming, but um I would imagine that there's a lot of knowledge work that has this property, right?

273
00:27:02.830 --> 00:27:02.960
<v Matt Godbolt>Yeah.

274
00:27:02.960 --> 00:27:12.840
<v Matt Godbolt>Right, but we've just, this happens to be the one that we did as kids, and turned out to be a decent career and gives us this joy, as as well.

275
00:27:12.840 --> 00:27:13.040
<v Ben Rady>Yeah.

276
00:27:13.040 --> 00:27:13.440
<v Ben Rady>Yeah, yeah.

277
00:27:13.440 --> 00:27:29.800
<v Matt Godbolt>I wonder what it was so yeah I mean if we just so There's this problem solving. There's and something like you've ah like to say the problem solving sometimes are the problems of your own making, you know, the whole what is it that detect?

278
00:27:29.800 --> 00:27:33.370
<v Ben Rady>hu Oh yeah, programming is a murder mystery where you are both the detective and the murderer.

279
00:27:33.370 --> 00:27:33.580
<v Matt Godbolt>Tell me you did.

280
00:27:33.580 --> 00:27:37.570
<v Matt Godbolt>Right. And so in a sense that that you're you're doing both of those things, right?

281
00:27:37.570 --> 00:27:37.600
<v Ben Rady>Yes.

282
00:27:37.600 --> 00:27:41.360
<v Matt Godbolt>You're both committing murders and also solving them at the same time.

283
00:27:41.360 --> 00:27:42.820
<v Ben Rady>Yes. Yes.

284
00:27:42.820 --> 00:28:03.910
<v Matt Godbolt>you know There's definitely always something to to to be looking into. i yeah ah I'm really interested in what it is about programming specifically. um I've always thought, again, you know it's like there's you're building these edifices, these complicated interlocking systems, and yet they don't exist anywhere but your own mind, really, and a bit of crappy ASCII in a way in a text file somewhere.

285
00:28:03.910 --> 00:28:04.170
<v Ben Rady>Mm hmm.

286
00:28:04.170 --> 00:28:04.300
<v Ben Rady>Right.

287
00:28:04.300 --> 00:28:12.160
<v Ben Rady>Yeah, no, I mean, there's 100% there's a big creative aspect of programming, which I think most lay people wouldn't really expect, right?

288
00:28:12.160 --> 00:28:33.320
<v Matt Godbolt>i I remember vividly talking to my game producer in like the late 90s, early aughts, and we were talking about some aspects of programming. and it was I can't remember what the the discussion was about, but halfway through I realised that he thought the thing that was blocking us from getting more work done was our inability to type faster.

289
00:28:33.320 --> 00:28:33.980
<v Ben Rady>Right.

290
00:28:33.980 --> 00:28:41.560
<v Matt Godbolt>And you're like, oh, my God, no, it's not like I just know what to do and I have to tell the computer what to do. And if only I could type faster, it would get done quicker.

291
00:28:41.560 --> 00:28:41.820
<v Ben Rady>Yeah.

292
00:28:41.820 --> 00:28:48.780
<v Matt Godbolt>It's that I don't know how to tell the computer what to do, because none of us really understand whether it is we want the computer to do in the first place. And that's the half.

293
00:28:48.780 --> 00:28:49.060
<v Ben Rady>Right.

294
00:28:49.060 --> 00:29:24.360
<v Matt Godbolt>And you're like, that was a mind blowing thing, because it's yeah, as you say, lay folks may not necessarily realize that it is a very creative process. And that's just also mea culpa on my own front front here. Obviously, I sort of said at the beginning of this, you know, this is a therapy session, but I have just managed to put to one side my management responsibilities in order to get back to doing more programming. So this couldn't be more on target for me. um One thing I realized was, um yeah, I've been trying to do a bit of programming in between, but I've been so mentally exhausted by everything that I don't think I realized how much

295
00:29:24.360 --> 00:29:42.530
<v Matt Godbolt>space and time and relaxation and the creative process needs. You need to be able to like pace around the room and not feel under the time pressure to to to have these creative things pop into your head and go like and you know like I think we've probably said some at some point on this show before now.

296
00:29:42.530 --> 00:29:43.780
<v Ben Rady>Yeah, yeah.

297
00:29:43.780 --> 00:30:10.180
<v Matt Godbolt>often times you go home with a terrible problem and by the time you've got on the train or by the time you you know that next morning on the shower you kind of like put your head in your hands and go well of course I forgot that this thing is unsigned or signed or whatever whatever it was or of course that will never work because of blah or you have some new leap of thing in the first thing in the morning because ah because something is going on in your head and that is again another example of the creativity part of this where where it's not like you can just

298
00:30:10.180 --> 00:30:10.880
<v Ben Rady>Right, right. Yep. Uh-huh. Uh huh.

299
00:30:10.880 --> 00:30:37.100
<v Matt Godbolt>squeeze harder against something and keep banging the keyboard for longer which I guess actually does dovetail back into the beginning part of this where if you're in flow state it is both um obviously very productive and very rewarding but it's exhausting too or it can be you can get to the end of it and cofi the go to the loo and then go oh my god I just I'm done now I'm done for the rest of the day and you can't keep on doing it which maybe is different from some other things that fall under addiction

300
00:30:37.100 --> 00:30:37.800
<v Ben Rady>Yeah. Yeah, yeah, yeah.

301
00:30:37.800 --> 00:30:44.300
<v Ben Rady>Right. I mean, it's almost like going for a long run and then stopping, right? Like it's, it's.

302
00:30:44.300 --> 00:30:47.210
<v Matt Godbolt>Which is the only reason to go for a- Sorry, excuse the dog. Alright, we're gonna hope that I remember to edit this. Or else everyone gets to hear Monty barking.

303
00:30:47.210 --> 00:30:47.220
<v Ben Rady>Yeah.

304
00:30:47.220 --> 00:30:54.740
<v Matt Godbolt>um But that's the only reason to go for a run, is to stop. As far as I'm concerned, there's no other benefit other than the blessed relief when it's over.

305
00:30:54.740 --> 00:30:55.160
<v Ben Rady>Yeah. Yeah. Yeah.

306
00:30:55.160 --> 00:31:06.480
<v Ben Rady>Right. Right. And then it's like, I don't know if you've ever been in this situation where it's like you go for a run and you stop and you like realize that you need to actually run more. That is terrible.

307
00:31:06.480 --> 00:31:08.540
<v Matt Godbolt>That is that sounds nightmarish to me.

308
00:31:08.540 --> 00:31:15.520
<v Ben Rady>Like, like you, you stop for like two minutes and then you're like, Oh, I was supposed to do like seven miles and I only did five. Uh, okay.

309
00:31:15.520 --> 00:31:15.780
<v Matt Godbolt>Oh, no, yeah, that that's that's like.

310
00:31:15.780 --> 00:31:18.380
<v Ben Rady>I guess I need to, it's like, it's, it's awful.

311
00:31:18.380 --> 00:31:23.250
<v Matt Godbolt>I can only imagine that that again, sorry to get all toiletty on you here, but it's like if you have to if you.

312
00:31:23.250 --> 00:31:23.500
<v Ben Rady>It's awful.

313
00:31:23.500 --> 00:31:31.890
<v Matt Godbolt>If you're going to the bathroom and for whatever reason, you suddenly have to stop. And then that's the worst, is it? Oh, no. Hang on. Someone's just opened the door. I didn't. Oh, yeah.

314
00:31:31.890 --> 00:31:32.720
<v Ben Rady>Yes, uh-huh.

315
00:31:32.720 --> 00:31:38.480
<v Matt Godbolt>Nobody needs that. Um, but this will this be our first R rated.

316
00:31:38.480 --> 00:31:39.020
<v Ben Rady>Nobody needs that.

317
00:31:39.020 --> 00:31:39.400
<v Matt Godbolt>Um, I don't think, Oh my gosh.

318
00:31:39.400 --> 00:31:42.160
<v Ben Rady>No, we're just gonna edit all kinds of stuff out of this podcast. It's gonna be great.

319
00:31:42.160 --> 00:31:50.400
<v Matt Godbolt>I don't know that we are. I think you've, uh, you think too much of my editing skills. Um, but.

320
00:31:50.400 --> 00:32:07.380
<v Ben Rady>Uh, yeah, no, I mean, yeah, it's, and I've a hundred percent had that too, where it's like, you know, you're cranking away on something and then you like commit push and you let it build and just all of the adrenaline and on the and all the chemicals just drain out of you.

321
00:32:07.380 --> 00:32:13.020
<v Ben Rady>And your brain just goes, and then you're like, all right, now I need to go to bed. Cause, uh, I've been at this for 10 hours and that's enough.

322
00:32:13.020 --> 00:32:14.040
<v Matt Godbolt>I'm spent now.

323
00:32:14.040 --> 00:32:14.280
<v Ben Rady>Yes.

324
00:32:14.280 --> 00:32:33.600
<v Matt Godbolt>Although actually just just thinking about that and in that terms, I know you know both you and I are pretty fair proponents of TDD and other sort of aspects, which is broadly falls under the umbrella to me of gamifying something to capitalize on the human love of a little hit of endorphins or dopamine or whatever the chemicals are.

325
00:32:33.600 --> 00:32:34.700
<v Ben Rady>Yeah. Mm hmm. Mm hmm.

326
00:32:34.700 --> 00:32:37.570
<v Ben Rady>Right. Every time the bar turns green, you just get a little ding.

327
00:32:37.570 --> 00:32:38.230
<v Matt Godbolt>I love it.

328
00:32:38.230 --> 00:32:38.900
<v Ben Rady>Yeah. Uh huh.

329
00:32:38.900 --> 00:32:42.650
<v Matt Godbolt>because and ah but ah but But again, we you and I have spoken about this before.

330
00:32:42.650 --> 00:32:42.870
<v Ben Rady>Yeah.

331
00:32:42.870 --> 00:32:50.160
<v Matt Godbolt>You and I are ah aligned on this because of bias and and that's why we're that's well we have a podcast together, right? you know Because we found how aligned we are.

332
00:32:50.160 --> 00:33:00.540
<v Ben Rady>Right.

333
00:33:00.540 --> 00:33:03.200
<v Matt Godbolt>But I've worked with people, and and and I'm sure you have, who are much more I just sit and I write code, and I write code, and I write code, and I write code. And three days later, I build it for the first time, and it works, and we're done.

334
00:33:03.200 --> 00:33:16.540
<v Matt Godbolt>And you're like, I don't know how you could have be satisfied at any point throughout that whole thing. Because the entire time I'm sat in my hands, kind of rocking backwards and forwards, saying, just build it, build it, build it, there's a typo, build it, there's a typo, build it, there's a typo.

335
00:33:16.540 --> 00:33:38.210
<v Matt Godbolt>ah And then the quicker I find it and I even that is a reward like I will often comment out large gobs of code that doesn't compile While I'm sort of doing refactoring just to kind of get the warm Gentle pat on the back that hey at least the bit you've done the bit you've converted over still builds and I'm like, okay That's good enough for now and then carry on So people can be different about this right, you know, it can be a

336
00:33:38.210 --> 00:33:38.290
<v Ben Rady>Yeah.

337
00:33:38.290 --> 00:33:39.220
<v Ben Rady>here

338
00:33:39.220 --> 00:34:00.780
<v Ben Rady>yeah Yeah. Yeah. Yeah. Yeah. No. Yeah. And you're right. Like. for sure. Those those habits that we that we both have really do kind of gamify the process. right And it's like it's it's playing into the way that we think about it and what is effective for us. And it and you know i as much of a TDD guy as I am, like you have to recognize that this is not for everybody. right It might not even be for most people.

339
00:34:00.780 --> 00:34:11.660
<v Ben Rady>I think it's a skill that everyone should learn how to do, but whether you use it or not, that's just depends on you and your team also um because you kind of can't do it by yourself. You need a team.

340
00:34:11.660 --> 00:34:20.680
<v Matt Godbolt>So finishing up on the sort of themes that we normally touch on on this. Another thing that you and I have liked to do and I haven't done for a little while is pair programming.

341
00:34:20.680 --> 00:34:21.560
<v Ben Rady>Mm hmm. Mm hmm.

342
00:34:21.560 --> 00:34:25.880
<v Matt Godbolt>Can you get into a flow when there's another human being in the mix, do you think?

343
00:34:25.880 --> 00:34:29.820
<v Ben Rady>Yeah. Have you ever had a conversation in a restaurant?

344
00:34:29.820 --> 00:34:32.860
<v Matt Godbolt>ah Oh, what an interesting analogy.

345
00:34:32.860 --> 00:34:37.020
<v Ben Rady>You're eating your food, you're talking.

346
00:34:37.020 --> 00:34:40.690
<v Matt Godbolt>And you don't, you know, unaware about everyone else in the restaurant who's having their own conversations.

347
00:34:40.690 --> 00:34:41.310
<v Ben Rady>That's, that's pair programming flow.

348
00:34:41.310 --> 00:34:41.440
<v Ben Rady>Right.

349
00:34:41.440 --> 00:34:43.000
<v Matt Godbolt>Yeah.

350
00:34:43.000 --> 00:34:49.840
<v Ben Rady>Until, until, and this is a feature, not a bug. The person behind you talks, starts talking about how they murdered their wife and you're just like, what, what?

351
00:34:49.840 --> 00:34:50.860
<v Matt Godbolt>I was going to say this.

352
00:34:50.860 --> 00:34:53.380
<v Ben Rady>And your brain just like clues into that.

353
00:34:53.380 --> 00:34:57.380
<v Matt Godbolt>There are neurons in my head that will will respond to, you know, your own name being mentioned somewhere.

354
00:34:57.380 --> 00:34:57.540
<v Ben Rady>And it's like, yes.

355
00:34:57.540 --> 00:35:04.870
<v Matt Godbolt>That's immediately jumps you out of it. Or if someone says something, you know, factually incorrect about 1980s gaming hardware, then of immediately.

356
00:35:04.870 --> 00:35:05.860
<v Ben Rady>Yes.

357
00:35:05.860 --> 00:35:15.680
<v Ben Rady>Right, right. And it's boop, right. And then it's like, you know, when the, when the people who are, you know, two seats down from you start talking about how they're going to delete the module that you're working on. You're like, wait, what, what are you guys, what are you doing?

358
00:35:15.680 --> 00:35:16.780
<v Matt Godbolt>But yeah, get up immediately. Yeah, right.

359
00:35:16.780 --> 00:35:22.890
<v Ben Rady>Right. Um, so yeah, it's, it's humans are wired for this, right? Like they're absolutely wired for this.

360
00:35:22.890 --> 00:35:22.940
<v Matt Godbolt>ha

361
00:35:22.940 --> 00:35:34.550
<v Ben Rady>Now, not all humans are wired for this and not all humans, um, can do this sustainably every day and work this way all the time, you know, and, and some people who can just don't like to.

362
00:35:34.550 --> 00:35:34.760
<v Matt Godbolt>Good point, you know.

363
00:35:34.760 --> 00:35:39.390
<v Ben Rady>So there's all kinds of caveats here, but like humans are, are, are.

364
00:35:39.390 --> 00:35:39.500
<v Matt Godbolt>Right.

365
00:35:39.500 --> 00:35:54.420
<v Ben Rady>Can be social creatures, even programmers and If you've ever had a conversation in a restaurant where you're eating a meal and talking to somebody, then I think that you can pair program and get into a flow state.

366
00:35:54.420 --> 00:36:15.800
<v Matt Godbolt>It's funny, I mean, I do believe you and I'm sure that things that I have done in that world could count as being in the flow state, but I just don't think of it because I think of it as so ah such a solitude and whatever that word is, ah solitary there, there's the word such a solitary activity and it's very personal to me that state where I've got

367
00:36:15.800 --> 00:36:15.800
<v Ben Rady>and

368
00:36:15.800 --> 00:36:15.800
<v Ben Rady>Mm hmm.

369
00:36:15.800 --> 00:36:22.790
<v Matt Godbolt>music blasting in my ears and I'm like ah on the keyboard. Um, that doesn't come out on the radio very well.

370
00:36:22.790 --> 00:36:22.900
<v Ben Rady>Right.

371
00:36:22.900 --> 00:36:26.450
<v Matt Godbolt>That's it. I'm just miming keep like infinite monkeys banging on the keyboard.

372
00:36:26.450 --> 00:36:26.950
<v Ben Rady>Mm hmm.

373
00:36:26.950 --> 00:36:42.460
<v Matt Godbolt>Um, but, but I, I'm sure you're right actually. And I'm thinking of, you know, you know, probably the same person that you're thinking of who's very fast on computers that we've both paired with over in our careers. Um, those episodes pairing with him have probably been the most that I could imagine as being flow-ish, even if I wanted to strangle him from time to time.

374
00:36:42.460 --> 00:36:45.140
<v Matt Godbolt>And I'm sure likewise he, he to me.

375
00:36:45.140 --> 00:36:45.530
<v Ben Rady>Yeah.

376
00:36:45.530 --> 00:36:45.920
<v Matt Godbolt>But.

377
00:36:45.920 --> 00:36:56.240
<v Ben Rady>Yeah. Now I will, I will caveat this a few ways by saying it's rare. It's kind of a skill and it's sort of hard to do. And it's not like I'm not, and it's not like that much or productive.

378
00:36:56.240 --> 00:37:07.540
<v Ben Rady>Right. Like it's, it's good. It's a nice thing to be able to do, but it's not going to turn you into like some superstar programmer. So it's like, you know, it's kind of an interesting thing, but it's my point. My only point in saying this is that it is definitely possible.

379
00:37:07.540 --> 00:37:20.110
<v Ben Rady>Like ah many times in my career have I been doing that. Uh, another thing is kind of like his tennis or like ping pong, where you're just sort of like, you know back and forth you know, you're just watching the ball and moving around and hit the thing.

380
00:37:20.110 --> 00:37:20.260
<v Matt Godbolt>Oh, right, yeah.

381
00:37:20.260 --> 00:37:30.290
<v Ben Rady>And then, you know, 17 back and forths and then someone hits the line and you're just like, all right, that's the end of that point. And it's like that's a mutual flow state.

382
00:37:30.290 --> 00:37:30.480
<v Matt Godbolt>Right.

383
00:37:30.480 --> 00:37:40.280
<v Matt Godbolt>No, I guess so. Yeah, that's a very, ah yeah, even in, that's a sort of competitive flow state, right? You've, there's two of you there for a short, depending on obviously you could play doubles and tennis or whatever, but no, that's interesting.

384
00:37:40.280 --> 00:37:50.380
<v Ben Rady>Right. And I think it's no accident that sort of like the basic intro to ah pair programming exercise is called ping pong because it's it's very much like that.

385
00:37:50.380 --> 00:37:55.770
<v Matt Godbolt>Yeah, you you'd like the the whole I'm writing a test that will fail or you know, yeah, that kind of thing.

386
00:37:55.770 --> 00:37:55.860
<v Ben Rady>Mm hmm.

387
00:37:55.860 --> 00:37:57.160
<v Matt Godbolt>Yeah, that's interesting.

388
00:37:57.160 --> 00:37:58.360
<v Ben Rady>Yeah.

389
00:37:58.360 --> 00:38:03.020
<v Matt Godbolt>Well, friend, we're, we're basically at recording time, I realized because we've been in a flow state.

390
00:38:03.020 --> 00:38:03.340
<v Ben Rady>and Well, the time just flew by.

391
00:38:03.340 --> 00:38:15.170
<v Matt Godbolt>it did didn i Come on. I mean, dog, dog interruptions notwithstanding, which will again, if people go what dog, I've done a very good job, but likely is not, you'll know exactly which dog I'm talking about.

392
00:38:15.170 --> 00:38:15.320
<v Ben Rady>Yeah, right.

393
00:38:15.320 --> 00:38:15.460
<v Ben Rady>Yeah.

394
00:38:15.460 --> 00:38:25.270
<v Matt Godbolt>Um, yeah, this has been really interesting, very, very, um, very cathartic for me as I move back into hopefully times where I can have a lot more flow in my life and less talking to people in rooms.

395
00:38:25.270 --> 00:38:25.420
<v Ben Rady>Mm hmm.

396
00:38:25.420 --> 00:38:33.440
<v Matt Godbolt>so Um, but, um, but yeah, and I can take you for your, your, your answer to the question of like, why don't you just become a manager? ah

397
00:38:33.440 --> 00:38:40.430
<v Ben Rady>Right. Yeah. Yeah. Well, sometimes you just got to like take advantage of the gifts you've been given.

398
00:38:40.430 --> 00:38:41.120
<v Matt Godbolt>Very true.

399
00:38:41.120 --> 00:38:45.760
<v Ben Rady>And and in my mind, this is definitely one of them. I i don't want to give it up anytime soon.

400
00:38:45.760 --> 00:38:49.160
<v Matt Godbolt>Cool, well I guess that's a great place to end then, so until next time my friend.

401
00:38:49.160 --> 00:38:52.160
<v Ben Rady>Until next time.

