[Are you truly involved in the developer communities you work in and sell to? Are you seeing the value in the events that you are a part of? DevRelate.io can help. Developer and Community Relations as a service. We speak developer. Learn more at DevRelate.io or email us at Info@DevRelate.io.] SAM: Hello and welcome to Episode 122 of Greater Than Code. I'm Sam Livingston-Gray and I'm here with the fantastic, Jessica Kerr. JESSICA: Thank you, Sam. I am excited about our guest today. Our guest today is GeePaw Hill. Maybe technically, Michael but just call him GeePaw, everybody else does especially on his grandkids. GeePaw was lucky enough to become a professional computer programmer in the middle of the 80s. He wrote Forth back when Forth was like modern and he wrote in Forth and he wrote on Forth, porting it to different computers and stuff, so he's hard core and he was also a very early adopter of extreme programming, where he was heavily influenced by Kent Beck and Ron Jeffries and some other people we won't name and since then, he's become a software development coach. GeePaw works with software development organizations all over the world, down on the floor and up in the penthouse, helping them find and implement solutions to the vexing difficulties of shipping software value. He lives in Central Virginia up in the foothills of the Blue Ridge Mountains and he has dogs and woofers but that's a different story and today, I'm excited to have GeePaw on the program because I love talking to him about systems. As a theme and a line of investigation around autopoiesis, which I mentioned to Sam earlier and Sam said, "What?" and now, probably all of you are saying, "What?" and GeePaw is going, "Crap! She's going to make me define that." SAM: Never mind that. We're going to make you spell it. GEEPAW: No fair with the spelling because I always get the 'I' wrong. JESSICA: You do, actually. You had the channel name wrong in Slack. GEEPAW: Yes, I did. JESSICA: Okay, so autopoiesis is A-U-T-O-P-O-I-E-S-I-S. GEEPAW: Yes. What I've been doing is I've been practicing saying 'Auto-po-i-e-sis' to sort of help me remember that 'I' is in there. I don't say it that slowly but somehow it works. It helps me anyway. JESSICA: Okay, so what is it? GEEPAW: Autopoiesis is a term that comes from Humberto Maturana and Francisco Varela from back in 1980 and what it was, was a term that they invented -- they're great neologists. In their original work, they add so many words or they redefined words that ordinarily, they do both and in fact, the original work is [inaudible] as anything outside of [inaudible]. It's really, incredibly hard to read but literally, autopoiesis means self-creation and it's related to our ideas about self-organizing and things like that but the fundamental definition is really straightforward. It says that everything that is living as one property and one property only that is true of all the things that are alive and that it continuously constructs, tears down, alters, construct, tears down, alters -- it continuously changes and maintains its own boundary. JESSICA: Boundary? GEEPAW: Right, so everything that's alive does that and the minute it doesn't do that, it's dead and everything that was always dead has never done that. It's actually a really cool story because the preface to the original book, which is called 'Autopoiesis and the biology of cognition,' it's actually a couple of fairly long papers compressed into a book. He starts with the preface, he was in Chile at the time, much around as a pretty major player. I don't know if you ever heard of the experiments that they did on frog's eyes and how frogs see the world. JESSICA: What do they do to those poor frogs? GEEPAW: Horrible stuff. Just awful. JESSICA: What did we learn from it? GEEPAW: What they learned from it is that frogs basically divide the world into things that might be flies and things that aren't. JESSICA: That make sense. I think I kind of do that myself, sometimes. GEEPAW: Yeah, right. They have very dedicated visual apparatus that just is not like ours. Their visual experience of the world is dramatically different from ours. At the time, oddly enough, that was considered pretty surprising stuff, Maturana was a key player in there and he was back in Chile -- he had been at Harvard where he did that work. I think he's probably still associated with Harvard as a retiree but it was during the Chilean Revolution. They shut down the schools but the professors and the students decided that they weren't going to shut down the schools. They just weren't going to use the buildings or the facilities. They would have volunteer seminars all over the place and parks and one thing or another and talked to their students. Maturana discovered that the number one question on all his biology students' mind was what does it mean to be living and -- JESSICA: That's some philosophical biologists. GEEPAW: Right and he just basically realized he didn't have an answer there. He had a feel for it but he could not rigorously say, "This is what is true of all living things that is not true of any non-living things," and that's what caused this definition to emerge. SAM: That's interesting because one of my first thoughts about that question is what about self-replication but there are sets of chemicals that are autocatalytic that they will catalyze more and more of themselves and that's a self-replicating system but we wouldn't call it alive, so I like that. JESSICA: And what was interesting in that definition to me was that it wasn't about reproduction. It wasn't about the same thing again. It was about constantly altering. GEEPAW: Right. It's the change. It's the continuous change and the maintenance of what they call a unity. That is what is unique to living things. JESSICA: Now, you said they called it a unity but you called it a boundary. GEEPAW: Right. It's a -- JESSICA: What you said makes sense because if there could be a thing, there has to be something that's not the thing. GEEPAW: Right and they would say that the only thing that we would ever say, "Something was alive," was something else that was alive. They caption that with a weird saying. Everything that is said is said by someone. JESSICA: And it takes a live frog to recognize a live fly? GEEPAW: Yeah, I guess so. They said, "Boundaries in the eye of the beholder," and then they say, "Wait, maybe we should take that idea seriously. Maybe boundary is in the eye of the beholder and if we don't have a beholder, there isn't a boundary," and what they were struck by was the sort of a straightforward idea that you have a thing and the thing is in an environment and it's the thing versus the environment and blah-blah-blah and they're like, "When we look closely at that, that's not what we see." To take a trivial example, all four of us here are stinky. We walk around the world -- SAM: I did just take a shower but yes. JESSICA: And for the record, the fourth is Avdi. He has popped in but not said anything, yet. GEEPAW: Hi, Avdi. AVDI: Hello. GEEPAW: We walk around the world in a cloud out of chemicals that we make and we don't think of it. We think we start at the skin -- things that are alert to smell don't think of us as starting at the skin at all. They think of us as this great, big sort of roughly human-shaped cloud moving around in the world. Where is the boundary? We take it for granted that the boundary is there and everything inside the boundary is us and everything outside the boundary is environment and what Maturana and Varela are saying, at least in part is, "Yeah, that doesn't really work. That's not really true when you look close." JESSICA: Life is like programming a computer. The closer you look at it, the more complicated it gets. GEEPAW: Yeah. SAM: Speaking of smells, though, this is purely tangential but I've been reading Terry Pratchett's 'Thud!' again and there's a line from there that goes, "The nose is the only human organ capable of seeing backwards in time," which I thought was a lovely perspective. GEEPAW: That's very cool. I'm really into my dogs. I've always owned animals. I've always had pets. I always love them but the two that I have now somehow got really deep inside my heart and so, to learn more about who they were and what their world was like, I started really studying the cognition and psychology of dogs and one of the things that's amazing about them is even your most insensitive smelling dog in the world smells about 50 times better than a human. A bloodhound smells about 300 times better than a human. A bear -- I know I slipped out of dogs there -- smells about seven times better than that, so 2000 times as well as a human. They experience the rule of scent as a world of gradients. You know, we're like, there is a snow or there isn't a smell. They know how strong a smell it is and what direction through the gradient that they're moving. JESSICA: So it's like we have two eyes, so we can see in 3D and they can smell in 3D. GEEPAW: Yeah, that's what it's like. That's really amazing. When you think about that, you're like, "Whoa!" and all the sudden, for me at least I get a glimpse of what it would be like to not have to be me. I say that as a joke but here, the four of us are all gathered in this virtual space and we make a sort of naive assumption all the time that we're broadly alike but I'm not sure that's a legitimate assumption to make. My friend, Sal talks about the extent to which she is successful at passing. You know, passing is of course, a term from racial history in the south, in America but what it means is in the old sense, it meant the extent to which you can pass as white but in South sense, in the sense I'm using it, it just means that the extent to which I can pass as normal -- JESSICA: As near-typical -- GEEPAW: Right. SAM: Average? GEEPAW: Yup. I'm one of us but when I look around, my dog looks a lot like one of us too but my dog can smell gradients and she can smell them from a mile away. JESSICA: Okay, so what can Sal smell that we can't? GEEPAW: I don't know. I just have a feeling there is something there and I think it's very likely, to various degrees, it's true on all four of us. We have things in us that others just don't have. I often talked to people about I have a lot of channels in my head. It's not called schizophrenic because they all seem like me. They don't seem like other people talking to them but I've talked to various people about the channels in their head that they have and I've met very few people who seem to have as much noise going on as I do. I'm always operating on four to six dreams at once. Apparently, that is weird. Most people don't. Even people who are somewhat like me say it's more like two or three at one time. AVDI: Yeah. The interesting thing about having multiple strands going at once like that is that I don't think I know how that feels and I don't think there's any way for you to transfer an understanding of how that feels to me. JESSICA: And we all have that to some degree. We all have our own experience of the world that we can't transfer to others. People can't come visit us on our planet. GEEPAW: You know, you've totally made this mad segue directly into my alleged superpower. JESSICA: Wo-hoo! SAM: Way to bring it home. GEEPAW: My superpower is that I have an enormous capacity for doubt, especially self-doubt that I'm able to doubt a whole bunch of things that other people take for granted and I'm certainly able to doubt my ability to know what is real. When Avdi proposes the idea that it would be really hard for me to get six channels across or for others, to get their oddities across, I am like, "Yup," and I can stop right there. I'm like that all the time. I walk around the world thinking, "I don't know." I don't know what is going on in Sam's head and there is no straightforward way for him to use language or reason or logic to somehow transmit whatever is going on in his head into my head. It can't be done. Even that one thing alone is enough to flower into all these other sorts of things: around empathy, around acceptance, around community. When you've got so much doubt, you have to decide to act any way and you have to learn how to act anyway when you don't know what the hell's going on. It's very closely related to this whole idea of I know I naturally make assumptions about other people but I don't trust them. I don't trust those assumptions at all. SAM: That sounds very expensive, computationally speaking. GEEPAW: It's actually fairly expensive emotionally too. SAM: Well, yeah. JESSICA: Yeah, so your superpower is having all this doubt and the self-doubt and still acting -- acting in uncertainty. GEEPAW: Yeah, it is but I don't think the superpower is acting. I think the superpower is the uncertainty and acting is just what you have to do when you're trying to pass. SAM: It's a coping skill. GEEPAW: Yeah. AVDI: I don't trust anyone who is certain? SAM: Are you sure? AVDI: Ouch. JESSICA: The cost of certainty is a lot of unknown knowns. The things that you know but... Oh, what was it? The Mark Twain quote, it's not the things you don't know that gets you. It's the things you know that just ain't so. GEEPAW: Yup. AVDI: The cost is really real. This is kind of a continuum that I place people on regularly because I place friends of mine on. I know roughly where I am on a continuum. I have friends that are farther along in the doubt continuum and it's very easy for me to see here are the ways that they don't move as fast. I know that I don't move as fast as other people because of my level of doubt. I qualify more often. It is more difficult for me to speak about things in a straightforward way because I'm constantly questioning what I'm about to say and what I just said and then, I know people who are farther along that continuum than me and it's harder for them to communicate. It's harder for them to move forward on some things but I also have a great deal of trust in those people because I can recognize the care that goes into all of that doubt. It's interesting because we feel like we live in this world where in some ways, the non-doubters -- the true believers -- are sort of evolutionarily -- SAM: Favored? AVDI: Favored, yeah. GEEPAW: You know, I suspect evolution is of course, a wonderful example where a lot of people have a great deal of certainty, that serious people don't have at all. But it seems to me like the sort of thing that it might be a temporal advantage but not a permanent one. Having all that certainty will help you kill me but it won't help you get into the 22nd century. JESSICA: It won't help you continuously alter yourself and your boundaries. GEEPAW: Yeah. SAM: Yeah. As you were talking about your friends that are further along that spectrum than you, Avdi I was thinking when somebody who is working really hard on what they say, actually manages to get something out of their head and into language that other people can use, you can be sure that they have thought about it a lot and they're, at least somewhat confident in what they say and you can also trust that if you have feedback for them, they might actually listen to it, so those people will learn hopefully. JESSICA: So doubt can be a barrier to fast action but it helps with learning. SAM: I think it's necessary for moving towards more correct action. JESSICA: Yeah, fast action versus correct action, that's definitely a tradeoff. AVDI: You turns dial up to 11 and you never do anything because you're constantly considering which of the infinite options is the correct -- GEEPAW: Okay but now you -- JESSICA: So maybe, GeePaw's superpower, he has folded the trade off -- the tradeoff between increased doubt and increased action and he's managed to achieve a useful amount of action in the face of a ridiculous amount of doubt because sometimes, the tradeoffs, you can eliminate them as they fold them so that increased doubt and increased action are in the same direction. GEEPAW: I think that that might be closer to it because I was going to say, Avdi my doubt doesn't necessarily slow me down. I know it does slow a lot of people down and it's how I sort of noticed it. I actually notice the opposite. Well, maybe not the opposite. What I notice is that people won't act until they're sure they're right and then, when they're sure they're right, they often act wrongly. SAM: Because they know they're right and you can't tell them otherwise, right? GEEPAW: Yeah. It's not so much that I'm confident that my improv will work out as it is that I don't have any damn choice. It's all improv. It's going to work. It's going to not work but I'm making this shit up. I'm making it up as I do it. I'm never not making it up. AVDI: I think there are two axis here, maybe because when I think about making decisions and moving forward on things, whether it's just to say something or whether it's to actually take concrete action in the world, there's doubt then there's narrowing. There's doubt uncertainty and then there is narrowing and I guess, they're two different things. There is a level of certainty you have about the rightness of the course of action but then, there's also the narrowing of an infinite variety of potential actions. Do you feel like you're pretty solid on narrowing? Because I feel like these are often related like my doubt is related to also constantly looking for all of the possible things that I could do and clogging my decision process with that. GEEPAW: I have periods where I am very focused on trying to expand the range of options, where I'm looking and saying, "Whatever you're doing now is not working, so you need to come up with something," and there are other periods, where I'm really just shooting from the hip. One of my criticisms -- one of my many criticisms -- of geek culture is an incredible emphasis on what I call rationalistic, which is this idea that what people do in the world is they sit and they consider options all day and then, when they've considered all the options, they make a choice between them and then they act on that option. But one of the things that my doubt seems to have succeeded in convincing me is that's not what people do. We talk like that is what we do because talking is, in large part about telling stories about what happened in order to make more things happen but really, I'm surfing. I'm always surfing. I'm not in charge of the ocean and I can't see the horizon and I don't know what's coming next and I'm just trying to stay on the board. It's true that I have periods where I do definitely drawback and that's usually because I have surfed myself into a terrible situation but mostly, I'm just surfing. The other day, I didn't muse on refactoring and when I get into some code that I don't understand, I just start making changes and I was thinking about how I make those changes. Well, I find a couple of lines, I get but I didn't get very easily and I changed them until I can get them easily, so I know exactly what those two lines do or three lines. I don't know where that's going. I don't know what masterful, major league refactoring might happen or nothing. Instead, I'm just being very incremental and take what fruit you can. JESSICA: -- It has to make sure that that indeed, didn't change it the way you thought that it would not change it? GEEPAW: Well, I don't always have tests in the code that I work with. JESSICA: You refactor without tests? You are surfing in the wild. GEEPAW: Yeah. How was that certainty working out for you there? No, seriously. The French have that word, that phrase, 'Déformation professionnelle.' You know, I'm a coach, I travel around and déformation professionnelle is a weird way of seeing the world that comes from your job. My job has been, for 20 years, to travel around the world and spend somewhere between six weeks and six months with teams that are often in a great deal of pain and are working with massive, horrible, horrible code in domains I have not the slightest understanding of. That code is untested and a great deal of it is untestable because in general, if you don't write it to be tested, it's not testable or at least, it isn't obviously that everything is testable. SAM: Anything can be tested if you throw enough time at it. GEEPAW: Right, it can be tested at the price we can afford and so as a result, I'm often work untest-ly in refactoring code. I am also often working with no domain knowledge at all. I haven't the slightest idea what the intention of this code was in domain terms. I just know that that if repeats the condition of that if, repeats the condition of that if and it seems to me like that condition ought to have a name. JESSICA: You might have ask someone else what that name is. GEEPAW: Yeah. What I do is I usually make up a name that seems reasonable to me and I show it to somebody and I watch their face. If I get it right, we're good. If not, I get that this guy is hopelessly insane. I can't believe we let him into our codebase space. JESSICA: But you got a smell but probably not a direction from it. GEEPAW: Yeah, right. I do the same thing in regular life that I do in refactoring life. I don't know what's going on, I have to act so act and see what happens. SAM: I was actually thinking about refactoring before you brought it up and as you were talking about acting in the face of uncertainty and as sort of talking about people who are confident and think that they're right. I was thinking about the way that I refactor which sounds very similar to the way that you do things. It's like, "I'll just take the one thing that's distracting me right now and remove that distraction and then let me see the next distraction until finally I can expand my field of vision further and further out," but at no point in that, do I really have an overall strategy of where I want to go with this code. I'm just fixing the next thing and trusting in my ability to fix the thing after that. GEEPAW: 'Easiest Nearest Owwie First.' That's the long view I wrote yesterday about just exactly this thing -- easiest nearest owwie first and I do the same thing when I'm coaching. When I walk into these teams and I'm trying to help them, I just try to find out from them, what's the easiest, nearest owwie? Well, let's fix that. JESSICA: But it doesn't technically have to be the easiest or the nearest because you don't have to go doing a bunch of comparison and make a decision. You just have to pick the one that's right in front you. GEEPAW: Exactly. SAM: Well, easiest and nearest are both relative, I think and they depend on who's asking. GEEPAW: Yup. JESSICA: I get stressed out by 'est' words, like I have to look at all the options in order to determine which one is easiest but if I do that, it's not easy. GEEPAW: Yeah. I'm with you. I totally get where you're coming from. I totally get you. JESSICA: Do I have to like, "Let it go, Jess. Just looks easy right now is good enough." GEEPAW: Right, absolutely. It looks near, it looks easy, it looks fixable, let's do that. You're right because of course, that would fall right back into that hole. You have to think everything through before you act. JESSICA: You can't look at the whole ocean. You can only see the fish right around your surfboard. GEEPAW: Yup. SAM: And I mentioned that that works fairly well if you're dropping in as a consultant because by the time a team brings in a consultant, they've recognized that problems are endemic to their entire codebase, so anywhere you start is going to give you plenty of opportunities to talk about what to improve, right? GEEPAW: Sad but true. Of course, people who do coaching for a living talk about this. They ain't hire us when they're healthy. Nobody calls the doctors and says, "Hey, doc, everything is going great. Can you come and hang out with us?" JESSICA: Better. You said the word 'better' there. That's an important one to me. I don't need to make code correct right now. I just need to make it up. GEEPAW: Yes, of course, I'm not in my head big time. Yes, of course. Absolutely, yes. Better is better but again, there's a segue there, for me all of this stuff is all the same song. It's all the same thing. When I'm coaching, everybody around me, in my experience everybody, although I'm always reluctant to say 'always' and 'never' but people all want to be better. They all have an idea in their head of how they would be a better Avdi, a better Sam, a better Jess, a better GeePaw and those ideas are not the same ideas but we all have them. We all have, as far as I can tell, lots of them. There are at least 700 vectors along which, I could be a better GeePaw, at least 700. The odds are extremely good that four or five of them might be relevant to my work. Four or five of them might be helpful to my friends. Four or five of them, right? We can find ways to satisfy both my organization, my team, my friends, my family's definition of how I could be better and my definition of how can be better if we just look for but all of it comes down to this idea of, "Just better. Better is good. If it's better, that's a win," and the same thing is true in the code. If it's better, we won. JESSICA: Except the pull request. Merge it. GEEPAW: Yeah. It's better. It isn't done? Nothing's done. Remember that's the autopoiesis thing. When it's done, it's dead. JESSICA: Yeah, yeah, yeah. Oh, I don't think I've tweeted this yet. Avdi, the other day, you were saying to me that when you get in a place where you're having a really hard time in the code where it just feels like it's fighting you and everything is hard, we're talking about this in relation to doing OO in Landis, I think and you're like, "But we're trying to get AWS Landis to work at all and it was really hard," and Avdi was like, "Usually this means, I'm trying to go against the grain but we're deliberately trying to do exactly what AWS says. Why is this so hard?" Okay, that was the story but what it reminded me of was the long, elaborate things that like scrum tries to do to come up with a definition of done. Done is not a thing. Like you said, done is death. There is no done. Stop trying to define it. You're just digging yourself a deeper hole. SAM: So for talking about things like... What was it called? Done-done. JESSICA: [Dramatic tone] Done-done-done! SAM: It's too bad we don't have video or I would have insert the dramatic chipmunk right there. But that actually goes back to a note that I made at the bio, which is there was something about shipping software a value and that phrase caught my attention because most people talk about shipping software like that's enough. GEEPAW: Thin culture has to provide these definitions of done. It has to provide this assumption that the only thing that matters is finishing. It has to provide the idea that the value is entirely embedded in a product. It has to do that and because it has to and because of the number of people who have joined this train who haven't had time to actually absorb the culture that we started with, they buy into those things and it causes us a lot of harm. It causes us a lot of harm. The value of software isn't a finished thing ever because as Jess says, when it's finished, we don't work on it anymore. The only time a piece of software stops changing is the days stopped fielding it. JESSICA: And then, it's no longer alive because it's no longer answering. GEEPAW: Yup. JESSICA: So software is not alive without us. GEEPAW: Well, right and now, we lean into your stuff about propensities and [inaudible] recent conversation about legacy depending upon the system -- JESSICA: -- to change, which is a property of a situation. GEEPAW: Right, not a property of the code and not a property of the human. A property of the human and the code are setting a system. JESSICA: It's done being this idea wanting to define done, wants to define the value in the software alone, instead of as a property of the situation which involves humans, which is like trying to say that we ended our skin. GEEPAW: Right. See? Jess gets me. JESSICA: This is awesome. This is my new favorite episode. You just mentioned thin culture. Thin versus thick culture was one of the things we wanted to ask about. Shrinkwrapped software is also interesting because shrinkwrap is a boundary. SAM: Yeah, I was just thinking about like when I was a kid and you have to buy multiple disks of software and then there was the shareware thing that was weird. GEEPAW: So persons who shall be named, do the back of the envelop calculation that says essentially and I double checked that person's work as far as I can and it seems accurate, that the number of geeks in the world has been doubling at a rate of about once every five years for the last 35 years. That is extraordinary. It is the direct result of the absolutely insane demand for our services did that. It means that at any given time, half of the world's developers have less than five years in training. An old guy like me with 40 years in the trade, I represent one of 256 of all the developers in the world and since I'm not actually intending to retire anytime soon, I'm likely to soon enough be one of 512 of the developers in the world. That is an incredible thing because it isn't just that half are less than five. It's also that another quarter are less than 10. It takes a long time to develop a culture and to thicken it and make it strong, to build traditions, to exchange ideas about who our heroes are and why they're heroes, to understand all the things that don't fit on a bullet pointed slide about what we do for a living. It takes a long time. It is naturally the case that people who've been exposed so little to a culture, to any sort of cultural influences is they show them which end of the stick the bullets come out and they send them over the wall on the first day. That's how it is in this trade and it's horrible. It's really horrible. I believe it is the biggest problem facing the trade. JESSICA: The biggest problem facing the trade but you could look at that as, "We don't drill them hard enough before we send them over the wall," or you could look at that as, "We don't have a depth of stories and culture to impart." GEEPAW: And I think what we really have to do is consider the possibility of both and this is how thin culture works. If there are things that don't fit in words, things that won't fit on my bullet points that I need to get across to you, if I can't get them across to you, what I'm going to do, given the crushing demand is I'm going to try to come up with stupid, rigid, naive rule sets and hand them to you and order you to do them and then, after you've done your five years and you get promoted to middle, you're the tech lead now with your vast five years of experience of following my stupid, bad rules. You're going to do exactly the same thing and on and on it goes and what we wind up with is an obsession -- an absolute obsession -- with method, which in my view is exactly what's wrong with the movement that we started 20 years ago. It has devolved from its starting place into an obsession with procedure, method, rule, technique -- JESSICA: Consistency. GEEPAW: Yeah and premature standardization is an aspect to that. All sorts of things are all about that. The compartmentalization of geeks into abstract minds that have infinite capacity and can type in anything, all of this stuff is coming from our failure to absorb the new incoming people. When I say absorb, I want to be clear. A thick culture brings people in and both shapes them and is shaped by them. It has always a mutual exchange and yes, the great mass is the culture, so naturally it has a somewhat predominant effect. Nevertheless, it can afford new people -- people with different ideas. It can afford that because it will shape them and they will shape it. A thin culture can't do that. In this thin culture that we're in right now, what you have to be is white and male -- JESSICA: And have a CS degree. GEEPAW: And have a CS degree and know the chivalrous, know the secret code words and if you don't have that, we can't handle you. I actually believe that part of the thin culture, part of the thinness is exactly this exclusionary attitude. I believe thin culture is fundamentally exclusionary and you would think that it wouldn't be because the demand forces us to bring in new people but when it gets too high -- JESSICA: But the thinness takes us to a focus on appearance because we don't have the depth of kind of an interdependent faith, kind of we're moving in the same direction, instead do you look like you fit in. Can you argue vim versus emacs? SAM: It's like we're using simple rules instead of complex thought to evaluate things. GEEPAW: And we teach them. We train people. That's how you do it. That's what [inaudible] gives and the thing that is the most awful part of watching bad scrum, for me is watching proforma gestures. This folks, they go to a stand up every day and they go around in a circle and they say, "What did you do yesterday? What are you going to do today? What are your blockers?" or they go to the retro and they say, "What went well? What didn't go well? What are we going to change?" and it's exhausting to me and I actually believe in this crap. For those people, it's ceremony. We will go, we will take the wafer, we will put it on our thumb, it doesn't do us any good, one way or the other. It is simple how it is done. For me, that's an absolute violation of what we started with in this movement 20 years ago. JESSICA: Because how it is done implies that it keeps being done that way, as opposed to constantly altering itself and its boundaries, which would make it alive, which is what Agile is originally about and for that, you have to be willing to constantly learn a new game. GEEPAW: And you have to be willing to act without certainty. JESSICA: And once you're willing to act with that certainty, then suddenly you don't need to form certainty before you act and then, you don't need to form certainty and then you're not inhibited by that certainty. GEEPAW: And now, we're surfing. AVDI: This reminds me of a discussion that Jessica and I were having... What was it like? Yesterday or something, about software development being about adopting new games at a very rapid pace. I have recently in reinstituted game night at my house and the thing about game night is you sit around, you read these rules, you basically load a program into RAM and some of them are very complex. They are full of ‘if, then and elses’ like if the zombies have entered the game, then they get a bonus in biohazard territories, etcetera, etcetera. We load all this up and then we treat it as a real thing around the table. We treated as these are the rules. "Yes, you can do that. No, you can't do that," and then at the end, we flush all of that and we get rid of that game and we might not ever play that game again or we might play a modified version of the game in the future. It seems like this is the skill we need for understanding software systems. It's also the skill we need for moving forward in our development process. I don't know. It's just something that kind of emerged. It's weird because sometimes I look at it and I think, can we even impart that kind of thinking? I look back at when I was a younger developer and I think about how important rules were to me. I think about how important method was to me and I wonder like, "Could someone have taught younger me to think more in terms of constantly shifting games?" But then, I think about game night, I think everybody can do that. GEEPAW: Right and I think they could have taught you by showing you slides with bullet points. They had to teach you that by playing games with you. AVDI: Yeah. SAM: And playing enough different games that you saw enough of them that you recognize the patterns that are common among different styles and genres of games, so you learn the meta rules. Because in your scenario, one person might hear that and think, "Oh, that's tragic," because you're always going to be a beginner at the game that you're playing but then, if what you're really teaching is that meta skill of learning how to play a new game somewhat effectively and that's the skill you're trying to communicate. I'm sorry. I don't know where I was going. GEEPAW: No, you're onto something, actually. We don't know how software is, so we can't hand it to people. We have to make it up, so being good at handling the changing game is a big part of the skill. It really is. SAM: I just keep wishing that there was a way to get people to be good at software without fucking up for five years. GEEPAW: Or 10 or 15. JESSICA: Right. Thick culture doesn't transfer in bullet points. It doesn't transfer in procedure. Thick culture transfers by playing games alongside them. It transfers side by side with shared experience. GEEPAW: I absolutely agree. When I first started bitching about where Agile was going -- JESSICA: There was a before? I'm not that old. GEEPAW: I was gung-ho in '99, let me tell you. I'm sure I said, "Done-done," many times but when I first started bitching, one of the things I did was I drew up a slide with points on the left and points on the right and dah-dah-dah-dah-dah but I was pretty certain. But anyway, one of those points of one side versus the other, one side was about 'doing to' and the other side was about 'being with' and when you’re a coach, 'doing to' is a recipe for failure and 'being with' is maybe not the whole recipe for success but that's the only way to pull it off and what I did not know when I wrote those words back then was that I was going to come to these conclusions about thin and thick culture. I would say 'being with' is the only way to transmit a level of culture that is thick enough to sustain us. JESSICA: Yeah but it doesn't scale like bullet points. You're not going to make as much money off it. GEEPAW: Well, I'm not making that much money anyway. The companies I work for do, the people at the top of those organizations do and I'll be honest with you, my ex is like a social worker. My ex is a human services person and every so often, we're chatting and I'll talk about somebody who wants to give me $200 a day to work on some damn problem form but I'm like [blows raspberry], like I would get out of bed for $200 a day and she gets really pissy with me about how much money I expect to make as a serious professional geek versus how much money she expects to make as a serious professional -- I'm sorry, Helen -- social worker. SAM: Direct service worker, perhaps? GEEPAW: Yeah, okay. Of course, she's right to be irritated but the thing about it is that I look around the world and I see that geeks are paid extremely well. You're coming off the street and you become a developer and right away, you make more money on the ground floor than almost anybody else in the ground floor of any other possible trade. That's a result of the demand. That's a wonderful thing and we should all be really happy, shouldn't we? But when I look around, I don't see us all being really happy. I see that the trade is full of miserable, sad people who are paid more than the other people who have miserable, sad jobs, so I said to myself, "We have so much power because of that demand. We have so much ability to change the world and we're not doing it," instead we sit around and feel bad about our jobs and it boggles the mind. It's what actually made me decide not to call myself Agile anymore is because I felt that Agile had become a thing that had just bought into exactly that model of, "I pay you more and it will suck." But wait a minute, I don't want to suck. I don't want my life to suck. I don't want anybody's life to suck. But being a professional developer is the one thing they can point to is the money. That's it. That's the one thing that they can point to. JESSICA: There's a lot in that and security and options and family but when you say that we have a lot of power, that's in a larger game than most of us are playing because we're mostly playing the game that is within our organization with the rules that we see and feel right around us. SAM: And it is not even within our entire organization. We're playing a very, very localized game and this leads into a long rant about why we don't unionize. GEEPAW: I think that the responsibility of an old bastard like myself is to go out in the world and help developers see that they can change the world. They can do this. They can make it better and to show them different ways they can try and to show them that changing our world isn't just about writing a different set of rules. It's about reaching past rules, reaching past method and getting to the thickness of culture. JESSICA: The infinite game. GEEPAW: Yeah. I don't expect to solve this before I die but if I do, I'll let you know. JESSICA: But if you ever have it solved, you're wrong and you're living with -- GEEPAW: Yeah, I know. I was so sure when I was 30, I tell you that. AVDI: I feel like there would be a lot more happiness in development if we could remember that we're playing games. JESSICA: Yeah, there's nothing wrong with playing games. We'll be conscious if it's a game and its boundaries. AVDI: It's more a game for us, than it is for most people, I guess is what I'm getting. I know a lot of people that are playing along with the games that society has set up and the stakes are pretty high. For a lot of people I know, they're very high because they have to play along with these games or they get fired from an industry where there's nowhere near as much demand, where there is glut of labor market or whatever and they starve or at least, life becomes an even more uncomfortable than it already is. What's the worst that happens when we don't play by the rules? JESSICA: Get another job? AVDI: Get another job. It's hard for us to fail really hard, except by totally burning out and we burn out when we take the rules too seriously. We burn out when somebody says, "Meet your KPIs or you're all sacked," then we consider that like a rule for our life, rather than a suggestion, rather than an option. JESSICA: If our skill is learning games, that both comes out of and feeds into recognition that we are playing a game and this is not the only game. SAM: I feel like we're talking about two different levels of game playing because Avdi says -- AVDI: Oh, I thought about three, at least. SAM: Okay, so the two that I've noticed so far are there is like the game of taking a bit of code that's in front of you and making it do something that you want it to do. That's the thing that I think most of us focus on as why we got into it because we like puzzles and solving puzzles and so, that aspect of our work is like puzzles. But GeePaw, you said something about how people in other fields have to play games that are... I don't know if you said this but I inferred that as being like games at the organizational and interpersonal level and we in the software field, to get to look at that like, "Oh, too much politics. I don't want a game at politics --" JESSICA: Which is garbage, where we're playing these games too, whether we do it well or not is the question. SAM: So, what's the third one, Avdi? AVDI: The levels that I'm thinking about right now are there is the game of the system that you are building which changes its rules as you build it and as people use it and as people are involved with it. There is the software system and beyond that you're building. That's a game that is constantly changing rules. Then you've got the game of your team, which you can decide to use a strict methodology or you can decide that you're changing the rules as needed and then there's the game of, I guess kind of like the game of your career is where I went a minute ago, where you have these sort of larger rule sets that people set up for you, for hoops that you're supposed to jump through, so at least three levels. GEEPAW: Right and then, outside of that of course, there's the game of living. One of the things that I think makes it possible for me to take all these weird stances is we haven't talked about this aspect at all but you know what? That place in Central Virginia I live is a hippie community. I've lived here for 30 years. The community has been around for closer to... I don't know, not quite 50 years. We have 60 adults, lives on about 500 acres in sort of rolling foothills in the Blue Ridge Mountains and we make our decisions by consensus. We don't share income but we do own the land and the houses and everything on it in common and so on and so forth. That's taking this whole game of taking control. One of the things that I see in the world is even folks who are not in as privileged in industry as we are, often greatly overestimate the extent to which they have to play along and people who are in a situation as privileged as we are definitely, constantly overestimate the extent to which their life is at threat if they don't hit the KPI, whereas when you show me a KPI, what I do is laugh. I'm like, "Yeah, that's great. That's good. Tell me another one." Well, I got one. So a horse walks into a bar. AVDI: It's a game token. SAM: One of the things that I realized at some point in my career so far is what I do for a living is in code rules and a lot of what I do for a living in encoding rules is figure out which rules to encode and in doing that, I'm trying to figure out which rules will get me the behavior that I want and so, when I see a KPI, I don't see the rule. I see the person deciding what they want and then figuring out how to encode that into a KPI that other people will follow and the KPI doesn't mean anything to me, I'm interested in what that person wants or I'm not but that's what I'm talking about. GEEPAW: Right or not, but the point is all of these things are actually signifiers of the human. They have no significance outside of the humans who want them to have significance and we have to decide, which of those we invest in and which we don't. JESSICA: And they're trying to encode what they want in rules in KPIs or bullet points because they want to influence and change the lives out of more people than they can work with. GEEPAW: Of course, they are also backed by the thinness of the culture that says, "That's how it ought to be," because the thinness of the culture is helping. It is saying to them, "All you have to do is give them orders and everything will be okay and if you just give them the right orders, it will go great." JESSICA: Which we know exactly how that works in the computer. GEEPAW: Exactly. SAM: Although if you think about it for too long, you turn into an anarchist who wants to go and talk about why all the time. JESSICA: When you think your life is at risk if you don't play by the rules, the fact is that your participation in that game is at risk and when you recognize that this is a thin culture that it is a game and there are many other games, then you can decide whether you want to risk your participation in that particular game or go play a different one. But that's something to risk and people like knowing the rules. People like the game they're playing or at least, they like being familiar with it. SAM: And they like not having the cognitive dissonance of having to question it. JESSICA: And they get multiple channels at the same time. GEEPAW: Do we totally just circle around the 'done' again? JESSICA: Yeah. GEEPAW: Nice. You are the best. JESSICA: Does that make this a good time for reflections? I can circle back to one thing that we didn't talk about. When acting in uncertainty, one thing that you said, GeePaw that we didn't emphasize was that when you act, you then see what happens and I think when we proceed with certainty, we're not as good about or we feel like we can get away without checking what happens against what we hoped for and whether that's in the direction of our plans and modifying our plans. GEEPAW: Yeah. Now, I've got a twist because I'm always twisting because I live in this doubt world. My twist is just to point out that that doesn't mean having a number. JESSICA: Oh, like measuring? GEEPAW: Yeah. That means looking. Look, look and see what happens or feel. All the different things in mean sense. SAM: Evaluate. GEEPAW: Oh, yeah. I'm not encouraging people to go out and invent numbers to measure these things. I'm saying, you have to act and then, feel how you feel after you act it. JESSICA: We can also measure. That's like building a new sensor again. That is just one and it's a very, very narrow one. GEEPAW: Yes. It's just one and it's very, very narrow one which should not be at the top of our list of all the things we do all the time. Sorry. JESSICA: But it's victory points. GEEPAW: Jess is infecting me. But I mean, it's really true. That's part of the thin culture thing. The thin culture wants this [inaudible] objectivity. Objectivity derives from numbers, therefore if you want to see how you did, we better get a number on it but that's of course, ridiculous. Numbers don't tell me how I did very rarely and they certainly aren't the ideal way for me to know how I did. The ideal way is for me to ask folks and look at myself and how I feel. That's the ideal way. Just like the ideal way isn't to do to. It is to be with. JESSICA: Because of feelings are kind of like the everything else of our sense organs, kind of like everything else that we can't define or say it or sound but in one way or another, we have some way of knowing with uncertainty. GEEPAW: Yeah. SAM: I was thinking about the expression that any metric can be gamed and will be gamed and thinking about when somebody includes a metric and then people start trying to game that metric, they're playing a different game. They're trying to do to the metric, rather than try to be with the rule that the metric tries to capture. Does that make any sense? GEEPAW: I think it does and I think it ramifies like we keep playing and playing and playing we keep playing to the rule, where what we said before is actually probably a better strategy, which is figure out what people came up with this rule, what they were thinking, what they wanted to happen in the world and decide whether you are honored or not. JESSICA: Which is exactly we wish our computers would do for us, right? Do what I mean, not what I wrote. They actually do play by the rules. Damn it! GEEPAW: Right. Listen, have you ever heard of the work by rule strike? SAM: Oh, yeah. GEEPAW: It's very common. It's actually very common thing to do. JESSICA: You have to define it anyway. Not everybody in the world is [inaudible]. GEEPAW: Work by rule strike is we all go to work at exactly the right time and we do exactly what the rules say we should do. JESSICA: And nothing else? GEEPAW: Yup and what will happen is the work will stop because the rules almost never capture what people actually do in their job. SAM: It's like trying to give a robot a set of rules for making a peanut butter sandwich. You will spend more time on the rules because the robot can always... Well, robot. The worker in this scenario -- just to drop the metaphor -- can always find creative ways of misinterpreting the rules, literally that go against the spirit and bring the organization to its knees. GEEPAW: Normally, under normal circumstances, it's constantly breaking the rules and getting things done. JESSICA: Yeah and safety exists in a system because of the humans. GEEPAW: Right. It's what we're saying, Jess. What's that guy's name who wrote that book? JESSICA: Sidney Dekker? GEEPAW: Yeah. It's what Dekker is on about with his field guide to human error stuff. It's this idea that in fact, you can't describe how to land a plane algorithmically. We need humans in that. The humans are what make it safe to do that and oddly enough, even in situations that are not as life-threatening as landing an airplane, that's true. It's true every day, all over the place. People are constantly making judgments about what rule to honor in what situation and they're doing so effectively. If they stop doing that effectively, every system of rules grinds to a halt because everything that could have been done in a rule is in a computer program. If you can express it in a non-branching rule, I can code that and we don't have to have that rule anymore. We can get the computer to do that for us. JESSICA: Which is why there's such a demand for us because we're really high leverage, because when we can do the hard part of our job, which isn't deciding which rules to encode, then that really scales. SAM: Which explains why it makes sense for organizations to pay us so damn much, is because we're still cheaper than the army of temps. It would take to do with the brute force way. JESSICA: But the hard part is not writing down the rules and putting them in the computers. It's deciding what rules to encode to accomplish the thing you want to accomplish. GEEPAW: Yeah. JESSICA: And GeePaw, you just said that people are constantly deciding which rules to follow and which to break but we recognize if that's what we're doing, then we can also decide to not follow the rules to leave the game -- the particular game. GEEPAW: Uh-uhm [affirmative]. People do it all the time. Think about the last time you picked up the phone to call your colleague in another part of the building to say, "What's the [inaudible] on this new thing?" and your colleague said, "Oh, well, it's nothing. You just have to put a four in instead of a two. It will be fine." You're like, "Cool." That versus receiving an extremely long detail document dah-dah-dah-dah-dah. What you've just done has broken the rules. People don't realize they're doing that. JESSICA: Oh, when we communicate with each other? GEEPAW: Yeah. People don't realize that they're doing that but they are and we all do it. We do it all the time because the one thing humans are really good at is operating in situations without rules and without certainty and we do it constantly. We do it without even thinking about it. JESSICA: So in that sense, acting within doubt is all of our superpower? SAM: It could be. GEEPAW: Nice. SAM: It could be if we knew how to do it. JESSICA: We do. We all know how to act within uncertainty. There's something powerful in realizing that that's great, that our job is not to be certain and be right but to act anyway and then see what happens. GEEPAW: You're probably right and you're totally diminishing my superpower here because everybody has it. JESSICA: No, I just said that you are the best human we've ever met because you are especially powerful at our core humanity superpower. GEEPAW: Living in fear and doubt, yeah I am. JESSICA: Sweet. GeePaw, thank you for joining us today. If people want to hear more, where can they find you? GEEPAW: If people want to hear more, they can usually find me at the bar. Oh, you mean like on the internet? SAM: Yes, if people find your ideas intriguing and wish to subscribe to your newsletter, where should they do so? GEEPAW: I see. It's GeePawHill and that's everything. You can find me on Twitter as @GeePawHill. You can find me on my blog at GeePawHill.org. You can send me email to GeePawHill@GeePawHill.org. I'm pretty easy to find. This year, I'm not doing a lot of conferences but I am giving a talk at deliver:Agile in April and -- JESSICA: So am I and so is Avdi. GEEPAW: Awesome. I will see you all face to face, then. That would be cool and I'm keynoting at Agile & Beyond in May, so the next two places to see me live. I encourage volunteer groups and user groups and blah-blah-blah to reach out to me or almost anyone who is anywhere near your neighborhood who is in our movement and say, "Hey, can you come give us a show?" It'll cost you typically beer and dinner. What you'll get is somebody like me to come and just hang out and talk. I think people are too afraid of us, sometimes. GEEPAW: Define inner movement. JESSICA: That's really hard because you're asking me to make a rule about it but 20 years ago, I got involved -- actually 25 years ago -- in the design patterns scene and that lead to, at that time was called extreme programming and that led to the community that is now known as Agile or really that I think of it more agility because when I say Agile, I always use air quotes because I don't care for that usage and I don't care for that method-centric thing but if you are a software developer, if you are a geek -- I used that work on purpose, geek -- highly creative, highly technical and highly desirous of being both, then you're in my community no matter what and it's better for me, it's more fun for me if you share at least, some of the ideals that I have about what it means to be a geek but come and find me and we can talk. JESSICA: This has been Greater Than Code, Episode 122 and if you like this, please come donate on our Patreon at Patreon.com/GreaterThanCode, written out. Don't use the 'greater than' sign. That's not a valid UI character and if you donate even just $1, you'll get an invitation to the Greater Than Code Slack channel, which is a lovely Slack channel and it's very low volume but very high value, high content. People ask important questions that are bugging them about how they work and then we talk about them thoughtfully and carefully. GeePaw, you'll get an invitation too -- GEEPAW: Cool. JESSICA: -- so see you there. The end.