["Hi, friends." That's what Scott Hanselman says whenever he starts a talk or a podcast. He's done over 650 episodes of his Hanselminutes Podcast that he calls 'Fresh Air for Developers.' It's a tight 30-minute technology chat show that shares the same values that we do here at Greater Than Code. There's a huge library of guests for you to catch up on and a new high quality show every Thursday afternoon with a fresh face you may not have seen on other shows.] JAMEY: Hello, listeners and welcome to Episode 115 of Greater Than Code. I'm one of your host, Jamey Hampton and I am here with my friend, John K Sawers. JOHN: Thank you, Jamey and I'm here to introduce our guest for today, Sam Joseph. Sam is a co-founder of AgileVentures, a charity that helps groups of volunteers gather online to develop open source solutions for other charities all around the world. Sam has been mucking about with computers since the early 80s and followed a traditional education system through to a PhD in Neural Nets. Next he went all industry, researching mobile agents at Toshiba in Japan, going freelance and then swung back to academia for a research in peer-to-peer and collaborative systems. He now spends the majority of his time trying to make AgileVentures a sustainable charity enterprise with occasional moonlighting as a contract programmer. Welcome to the show, Sam. SAM: Thanks for having me. It's great to be here. JOHN: As you know we like to pick up the show by asking our guests all the same question, which is what is your superpower and how did you acquire it? SAM: That's such a great question. Yes, I've been thinking about that all week and I've settled on if it's a superpower or super-curse but it's persistence and I guess if I fit something into my routine, then I'll keep repeatedly doing it, so I wrote a blog every day for two years, finishing recently and I don't know that anybody would necessarily remember. Once I got into the cycle of doing them, I just carried on doing it. Similarly, sometimes with coding problems, I will keep hacking away at it until I get there. Similarly, with trying to setup a charity or other strenuous things, I just get into this mode of I'll keep doing it, long past the point when other sensible, sane people would have kind of given up on those things and said, "Well, no one is really listening or nobody is paying attention." It's a great thing to have because I hear about people saying like they have problems with willpower, they can stick on things. If I've inserted things into my routine or into my objectives, I'm like, "Why am I going to do it?" but then sometimes, I ram myself into the ground trying to do it, if that makes any sense. JOHN: Yeah. JAMEY: That makes sense. I was going to ask, how it's a curse. I think it's cool to do things past the point that reasonable people would do that but I can see that the burn out suits you, I think. SAM: The particular problem that I've had with it over my life is I'm not very good with people. Actually, with the computer sometimes, it really is a wonderful superpower because the computer doesn't really care most of the time like if you're being persistent and obtuse and sticking at something. Maybe actually, I'm going to say, I'm just like a grown-up with a personality but I do remember, particularly if you're doing the PhD which involves a lot of programming that would be like weeks where I have been doing almost nothing but programming and then I would come out of the lab and then I'd be trying to interact with people but I was kind of like expecting an interface where I could just say a thing and it would get an expected response. Do you know what I mean? And actually, the way that the computer was teaching me to behave was actually very different from the way that is usually the way that you could effectively interact with people. That's what I think has the most trouble is by being too persistent, pressing too hard on people to get going in a particular direction the team to do this or that or what have you. JAMEY: Where do you think the line is between sometimes people need a push versus I'm being too persistent to someone? SAM: It's so hard because there are so many different kinds of people and even the same person on different days or in different contexts, it depends so much on your relationship with that person and about whether you couldn't be the kind of friend who can give a push there or the almost the same request, the same thing would be a different day, even with the same person that you might be just not ready for that push. This is, I guess the skill of great human beings is they kind of got that sense that the person they're interacting with will be receptive to that push or not. In the past, I just had no idea that that was even the case and now, at least I'm like, "There is this complex problem and I'm not very good at it and that's part of the battle." JAMEY: You just gave a very intense appreciation for how complex, even my most basic interactions of people are, even the interactions that I do without thinking about it, it really involves a lot of that. That's so interesting. JOHN: Yeah. To think about how much background processing you're doing it and feedback looping there is, even in a single conversation and it is going on, whether you're aware of it or not, right? SAM: That's right. I've got three children who are 13, 10 and 10 and I've been watching them go through the different stages and the way that they interact with their peers and each other and so on. I guess, we're all going through this process of skill building, which is whether that's learning to walk or picking things up and then communicate with people or riding a bicycle, you start to automatize or you don't have to think about quite so hard because you've done a few times and then, you build in that and then, it's the same with I've ended up living in Japan and trying to become fluent in Japanese and you're restarting over with the kind of like, "I just want to make these simple requests for things," and then building up to like, "Now, how is the person I'm talking to is from a different cultural background feeling about how I am making this request and the tone that I'm making the request and the expression I have on my face?" and what's happening, there is so much going on. It's amazing that we're just not all tied up in little balls. You have to, at some point say, "I don't know what the right thing is to do," and do something and then some of those mucks up and then you rinse and repeat, rinse and repeat. JOHN: Yeah. I think that's actually an interesting point because if you try and have a perfect conversation, you all pretty much always fail and if you continuously beat yourself up over about doing these things poorly, then you probably will spend all your energy hating yourself and not getting any better at it. SAM: Absolutely. The kind of key, I guess for getting things done is -- I'm a huge fan of the show of 'Innocents.' We talk about that sort of the safe spaces, where it's safe for yourself, safe for the others, that you create an environment where you can make mistakes and repair on that and that's an acceptable thing for everybody to do and then just step back to how do you create the safe environment in the first place. That's another level of tricky but I think we all agree that it sort of creating that space of safety is the prerequisite for real learning so it's a safe place. JOHN: Yeah. It's definitely important and that was one of those insights that came out of Google's Project Oxygen where they were looking at what makes good teams and what makes teams function well and it has nothing to do with the technology. It's all about psychological safety and how the teams interact with each other and the ability to take risks and fail and you use that for learning and do that. It's pretty much exactly the same with what we're just talking about doing that incremental improvement, where some of the times, you're going to really botch it but you might learn a lot from that. JAMEY: Doesn't a part of the superpower question is how did you acquire it? Do you think you are just the kind of person that's like that or did you learn to be persistent in some way? I'm very bad at adding new things, so I'll be interested in this. SAM: I think there was a kind of intensity source, although my mother told the story. I was the first child and she had been doing a lot on child development. She was a social worker and she was into that space and she believed very strongly that we got to stimulate the child to develop their intellect and their intelligence and these sort of things. What she told me that she was always sort of trying to stimulate me with toys and shapes and sounds and things. I want a level of constant of stimulation and apparently, I responded well during toilet training to stickers and charts and these things and I think there's sort of a routine that a bit too deep there but I think there's an interaction, the nature and nurture between the way, perhaps my parents were and my personality responded to that well, so they would respond to that within this loop and it became kind of like, I want to be doing things all the time and I like there to be kind of a consistency. Then there's a thing where I have to struggle with. I run off at the mouth, I can seemingly easily get stuck with my brain, directly connected to my mouth, and I just talk and talk and talk and talk and I missed all of the cues where other people might have to say something. My whole life is still not fixed. The persistent thing and the kind of routine, I think I sort of had routines, I've noticed this more recently like I've sort of taken up jogging and cycling in the morning and that's why I listen to podcast. I listen to Greater Than Code and other great podcast like Tech Done Right and Soft Skills Engineering and I'm now into that routine so the original question is how did it come about that there's a sort of almost a natural personal enjoyment of that consistency by doing the same thing again and again. I get, I think some level of emotional safety from that and also, I kind of enjoy tinkering. If I can add like an extra thing and that allows me to, "Oh, yes. Now, I can listen to that extra podcast while I'm doing that thing over there," it's almost kind of like a life-hacking sort of thing similar to the programming. JAMEY: I like the idea of combining things in that way. "I'm going to exercise and also, I'm going to read a book." JOHN: Yeah, like you take the system of what your life is and your routines and you analyze that and you optimize that and you can use that to make continuous improvements. I like that idea. SAM: I often seeking efficiency, particularly I have three with twins unexpectedly and it just felt like I had to mathematically optimize how time was spent. I’ve been reading books by sort of Buddhist philosophy things. There's a Vietnamese monk whose name I won't even try to pronounce. JOHN: Thích Nhất Hạnh? SAM: That's the one. We'll done. I got to get that pronunciation down. It's this whole mindfulness thing. I think the danger is if I'm out there doing five things at once, you then lose contact with your body. I am kind of aware that maybe, I should be just doing the running and not listening to the podcast. Or maybe I should be just doing the eating and not creating Japanese Kanji tests for my children at the same time. I guess now, I've got to multitask because what is everything else? The mindfulness as well, so I got to be aware of the moment. Like I said, my mother will stimulate, I love that stuff going on all the time. I try to work meditation into routine, then we go, yeah. JAMEY: I know that feeling, though. I'm very bad at relaxation. I'm like, "I'm going to relax. I'm not going to do any work tonight," and then I sat there for like 15, 20 minutes and I'm like, "I don't know about this." JOHN: That actually ties in the mindful listening that ties in really well. I just started reading a book this week called 'Say What You Mean,' which is a book that combines Buddhist mindfulness with nonviolent communication as a way of combining the two in order to be mindful of your communication and then also, to make that communication very, very accepting of the people and not violent in all sort of things and so, I've been really enjoying that and using the exercises there to increase the mindfulness I have just day-to-day. I'll post a link for that in the show notes. SAM: Oh, please. That sounds great. I'm kind of thinking of two different things there. You were saying Jamey about that difficulty of relaxing in the evenings that I really enjoy what I do during the day. I love coding. I love to debug code. I love talking to the people and trying to work out how we can maybe use [inaudible] to fix and make that workflows improve. I try to make sure that I have a family supper every day with the whole family and we do that. When the family supper is over, I kind of had this weird 'I should be now relaxing but I want more something' and this is sort of a discomfort there that I think when I get over that, I probably crack. I don't know. That's an ongoing thing. The thing you're saying, John about the communication -- yes, the number one the communication, absolutely. The thing that I feel like I made the most progress, to loop back some of the things we were saying about communicating with people and that sense of safety is like back in my earlier academic days, I think I just totally didn't have that concept of safety at all or the idea that others would feel safer or even for myself. There was just this kind of idea of the truth or this mental model of the universe. Back in the day, in any discussion, I had almost no consideration of what you might feel about what I would say or even, I was completely enamored to this idea of here we are collaboratively trying to understand what is true, I think probably in very subliminal, subconscious level, there was all sorts of ego wrapped up in that about intelligence and this stuff and the other but it meant that I would just engage in these endless debates with people to try and like, "No, you got to hash it out here now," and when I look back, I just think, "Oh, my God." The thing is if you're in academia, there are some people, they're also quite relished to those debates. It's kind of okay moving out of academia and in the industry and then in education space and in more recently, the charity's space, it's a totally culture shock in moving from one country to another. Just moving from those different things there, I look back at how I was and I'm kind of like, "Oh, my goodness," then the whole nonviolent communication thing came out of. We had a guy involved in [inaudible] who worked at the boot camp that I used to run and it's really eye opening. The latest thing I'm finding actually is beyond nonviolent communication is even just letting the other people work it out first, if that means anything. JOHN: Yeah. Rather than just hear solutions, solutions, solutions, solutions, which may stick but they may not really receptive but if you can lead someone to making their own conclusion, they'll be much more... Is that how are you going with that? SAM: Yes, absolutely. Thank you for making it sounds sensible. The funny thing about the way that I was just like saying anything to anybody and not really realizing about that is that the flip side is communication that I would think that somebody would respond badly, I would get very nervous about saying it. Most of the time, I was completely oblivious but then, actually another weird part of my personality was seems like you wouldn't have there because obviously, "He's oblivious, he won't care what anybody thinks." When I would actually be aware that something might be a contentious thing to say to somebody, then I have a real problem because I tend to kind of do damage through just putting my foot in it by saying the wrong thing and not realizing and I similarly do damage by failing to say the things that I should do, that I noticed about as I still have that nerves but [inaudible] communication which is great [inaudible] parts of like saying how you feel, "I'm a different," and [inaudible] the stages of it. Almost beyond that is can you kind of create a situation where the other person feels safe talking to you about the issue and they always manage to resolve the issue without you even having to bring it up. I have one of those today and I was just like, "Wha --?" because I would be really nervous about it and I was like, "I don't know how to say all these things. It's really difficult," and then they just said all these stuff but then they've been saying, "You go first," and I was like, "No, no, no, no. You go first. You go first," and then they resolve it all by themselves and I was like -- JOHN: This is actually really interesting to hear you talk about your evolution from being someone who would just sort of plow forward with a conversation, following your own sort of goals for what needed to happen there and slowly entering to the point where you're now much more collaborative and you are modeling what's going to happen with the other person, what they're feeling, what they need, how they feel about what you're saying, so how did you make that steps because I think there are a lot of people that might be on that journey and would like to know how to get farther down the road. SAM: It's all about aspiring to be, the journey is ongoing. I think the critical step was actually the environment that we had and this was in MakersAcademy at bootcamp in London and we trying out, sort of experimentally. It's a while ago now so I'm going to get the names wrong but there was this holistic approach to workplace organization that is all about bringing your whole self to work -- it is Holacracy, which I think is sort of a bit of love, hate, what have you but we were definitely trying it out at the time. The key thing for me was the kind of open conversations that that enabled that what came out of my experience there was, I think that there were people for whom, it was really hard for them to approach me and I was sort of in a position of authority, something that made it really hard and I believe it's part of my personality partly because of authority. There were things that they were uncomfortable with how I was doing things but they found it extraordinarily difficult to say and it only came out through this quite complex process. There were situations where I've been perceiving things in a certain way, the set up and others, ultimately through these conversations and sort of I think empowering people who were in that hierarchy, in positions of less authority to kind of say how they felt, was really eye opening. Partly, I hadn't being in quite such a position of authority before, so I wasn't used to, perhaps people being that intimidated. Not obviously by me but by the position. For the people who are moving towards, the way it happened to me, it would be difficult to artificially construct a situation where you in authority and then, the people sort of addressed that. There's unfortunately no easy step there but to be honest, I think also with that as a trigger for me, podcast like Greater Than Code and Soft Skills Engineering, that have really widened. If that was the crack, that allowed me to better see other perspectives, I think it's through, particularly Greater Than Code and the variety of people that you have in the show and talking about the different backgrounds and expressed where they come from, there's no way that that door could shut again for me now, if that makes sense. JOHN: It sounds like a big part of what helped you get there was the fact that you were in an environment where that we're going to take place, that it wasn't just you deciding, "I'm going to work on this." It was the whole context around you was moving everyone in the direction of starting to understand other people of these levels and being safe enough to have difficult conversations, which also increase understanding and take relationships because everyone's really getting good stuff work through. SAM: Definitely. Again, for people who are maybe hoping, I sort of feel as anybody who's listening to this podcast is probably already on that road. I guess there's always people who are like tuning for the first time and it's like, "Oh, that sounds good. I want more of that," it can be very difficult to engineer those safe environments. At the time, MakersAcademy was fairly, fairly small and it was a CEO-backed initiative for that movement, so it's not something you can throw a switch in whatever workplace or environment that you're in and just sort of get that. There might be folks in varying degrees of positions of authority who are saying, "Well, I want to have more of that in my part of the organization," but it's certainly not a guarantee of success in, perhaps traditional terms for the organization. Part of the process of bringing all that stuff up can lead to all sorts of strange changes. I'm very glad that we embark on that process. I guess the caveat there was you will learn a lot about yourself, you won't necessarily get the results that you think you will. JOHN: I think part of that might also be just like helping you and the organization as a whole learn what results are required. SAM: Right. Yeah. Well, it's interesting if we talk about organizations. So many organizations, do they want to change? Do they really want to achieve their stated objectives? I'm not sure. We've had the privilege recently in our charity to do a lot of work with NHS, which is the UK's National Health Service, which is the largest employer in the UK, if not actually in Europe. It is an extraordinary organization and it does fantastic work but oh goodness me, my brain is just sort of boiling as I get to grips with different parts of it. We do volunteer work with very small organizations and gosh, I don't know... The tension between really effecting change and maintaining the status quo, I don't know. It's so hard. I'm really excited about the idea any time that we can make outcomes better for people. You probably mentioned this, the thing that NHS, they're trying to bring in this idea of a single social prescribing. I don't know if you heard about it. It's a work particularly to the UK at the moment and I think [inaudible] is not a celebrated word but it's almost a phrase that's conjured for the medical profession to say, it does prescribe, like take these drugs or you have this kind of surgical intervention. There's the idea that the doctors could prescribe connections with the community, that we sort of address some of these medical issues but there are all these other things. Actually, this person needs to get out more and exercise more and they need to contact with the community in order for their healing to continue or just to have a good life. This is now part of the big NHS plan and there's some people who really believe that this is the right way to do things. There are some people who are resistant to it. It makes sense, right? We don't want to be prescribing a drug for every single person. If there are local community resources that people can connect to and have positive happiness and health outcomes of people, that's what we should be doing but the so many different opinions about the approach, how to make it work, gosh, it's just... yeah. Then, the thing is that, large organization like the NHS is probably, I imagine, the same in the US and other places, that they keep on having these internal re-organizations to say like, "We're going to do like this and do new job titles and then new departments," and so on and so forth and I think everybody is hoping to get, at least at some level, people want the health and happiness outcomes to come through but can you really make those changes? JOHN: Yeah. Change in large organizations is so difficult. They have such inertia and thinking about how and I don't know how big NHS is but like you said, this is the largest employer in possibly Europe, that's pretty huge and thinking but how you would affect culture at that scale and how you can get things move into a way where decisions can be made more quickly and so iterations can happen, even that seems daunting. JAMEY: Yeah and then you get into the more people that you're affecting, the more you get into how no solution is going to be always the right solution for every single person. When you're trying to do something that's right for a large group of people, in many ways, it feels impossible, to be prescriptive at best in a way, I guess at least. SAM: Yes and I think it can maybe connected to one of the ideas that I mentioned in the pre-show, which is about this tension between the code slash architectural beauty and delivering working solutions. I might be missing where the connection is but stay with me for a moment. I think that some people are perhaps focused on shall we say, organizational beauty, whether that's kind of a codebase or whether that's in an organization. Having the organization structured in such a way or the codebase is structured in such a way, it almost becomes an end in of itself. I think people wouldn't necessarily explicitly say that. They're like, "Oh, yes, this organizational structure, this kind of structure, this will facilitate change and the outcomes that we want in the future," and sometimes, I think they're absolutely right. Anybody who's built up against a huge technical debt knows that you get really, really stuck just trying to deliver features to the clients but there is tension because you could spend all of your time on the kind of organizational code, architectural thing as an artistic pursuits in itself. That could be your goal and so actually, having that particular outcomes or getting particular features out, affecting workflow and people's way, you could become a specialist in saying, "This organization thing," and that becomes what you're focused on versus there are people who are like, "Whatever the organization is, did this person have a good experience with our system?" and we all kind of agree that we probably need a bit of both but the insight that I'm just having from what you're saying there is I was thinking a purely division on the code side but I'm now seeing on the organizational level, the people who are making the restructuring and trying to affect and so on, they're maybe intoxicated by the beauty of the organization. Did you know what I mean? JOHN: Yeah, like this is a pure design that just from first principles will clearly generate these outcomes that I'm in favor of and so, this is what we're doing and then, the real world happens. JAMEY: This is a really, nerdy metaphor for it but I play a lot of Dungeons and Dragons and I write these really beautiful modules for my players to play and I kind of guess what they're going to do and I try to cover what they're going to do. The phrase that you'll always hear like DMs from Dungeons and Dragons say is like, "No plot survives first contact with players," because of course, they're going to do something else that I didn't expect and there's a tension of like, "But I wrote this and it's so good. Aren't you going to do the things that I did for you because it's perfect? But that's not what they want to do and if it's not what they want to do, it's not perfect." SAM: That's a great analogy. JOHN: Yeah. SAM: We have this particular -- I think this is sort of the crux of what we do in AgileVentures' charity, where we try to put together two things. One is people learning about how to code and delivery systems that what works and the other one is trying to help other charities around the world. In the sort of traditional education system, you're working in these toy environments, so it's safe in some ways. I don't want to force anybody out of that situation until they're ready but I also feel that there are certain sort of learning that only go on once you are trying to make something to help somebody who's not you, who has investment in being helped. They have some of their own goals. I work with lots of different developers around the world. Some of them are very experienced, more people who are perhaps less experienced and they're trying to get more experience with working in teams and working with bigger and complex systems, working with real customers and clients and there's this constant tension between supporting their learning but at the same time, supporting delivering things to people who need things to work. They're often enamored with a particular technology. Sometimes, there's a new technology or a particular devops flow or an organizational structure and they're kind of excited about that but at the same time, I want to say something that [inaudible], rather than just doing it for the sake of doing it but that always feels like a really tricky conversation, even though as I sort of put it early on, I'm kind of arguing that crucible, that makes the more valuable learning experience. Do you know what I mean? JOHN: Yeah. It's that contact with the real world, where the really hairy problems come up, where you have to really stretch your understanding of what you're building or you have to really stretch your understanding of what the flow is supposed to be because there's all those extra inputs that weren't accounted in your pure, little design. SAM: Yes. You're actually right about that complexity and all its glory but it's interesting because I think you can still work on getting the fix to that higher level of complexity and sort of get something done that seems like it works. Basically, it means the test are passing, it's ran on your system but then that goes out to the players, goes out to the people consuming the system, whether that's on their phone or it's the browser that they're doing. They're out in the field and even, you printed out documents and they're going out there and they have understood something and it sort of messes up or what have you. I guess, I'm really hoping to inculcate in everybody involved in our charity is a sort of excitement and enthusiasm to see that point, to see the point at which the user actually encounters and it supports the work. It was a massive open online class. I think Scott Kleiner from the University of California in San Diego on user experience. That was really influential to me. He also, did psychology of everyday things, which I always think is by Douglas Hofstadter and it's not. It's by Doug Norman. I almost corrected my internal block there. He has this wonderful thing that he talks about why is the design of oven hobs, where you got your four kind of rings in gas burners or electric and then, you have a straight line of four knobs to turn. Without a visual, it's very difficult. We have exactly that set up in our kitchen five years ago here. Doug Norman makes the point that if you just map the spatial layout of the four hobs to the four knobs that you would turn to turn them on or off, it's much easier to remember which is which but these days, everyone have them in a straight line and they have no diagram next to them, with the four circles doing this mapping. I think those kind of examples and that kind of really nifty-gritty of seeing people use things and how they affect their lives and whether it's smooth and easy, that give me the bigger rush than the code organizational, the architecture. I absolutely love an architecture in an organization and a devops tool that will allow us to better support people and having good experiences with software. For me, that got to be the highest goal. I want everyone else to see that but is it going to the programming and interested in being a programmer more than they are in delivering something that changes how the people... I don't know. Is that really unfair to the people who initially started in programming? I might be [inaudible]. JOHN: There certainly are people who are interested in just the programming of it regardless of where it lands and who uses it and just they wanted to be done and written and beautiful and whatever. I think that's not necessarily a problem as long as that person is on a team with a bunch of other people -- JAMEY: I was going to say that this is two different kinds of people that you want, both of them on your team because I think you don't have anyone that has opinions about how conventions and things like that. You're going to end up with a codebase that maybe your application is amazing and it's really great for people and it really works for people and that's great but then you have a codebase that's a nightmare to maintain. I think that having people on both sides and this has come up on show before because I was like, "Nobody takes joy in updating libraries," and three people on the show were like, "I do," and I'm like, "Great. Be on my team." But I think having people that have strengths and weaknesses that can click together is a great thing to have on teams. SAM: Definitely. That's an excellent point there because if you can have the right kind of problem definition until the ticket that you're pulling off the board and whatever process and the rest of the team that are like, "We need this bug fixed. We need this little chunk, this little Lego block," if that can be specified correctly, then somebody who is just interested and like, "This is the inputs and outputs that need to have," and then like, "I'm going to do it most efficiently to get through," they can absolutely do that and then you got other people who are like user experience experts and so on. Clearly, as the team gets bigger, that makes perfect sense. Speaking of libraries updating, I've become really excited about updating libraries, not myself but we have Dependabot that I don't know if you've heard, which automatically updates the libraries for our Ruby gems on various projects. I was always kind of like, "No, we must lock things down and don't change unless we're forced," and this is kind of an automation tool that proactively put some of these pull requests like say, do this and this and this and then it runs all the test. That's probably a revelation for me and [inaudible] user groups about how we can change our devops organization, sort of a random, different thing. I think come on a show before is the talk about automation and how valuable it is to do automation and there's this [inaudible] but I think it goes in there. There's another conversation I have with a lot of different developers and programmers is like, how many times do you need to be doing a task before you spend the time to automate it? You can get that little diagrams online and so much it is. What I find is it's so easy to overestimate the number of times you will do something and underestimate how long it will take you to automate it. I've been burnt by that. The thing particularly that I'm noticing at the moment as we become officially a charity and the admins going up and so on, is what I am finding really useful is where we've automated reminders for doing things, almost like where we've connected up some process so it pinged into Slack. It's not fully automatic but it's kind of like, "These people have been active. You need to speak to these people this week," kind of thing that if you just had to go and press a button to make it happen, you wouldn't get to it but if you've got a box or whatever, sending it into the Slack here and go and talk to these people, that suddenly makes a huge difference. The Dependabot is like, "Could we do this whole new level automations to force out more production deploys and --" anyway, but it was interested to know brief discussions [inaudible] about that but -- JAMEY: There's a thought that keeps coming back to me and it's about when we're just used to things, the value and doing stuff the way that we're used to versus a way that might be better and I first started thinking about this when you were talking about the oven and I was thinking about UX is like, so the back button is in the top left and that's because we're used to the back being in a top left so that's where you should put it because that's where people look for it. But then I was also thinking about it when you're talking about automation. Now, we're just used to doing this task as part of our routine and we're not thinking about how we can automate it and make it better. I think in some of those situations, it'll be great to make it better. I'm only doing this because I'm used to it. I'm not thinking about it but in other situations, there's real value and everyone is used to this convention and that's how we're going to do it. I'm wondering if you have any opinions on that and where to draw that line, maybe? SAM: Yeah, that's a really tricky emotional one, I think. It actually hops back to the discussion at the beginning, in a good way. So many times, the things that I've inserted into my routine that I then keep on doing and I'm kind of intellectually aware that there might be a more efficient way to do them but I don't have the emotional energy to change it and I have to kind of play this daily game with myself about which things I can take on in terms of this chunk of time is available, there is this thing that it might be more efficient to do this report this way but I've done it like 15 times this way and today, where I am emotionally, it's as much as I can do to just regenerate the reports in the same format again than it is to come up with a new approach. The answer to where to draw the line is unfortunately connected to [inaudible] and you can't know where to exactly draw the line unless you could see the future perfectly accurately. With these things, how many times will I actually be repeating this task and also, what value will I derive from it going forward. It's always got to be this kind of guessing game. The danger that I find in the context of working with lots of other people and particularly, if you're one of the more senior people in a sort of traditional authority, there's a tendency for those of us who've been repeatedly burned by computers and [inaudible] even we really thought they're going to do that, is to be quite conservative to say, "Yeah, let's not make that change because of this and that." I think particularly for the more senior, we got to balance that very strongly against folks who come in with [inaudible] and they want to try it and sometimes, we're wrong. If we're constantly saying like, "Don't do that. It's dangerous," then we can actually miss out on learning opportunities for ourselves, we're not much fun to work with. I've been hearing it so long in kind of like the pair programming because I'm a huge pair programming fan of rather than arguing about why things should be done your way, let the other person do their way. If they discover that it doesn't work, then you can have a difference in conversation or maybe, find out that you were wrong. I knew that intellectually for so long but I think it's only recently I've been able to internalize that and actually start doing that. Can I land this plane back down to where you draw the line there? I guess, I'm struggling now with the two sides of what you're saying there. One is whether you should automate things or not and then the other one, that's right, then you are connecting to the user experience conventions, which is really love and connection because when you're mentioning that button being in that left position, I was thinking you were going to say like, "Oh but actually, in different cultures, it might have been somewhere else like people who write languages in different directions." You got to be weighing up that cost of should we go with the convention that people are used to that. It's a judgement call every time and I think I can maybe land this with an example from today when I did volunteering at a very small but wonderful women's center in the area that I live and doing also some support, particularly that [inaudible] that connects and that empowers the whole community. They had a typical IT problem that I've been helping them sort of fix in this little volunteer hours that I [inaudible] for them and then there was this latest issue and we got set up with now, they got there like [inaudible]. I guess they [inaudible] now. They're doing open source and I'm confused. I'm very conflicted there about but [inaudible] that they're doing great and I love using this code and they bought GitHub. I'm confused. The organization that they have, they're all setup with the [inaudible] and everything and I find it all the emails with the right shared drive and I said, "We could be using one drive and could be with the clouds and they were like, "Oh, we have this existing shared drive," and I was kind of there with the decision point of maybe this would be more convenient for them to be using the one drive and that's what they've now got full access to but I stop myself there and it's like, "They'd be using just the pure shared drive stuff. Let me help them get that working," and the [inaudible] will work on one computer, let me help them get that thing that they know working first, rather than trying to impose some sort of bigger unknown solution that maybe the work will be great for them but maybe, it won't. I feel like, particularly if you're trying to help end users, you've got to bring it down on the side of sticking with what they know, to begin with. JAMEY: I think perhaps what I'm getting from you is this process of thinking about is the problem I'm trying to solve is really a problem or not? SAM: Yes, absolutely. The funny thing from the Buddhist philosophy is that we're already complete. We're already everything that we need to be and the world doesn't need to change but it can change. It's a funny thing, particularly that this show is often very focused on the huge inequalities, the different challenges that people have and you can say, the more will be going to change the world because it got these all difficult things and I think, sensibly we should. But the British approach where it's sort of like, "Can you realize that everything is perfect in some strange way?" I don't know. I guess the danger of getting up too wrapped up in any outcome, needing it to change, can we affect change by allowing things to be that. I think it's getting dangerously [inaudible]. I have to maybe, reconnect my thread. I get a wonderful buzz out of helping with the volunteering that I do and when I get outcomes and people are like, "We can now do this and we will start from that," that's a lovely feeling and I think it's difficult to get that, unless you're having -- to bring a background of this -- to sort of connecting with what other people want and do they feel safe to tell you if things are working for them. Yeah, I think it's going to come back down to that. JAMEY: This conversation is great because it has, I feel the hallmarks of a great conversation which is that all of the things start to connect in our [inaudible] way. SAM: The thing that I [inaudible] my mind of that is usually, you get some sort of conservatism out of that is people [inaudible]. I do some other work with some other senior developers who are like, "You need to be not afraid sometimes to tear it all down and do a different thing." I hate to end on a kind of right, yes, or always be a slave to what's the way things have been done and what everybody used to. Sometimes, there is room for revolution and there's room for a big breaking change but I think, it's usually not every day that [inaudible] experiencing, if you're breaking change in that huge -- JOHN: Yeah. That actually ties in with what we were discussing at the beginning about in conversation and understanding what people need that day versus the next day versus different people and their needs and how it's that feedback loop of just trying to understand the person that you're talking to and what they need at that time. It's the same question of will this population of users, like we've changed enough already and let them adjust to what this is going on or this is so problematic that we really do need to start from scratch and change everything. SAM: Yeah, I really like that point and I think, to connect them to the thing that we're talking about with the different teams and I think the team will have some, especially in different areas and some are more interested in the codes, beauty and others and more interested in user experience, other people is interested in devops and the different parts and pieces. Although my experience with computer systems sort of outside the open source world like going online with the banks as we sort of in the developed world, we all experience and I assume that these systems are being made by people with large teams that have these varieties of experience but I just do find myself saying, "Why are you changing this again? I knew how this work." Recently, with the BBC iPlayer, which is the thing that provides all of our non-advertising supported entertainment and news in the UK. I thought it was running fine and they did this overhaul and I was like, "No, I can't. No, no." I'm not sure they have designers and user groups and all these different specialists but it feels to me like the pendulum is too far on the 'let's change things and keep making them new' and less on like, actually... I think they could be a bit more spending time with users and making sure that it really works for them. JOHN: Yeah. I think there's a tendency to if you're going to make a changes to a system, you want to sort of do a big-bang release where the whole thing changes all at once, even though the new design is perfect and we release it everyone loves it, whereas if you just made an incremental change: one in a couple of weeks, couple of weeks, couple of weeks, iterating towards that new design in the same amount of time will take you to develop the new big-bang design, people would have already integrated all those incremental changes, so by the time you get to that end point, it's not a big jarring change. SAM: That's an interesting idea. I thought you were going to say something different. I thought when you started that, you were going to say that sometimes that big release sends the message that everything is different and so, maybe sometimes, that is the right thing to do. I'm [inaudible] you actually end it up with is I feel like I would rather have those small incremental changes. I'm a big fan of that. A bit of the tension at the moment is with those long-term projects versus incremental changes, because actually, Cancer Research UK is start doing their podcast and they put this concept that I mentioned, I think for someone else, called Leaky Boats and Rocket Ships. I don't know if you've heard of this, which is this idea that the rocket ship is sort of like that's the big product. It was like, "Oh, yes. You have AI chatbots coming in and sorting this out," and the big, the moon shots is like the rocket ship so they all have their plans and all these big changes and there's a leaky boat, which is people just trying to get stuff done and their workload is like, "I have to do this step 18 times. If you could just automate this one step or just take this one difficult thing, if you just fix that one leak, that would make my current working day --" and a lot of these people are like, "I'm not really interested in your rocket ship, your moon shot because I just need to get this work on each day." There's this, I think philosophy of trying to make sure that the IT support and the approach of the development addresses both of those concerns. It's to both fix the leaky boats and also, to make rocket ships, which I guess is the danger if you're only focusing on the leaky boats, then you get surpassed by someone else's rocket ship. We're trying to do like this open source charity space and the other term is like fixing those little leaky boats and doing the rocket ships. I guess as with all the concept has come down, it's a balance. You need a bit of both. You need a bit of the people who are excited by the code and architectural beauty. You need a bit of the people who are really excited about the experience. You need a bit of the people who are like, "I want to fix the leaky boats and the rocket ship," and I guess there's almost a parallel there, that the code and architectural beauty source of course, was the rocket ship and UX stuff is a leaky boat but not always. JOHN: As usual, it depends. SAM: Indeed. You're really taking me on a journey today. I really didn't expect where the conversation to go and it did but it was a wonderful one. I guess, it's going to be reflections. I love the reflections part of the show. I think it's a wonderful feature. I guess I can't go without saying, at AgileVentures, is there anybody who wants to do more open source, wants to do it in a team format with real non-profit clients and so on, and kind of get involved, we didn't have more people. I think it is a fantastic crucible for learning. Come and join us. JOHN: Excellent. All right. I think I have two ideas and these are both things that I've been stirring around in my head that were sort of brought up by the conversation today. One is we're talking about trying to sit on the couch and not do the thing that you normally do which is where I can tell, like late in the evening, which was totally a thing I do as well. Normally, the ideas I've been thinking about in relation to that is the fact that most people think that relaxation is not doing things, where you just stop all of the things that you were doing and then try not do something when you go on vacation or you even just sit around the house or whatever but that's hard to do. First of all, because if you're one of those people that is doing things all the time, you just want to keep doing things and it's really hard to break that habit. But also, I think just not doing things or not doing anything in particular isn't particularly relaxing necessarily because it's not actually actively pushing you into a space where you're relaxing or you're reducing tension, where you're simplifying your life or you're working through your feelings or you're doing whatever you need to do that and thinking about relaxation as an active activity that you do specifically that you possibly even schedule, like meditation for example or even exercise or any other little things like that or if it's a hobby that brings you joy or something like that. If you think of relaxation that way, something you do rather than things you don't do, I think can be actually more helpful and it's something I'm probably going to end up talking about a lot in the future. The other thing was about the learning how communication works basically, like how to communicate better with other people, how to understand what your own impulses are and learning how to relate to other people more authentically and how to understand them better and have a sort of model what their feelings are and understand why. What you're saying isn't landing or whatever, is something you can't just do in your own head. You have to do it in practice and having a supportive community around you to do that. I think it's really important because you can reinforce those communication habits. There's two people involved in a communication at minimum and if one person is trying to change that communication, there's going to be some resistance from the other side because they don't know that things are supposed to be changing and if you can have all the people involved as sort of actively feeding back and it's going to be a lot more effective, then it's going to be a deeper change. JAMEY: I totally agree with that. I've been making a point to be more assertive with how I feel about a conversation and if people are talking about a topic that is very stressful to me or telling a story that is feeling me uncomfortable, I've been trying to be more active about like, "I really don't want to talk about this. Not because I don't like you. It just feels so rude. I don't like this conversation. Can we have a different one?" If I don't do that, then I'm going to be stuck in a conversation there. I love myself so I'm trying not to do that, which I was also thinking about we're talking about that. My reflection is also about the communication from going back to when we're talking about communication at the beginning. Sam tells the story about being deep in computers and then having trouble with people and saying like, "I think I'm not good at that," and I also sometimes feel like, "I am not very good at that." What we discussed about like how complex it is to talk to people and read their cues and trying to speak to them in a way that lands with them, how much background process is happening with that, it makes me feel kind of better about it. It's easy for me to be like, "I'm not that good at that," but actually, the fact that any of us can do it all is a miracle, it feels like. It felt kind of validating to me and I was thinking about that but I also really liked what John said about I do beat myself up over it and the idea of you're doing a good job already by being able to do this at all. If you don't beat yourself up over it, then you're getting better all the time and I really like that. I’m going to think about that the next time I just feel like, "That conversation just went really terribly," so I'm challenging myself to do that. SAM: That sounds really good. My immediate reflection is that I still got a long way to go in terms of communicating effectively and it's so great to have the two of you here to lay it out in sensible bits from whatever. I have been saying that an exciting insight that I got was from this is this new analogy forming in my head between the tension of working software that's beautiful and helps affect some change to the beauty of the organization and the organizational structure and actually delivering services experiences to end users on a bigger scale and that's kind of different way of looking but I really like your questions there, Jamey where you sort of probing on the balance between do you stick with the approach that's been used that people are comfortable with or is it now time to move out of your comfort zone and make that change to do things more efficiently. I was reinforced as I thought about your question there is about it really comes down to the emotional energy and I think it's okay sometimes not to have the emotional energy to make that change and that's okay. Maybe other people do have the emotional energy to make the change and you can say, it's not that it's a bad idea but also then, it enables and empower and say, I can't join you on that journey today because I don't have the emotional energy today but I'll journey tomorrow when I'm feeling a bit better. JAMEY: I really like that. JOHN: Yeah, that's great. SAM: Cool. JAMEY: Thank you so much for coming on the show. It was really great to have you. SAM: It's great to be here. Thanks so much. JOHN: Yeah, it's a fantastic conversation, as always. JAMEY: Anyone who likes the show, also wants to have conversations with us, maybe in a safe space. If you pledge to our Patreon at Patreon.com/GreaterThanCode, you can get an invite to our Slack community and it's really great there. SAM: Totally recommended.