Logo

Software Developers Journey Podcast

#215 Michael -Geepaw- Hill is a joyful street-geek

Transcript

⚠ The following transcript was automatically generated.
❤ Help us out, Submit a pull-request to correct potential mistakes

Michael Geepaw Hill 0:00
So you keep yourself afloat. And you'll wait for those times when somebody will start to come to me and say, I don't want to write bad software badly. I want to write good software. Well, can you help me build an organization that can do that? And I'll say no, but I can help you build a community that will. That's kind of my take. And I would urge everybody out there who has any connection to, to get joy, to community, to these ideas, to just you know, take deep breaths. Find sips of cool water when you get the chance, and hang in there.

Tim Bourguignon 0:34
Hello, and welcome to developer's journey to podcast, bringing you the making of stories of successful software developers. To help you on your upcoming journey. I'm your host, Tim bourguignon. On this episode 215, I received Michael G PAO Hill, Deepa was lucky enough to become a professional computer programmer. Around the middle of the 80s, he became an avid early adopter of a programming method called Extreme Programming. He has been an independent for most of his career as a developer, but also as a software development coach, I'm sure going to talk about that today. He now works with software organizations all over and 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 of value for living. Michael, welcome territory.

Michael Geepaw Hill 1:28
Hi, Tim. It's nice to see Oh, should

Tim Bourguignon 1:30
I say CIPA called you, Michael? Nah, that's the full power, isn't it? People

Michael Geepaw Hill 1:35
go back and forth. My my oldest friends actually call me ill to avoid the whole issue.

Tim Bourguignon 1:41
Get into that as well. But before we come to your story, I want to thank the terrific listeners who support the show every month, you are keeping the dev journey lights up. If you would like to join this fine crew and help me spend more time on finding phenomenal guests, then editing audio tracks, please go to our website, Dev journey dot info, and click on the Support me on Patreon button. Even the smallest contributions are giant steps toward a sustainable dev journey. journey. Thank you. And now back to today's guest. But we were trying to get chatting before the year before the recording. And I told you I knew you as Michael hill before. And then when he was introduced through a friend of ours as G Powell and didn't make the connection at first. And now I have to juggle with to him sorry.

Michael Geepaw Hill 2:34
For the people who don't know, people call me G PA. It's not like Well, now I look like a grandfather. I look like an angry old man. But I became a grandfather at a very young age, I was just 31 years old. My wife is a little bit older than I am. And her kids were almost grown. And so I got my first grandkid when I was 31 years old, and I have to tell you that my friends and family thought that was the funniest thing they had ever heard of. And so they began to call me grandfather and Old Man and the patriarch, and all of that instantly, and forever. And the grandkids actually grew up calling me G PA. And that's why I'm called G pa nowadays, it's not meant to indicate my seniority as much as it is my little old madness, which I've had since I was 30.

Tim Bourguignon 3:26
I didn't know you at 31. So I cannot really, really tell. But now it fits the pair of the personnel perfectly. So awesome to have you on the show. As you know, the show exists to help the listeners understand what your story looked like, and then imagine how to shape their own future. So as as usual on the show, let's go back to your beginnings. Where would you place the start of your death journey?

Michael Geepaw Hill 3:48
Before I answer, shape your story. If you're out there listening to us shape your story, you're in control of your story, you get to tell it and you get to pick the events that you think are most important. And doing that is a really, really important part of being a great geek and a great person. So before I start, I just had to blurt that out. My story started. Okay, so I don't know how it is in your local market. But here in America, when you get involved with the boss's girlfriend, you get fired. So my story. My story as a developer started because I got involved with the boss's girlfriend. I was I was selling I was selling books over the phone, and I was pretty good at it. And I was doing pretty well and I got together with the boss's girlfriend and we will I got fired. And I moved in with her. And we lived together in in the state of Virginia up near the DC area and I needed a job. So I thought to keep selling things. And I saw ads for people to sell computers, micro computers. And this was in 1980. And I went to I went to a couple of different places. And I, one guy gave me a book to read it was the Howard Ws, Sam's introduction to micro processors. Book was a big loose leaf book, it was really actually very cool. And he said, Come back in a week, and I'll ask you questions out of it, and we'll decide. And I did. And the the decision was yes. And so I became a computer salesman. This was a 1980. And that, you know, the first of the two sort of revolutions in our trade that have done us both a lot of good and a lot of damage, was just getting started, right, computers are starting to come out, new computers are coming out every six weeks, there was a consumer marketplace that was very real for the first time. So what I would do is I would go in and from nine in the morning until noon, I would make all my calls and get all my business taken care of. And then from noon until nine, I just played with the computer. I messed with it. I learned everything I could about it. I started to learn programming, I learned a little bit of basic, but then I discovered a programming language called forth, that someone had brought me back in those days, you know, in your training, unless you went to college for this, which I did not I'm a streetscape 100% True, but I've never taken a formal course in, in computer science and, and so your training and everything came from your community came from your peers, it came from people, you know, this guy would travel through like once every every month, to sell us and deliver us new hardware and stuff like that. And oftentimes, he would have like a little five and a quarter inch floppy drive. And it would have something on it. And it had an implementation of the programming language forth. And I fell in love with fourth and I started using it really, really regularly. And I actually started with with one of my customers, he and I started a fourth interest group up in the DC area. And there weren't very many of us through maybe half a dozen, maybe 10 at the most. But we had a lot of fun. And he asked me one day, if I thought I could write a new fourth for a new computer, a computer that hadn't had an implementation before. Fourth is a very simple language, there's about a half a dozen primitives that need to be implemented down in the machine language. And so I gulped and I said, you're sure. And then he said, Well, you think you could do it in six weeks. And I gulped. And I said, Sure. And I became a computer programmer. And that's what I've been doing for the last 40 odd years.

Tim Bourguignon 7:45
It's not enforced anymore. Now you

Michael Geepaw Hill 7:49
all it's really tragic, because I happen to be a bonafide fourth expert, I've implemented, oh my god, 3040 50 different fourths on different machines. I created multitasking forth, one of the first floating point fourths, a multi threaded fourth. And on all that stuff, I'm a real fourth expert, and nobody cares.

Tim Bourguignon 8:11
What was so cool, but for So You said you hadn't had a bit of bit of basic or you're programming a bit of basics. But yeah.

Michael Geepaw Hill 8:18
Fourth, this is one of those languages where you, you can understand everything about it. Everything about it, I mean, fourth is written mostly in fourth, except for those half dozen primitives. The primitives are very, very simple and easy to understand. And so it's like you're living in this world where you know everything about it. And because of that, because you can write the code because you can extend the language very easily. You just get so much freedom, I think people who work in small talk and to some extent in Lisp, also had the same experience. They were like, I I see everything I know, everything that's going on inside this program, there are no secrets from me. And I think that's, that's a big part of what made it so, so pleasing. For me. I worked in fourth pretty much full time for about five, six years. Finally, I I figured out how to implement a fourth using C. And this would have been 1985 or so. And at that time, increasingly, new computers almost always had a C compiler. So my old specialty of rolling fourths in a new, you know, in for a new CPU kind of went away. Because all I had to do was get my source code onto the C compiler and boom, we were off and running. So I learned a lot of C and then eventually with C front 1.0 Right i i launched into C++.

Tim Bourguignon 9:50
Okay, and that was that was you bearing the the fourth timeline and moving on? Was it okay? Pretty much.

Michael Geepaw Hill 9:56
Okay.

Tim Bourguignon 9:59
And have you continued creating compilers increasing languages like this for a while or do you

Michael Geepaw Hill 10:04
know I really haven't, except that in my modern work, I do almost everything in Kotlin. Nowadays, I really like working in Kotlin. But people who watch me program, notice how obsessive I am at creating, you know, languages that are dedicated to describing domains and problems and solutions, much more so than just using, you know, I don't just use Java to solve the problem. I use Kotlin. And, and a little bit of Java to express the problem. And I'm very obsessed with that expression angle. And I think that comes from having grown up in a language that where, you know, you were in charge of the language, not just your application. And so yeah, I don't I sometimes I watch people who are doing, you know, cool stuff. My friend, Chelsea Troy, she does a lot of thinking about compilers and writing compilers, you know, TDD and compilers and developing them and writes it all up for the Internet and everything. Boy, it's so tempting. But I already have like 700 projects stacked up waiting for me to deal with them. So I've been resisting the temptation. So

Tim Bourguignon 11:18
when when you're even more detailed than you already are? Anyone to say that we've got retirement, because do we ever at some point retire as professional developers, I'm not sure. But

Michael Geepaw Hill 11:32
what I do now, is what I'm trying to do is I want to make content, I want to shoot videos, I want to write articles, I want to do stuff like that. I want to do it about a quarter of my time, and I want it to be enough money to keep me afloat. And so that's my version of retirement. That's that's kind of where I'm headed. We'll see if that actually works out or not.

Tim Bourguignon 11:56
Fingers crossed. But let's, let's roll back a little bit. We were just leaving forth and moving on towards towards C or C++, did you consider yourself a professional programmer at that point? Ready? Were you still doing sales on the side? When did that happen?

Michael Geepaw Hill 12:13
Oh, no, I think I'm a professional programmer almost immediately after that first gig, because I wrote that forth for him. And then, you know, in those days, I think it's hard for people nowadays to understand nowadays, you have basically three platforms. And all they ever do is update, you never see a new platform. But in in 1980, you would see a new CPU, or a new operating system in a completely different configuration. And you'd see that every six weeks, eight weeks. And so you know, back then to be a programmer, at in the microcomputer world, you had to be able to build serial cables. Because every box was different, the standardization process have not even begun. And I know we're not fully standard even now. But it's a lot better than it used to be. And, and so in in that environment, you know, there was tons and tons of work, just getting existing code up and running on new boxes. And then of course, I also, I didn't just implement the fourth, I also worked for this guy doing, you know, the actual application that he sold, which was a vertical market. It was a sort of a custom vertical market. Well really Microsoft Office, except tailored to the trucking industry, to the printing industry, the professional web role printing industry and, and things like that. And that's what we did. That guy Chris was my first mentor in the trade. And, of course, you know, I thought he was old. I don't anymore he was about, I don't know, eight years older than me. I know, right? You know, we just geeked out together. We just had a wonderful time. And and he, you know, working with him brought me to my first sort of taste of geek joy of what it's like to just play and to get paid for it to get paid for playing all the time.

Tim Bourguignon 14:19
This is how you would describe geek Joy getting paid to play.

Michael Geepaw Hill 14:23
Yeah, I mean, it's the playing it isn't the getting paid. But of course, that's what's special about being a computer programmer is you get paid very well. My my friends and my wife you know both give me grief sometimes I'll complain about what someone is offering me to do a piece of work. And I'll you know, I'll be like, you know, I wouldn't get out of bed for that amount of money. And they just they just shake their head. But I You know how it is I didn't do this. I didn't I didn't set out to become a computer programmer so I could be rich. I set out to be a computer programmer because this was really fun. and it is not my fault that the culture riff, you know, doesn't value nurses, teachers, social workers, the way of values computer geeks. And I think it's It's regretful, I wish we did value those things as much. But But yeah, you know, you get you do get paid, you get you do get paid for joy.

Tim Bourguignon 15:22
This is this is definitely privilege. Yeah. I can relate to that. So how did you I mentioned to you in your bio, that that you are independent most of your professional career? Yeah. How did that enter your life? I mean, you were you were working with with this guy, Chris. Chris, from the get go? Did you consider yourself already in Independence at that point, at that point,

Michael Geepaw Hill 15:43
I was I was a flat employee. But after about three years, oh, you know, gosh, life is so hard. Chris, and I, you know, we, we got off on separate tracks. We didn't want to necessarily keep working with each other quite so much. I found somebody offered me, you know, a short contracting gig. And it was super, super lucrative. And it was only about three months worth of work, but it probably would pay for that entire year. And, and so that sort of gave me a little bit of cushion. And then I just bounced from contract to contract. I didn't, I wasn't always working. And I wasn't always filthy rich. But but but you know, it worked. It worked out, okay. And I was I was able to sustain myself, I am a I'm a hippie. And I have lived in collaborative community housing pretty much my entire life. And I still do now. And I am not going to sit here and tell you that communal living is better. But it is different. And one of the aspects in which it is different is that money is far less important. It is far less the center of our concerns. And it's not you know, there's no free lunch. There are other there are other problems that you get from the fact that you live in a community rather than as some little cell in a great big beehive that nobody knows your name or cares anything about you. But But one of the problems that goes away or lessons at any rate is money. You know, Elma house, so in my car, I live on 500 acres of rolling wooded foothills. What about 60 other adults? And, you know, we're pretty rich, I mean, not in cash. But in stability and calm and beauty, you know, and so that that aspect of it kind of helped my career, I think, the fact that I did not have to pursue money quite as desperately as, as so many people, do. i People ask me, What should I do if I want to go independent. So the first thing is sell your Tesla, okay, you know, get used to the fact that you don't, you don't really have to do all those things. People are telling you to do those things, and they're trying to sweet talk you into doing it, and you don't have to do it, you get to choose what you spend your money on.

Tim Bourguignon 18:08
That's a good a good thing. Maybe to to backtrack a little bit, one of the hardest discussions you have with people who are trying to be independent or independent is, well, you have to be searching for your next gig all the time. But if you're if money is not the motivator, then this goes away. So what do you optimize for next, when you invariably search for next gig, we were your algorithm.

Tim Bourguignon 18:32
So you know, I mean, it hasn't been an endless glowing fountain of money. I certainly have experienced times when it was a little dry, and I was a little tense, but you kind of just learn that it'll pass. And since you know, even if I dip into a little bit of debt, it's okay, I'm going to come out the other side, because I don't spend all that much money. And sooner or later I will get money. So then what do I optimize for the kind of work that I like to do? The community that I like to work with? And things like that become a much greater concern to me? I'm far more willing to say no, then than I ever thought I would be, you know, I, at my level in the trade, I am often offered gigs at organizations that I would not choose to work for. And I told them no, unless of course, I'm very desperate, but I'm not usually very desperate anymore. I'm usually willing to say yeah, you know, I don't think y'all are doing the right thing and I don't want to work for you.

Tim Bourguignon 20:27
That's very nice place to be. Yeah. At what point? Did you consider this this particular role of a coach of not being the one writing all the code? Yeah, but being the one writing it and helping others do it?

Michael Geepaw Hill 20:44
Well, so obviously, I mean, maybe it's not obvious to your listeners. But so I've been a coach as well for about 20 years. And I tend to alternate between coding, and coaching and teaching, or I have over these last 40 years I've done done them all. Now probably known more as a coach than is anything else. But you know, what happens is when you're in a team, and you're and you're plugging away, and you've got your deadlines, and you're all done, the thing that you lose sight of most easily is the health of the team. And as a coach, I don't care whether you ship on time. I don't care about your deadline, I really don't, I could give a shit. I am only thinking about. And I'm the I'm usually the only person in the room thinking about this. How you guys doing? How do you feel? How's it going? And I don't mean, how's it going in terms of your metric? Or your story points? I mean, how's it going in terms of your, you know, of your joy? How's it going in terms of your Are you reaching? Are you becoming who you wish you were? And because I'm concerned about that? And, and like I say, because I'm usually the only person in the room who's actually focused on that, I can help teams become much more what they wish they were and often is not. I know that sounds like a hard sell. It's not really, because very often the the biggest things that are holding teams back are the fact that they're not having fun. They're not enjoying themselves, that they're not getting challenged, or that they're getting overwhelmed by challenges. And you know, people recognize that we have so we have more data that proves that happy people are more productive than we do that proves that the you know, Earth revolves around the Sun. I'm not kidding you. We have so much data about, about how important the the morale and energy and flow and feel of the team is to that team's ability to produce. And you brought up an earlier story before we got on about your conversation with Jeb where he got all offended, because you call them an Agile coach. I, I also don't use that word. I am not an Agile coach. I'm a software development coach. Yes, I am steeped in a lot of principles and ideas. But the agile movement has gone in a in a in a really bad direction. It was not the direction we intended. And I don't I don't install agile systems. I don't have the K for safe or Scrum or even my beloved XP. And the reason is, is just to circle back. The reason is because that's not what's holding people back. What's holding these teams back from producing is not the method, the method. If my team is healthy, the method isn't really that important. And if my team is unhealthy, the method won't help them. So it's not that important either. What's important is is my team healthy. And and I'm a geek. So I am certainly I'm not talking about unicorns, farting rainbows. The world is not full of have endless joy, second by second. But there's a sort of a flow a sub base on which we build ourselves as individuals and as teams. And if that base is missing, no technique on earth is going to save you. And it does certainly involve a connection to technique because technique is one of the things that fills us most with joy. But no methods. I'm not a method guy. I'm not a method guy. Somebody. Somebody told me the other day that someone asked Gerry Weinberg what what he was most proud of, you know all of his accomplishments over his career and you know what he said? So I'm not really proud that I never actually done I've never created a software development method. I you know, with all due respect to Gerry Weinberg, I am not a huge, huge, you know, fan like so many folks are of Jerry. But I have to say that's pretty damn good. And I would like to, I would like to make the same claim, I have never invented a software development method, nor do I intend to

Tim Bourguignon 25:29
believe you right away. But but but I'm a bit surprised by your comment about putting x p. Also in this category of the things that you wouldn't recommend.

Michael Geepaw Hill 25:41
It's not so much that I wouldn't recommend taking some of the techniques. I am an avid test driven developer, because I believe it makes us more productive and more joyful at the same time. But there are aspects of TEF of XP that even the old guard has renounced. Right, like story points. Story Points are ubiquitous in the world of that agile, the people who invented story points don't believe in them. We don't use them. Because it was a great idea on paper, and in practice, it became something else. And so that's a really good example of how even a movement that had much power and interest and excitement and can go wrong. If you try to turn it too hard into a set of instructions for programming. The thing that people ask me about because I was very active in the early XP, area, right, in the, in the mid to late 90s, the design patterns movement had created a huge, huge stir in the trade. And from that movement, came a smaller community that became the extreme programming community. And we were mostly centered in comp object on Usenet, or in Ward's wiki, which is called the Portland Pattern Repository, or sometimes called C two.com. And that's where we all hung out where we spend our time. And we think about it is, to me, the central, astonishing amazing thing about XP, all the really cool stuff was in the community, and not in the technique was in the fact that we built a community of people who had similar ideas and similar interests. And, and you know, oh, my God, we have love and war. You know, it was, it was a happening and controversial space. But it was all framed by this ferment of excitement about the possibility of doing something cool and new and interesting. And, and that is the thing that I want to create in the world, not a new XP, or God forbid any of these other methods, but a community of excitement and joy, and interaction. So that's what makes me that's what makes me say, not even, I wouldn't even install XP in your shop. I am not I am not a system installer. I walk in and look around, ask people how it's going. Get them to start talking and thinking about who it is they want to be. And then I have a, you know, I am a big tool belt full of little tools that I can hand you, depending upon what it is you answer me when you say when I say what is it that you want to be?

Tim Bourguignon 28:42
I want to make it a cheesy parallel. But please bear with me for a second. Yeah, what I see is you're not willing to to port XP or portable any any methodology on a new programming on the new OS, a new team, but recreating the compiler for that team. And their version of it. That would be your stuff,

Michael Geepaw Hill 29:03
Willie? Yeah, that's pretty good. That's pretty good metaphor. Yeah, because I mean, you know, every community is different. All high performing systems have some things in common, but almost none of them are processes. Almost all of them are about stuff we hardly even have words for. Or we have words and the words have already been stolen.

Tim Bourguignon 29:28
Like leadership.

Michael Geepaw Hill 29:31
You know, real communities do have leaders, but they don't look like the leaders. People mostly talk about. You ever worked on a team that had a guy who was everybody's trusted go to mentor a friend who was not in charge? Those are the best teams. I have no power at all except my ability to talk And to make you feel good, and to give you a little insights and tips that help you, I'm not in charge you, I don't get to tell you what to do. There's this idea that that, you know, gosh, this is all this is all headed down this path of me eventually starting to talk about how broken and messed up our trade is. But there's this idea that you take the smartest person in the room, and you put them in charge, and you're gonna get better results. That's not a very good idea. Because the smartest person in the room is not necessarily the best community builder in the room. And because, in addition, the smartest person in the room is not in any way stretch or form guaranteed to be right. And when you when you take those two assumptions, and you say, what if those two assumptions aren't true, then you got a very different model of how we ought to be making our teams. You know, and how we ought to be, in fact, approaching our software. Unfortunately, we can't. I mentioned the first of the two revolutions that happened in 1980. The second one happened in 2000. The first one was a dramatic drop in the, in the cost of physical computing is just absolutely staggering. And it went on for 20 years, to an extraordinary, extraordinary industry, most people don't realize your Fitbits got more computing power, and then the computer that that circled the moon. People don't think about that anymore. You know, they just take it for granted. The second revolution started in about 2000 or so. And it was the another cost reduction, the extraordinary cost reduction in the cost of distribution. It became possible for us to send software anywhere anytime, essentially, for pennies. And the result of those has been this extraordinary, massive, massive demand for our services. So the great thing about that is, you know, I have a living and so to you. Right, that's nice.

Tim Bourguignon 32:08
That's pretty nice.

Michael Geepaw Hill 32:09
I'm really glad I'm not you know, living in a basement apartment, trying to paint code, the interest patrons in funding me to do so. So that's a good thing. But the downside to that is that it has well, in 1980, when I came into the trade, there were 100,000 professional developers. Today, there are about 26 million. That's just 40 years, from 100,000 to 26 million. The average of the average developer has less than five years of experience in the trade. Over half had less than five years of experience. That's a startling fact. You know, I don't know the last time you hired a plumber. But I'll tell you what, I guarantee you that plumber have more than five years of experience in the tray.

Tim Bourguignon 33:04
Guaranteed Yes, I'm nodding heavily. Yeah, exactly. Yeah, that makes you as senior engineers at least have experience after five years.

Michael Geepaw Hill 33:14
Yeah. And so what's happened is, our culture has become brittle. It's very fragile. It's it's all the badging, you see, that we badge people around, do they know our favorite language, or our favorite language trick, or clever Google algorithm, or blah, blah, blah, we badge them around their gender presentation, we badge them around their their nationality or their race, we badge constantly all of that is the reaction of a very fearful and brittle culture. That culture is fearful and brittle, because the people who are supposed to be in charge have no idea how to do this. And they transmit that downward. And we've built these huge structures where, in theory, by software development group, or if I'm a whole company of software developers, my company is a machine with motive force up at the top and leadership up at the top and, and there's little rods connecting us in this vast mechanical organization. And what it is, is it's a recipe for creating bad software badly. And the only reason we get away with it is that in this demand market in this instil incredibly high demand market, it is possible to be very profitable writing bad software badly. Now, I think that's going to come to an end. I want it to come to an end. I want us to to move towards writing good software well, but we're on the cusp, maybe maybe that's going to happen in the next 10 years. I don't really know. But But anyway, all this is done is malformed our trade into it icky. The thing, and one of the things that I try to spend my time doing is getting us back to when people say back to basics, and they think I mean back to like, I don't know, XP, or something like that. No, I mean back to basics team community mutuality of interest in activity, away from machines, away from titles, away from order giving. The thing that worries me the most about this trade today is that we have 26 million developers in the world. And I don't know, probably 22 million of them hate their jobs. That's too bad man. I spent 40 years in this job I loved it made me who I am today, the idea that 22 million of them are out there unhappy. That's, that can't be right. That can't be working.

Tim Bourguignon 35:55
That's depressing say? Can you can you be heavy developing banking software and insurance? Software? Can anybody be happy with that?

Michael Geepaw Hill 36:08
It depends. I have certainly worked in finance, and in banking, and had a fun time. Because I don't think it is necessarily the subject matter. On the other hand, it's hard to get up in the morning and realize that your job is putting more advertising on more web screens. No know, it puts the database on its browser skin, or else it gets the hose again, that's you know, that's pretty much that's a lot of what these folks do for a living and it sucks. And, you know, a big part of my mantra is, you know, it doesn't have to suck, you could get better at that. But we never get better at it. Because it is still possible to make money by writing bad software badly, that software is bad, and it is written poorly. If we if we weren't able to make money doing it, we would be able to learn how to write it well, how to do it so that even putting ads next to database information on a web browser would be a more joyful task than it is now. I think that's possible. Maybe not the end of you know, not as cool and sexy as some of the work we've done over the years but still viable for people who you know, who are okay with that activity.

Tim Bourguignon 37:30
So does it has to go through some kind of bigger difficulty selling it afterwards? Or can we have a healthy dose of, of Daniel Pink Dr. autonomy, mastery and purpose, the purpose is that there's maybe not as high in one case compared to the other but autonomy and mastery then. And then that's sufficient to make people joyful and start being interested in their in their craft again, and right.

Michael Geepaw Hill 37:53
So I took Pink's ideas, and I extended them a little bit, I added rhythm and safety. And it's called ramps, rhythm, autonomy, mastery, purpose and safety. And the point that I actually realized after I had forged into it a little bit, was that you know, these are, so if you take any Burnham metal, it, it puts out visible light, and the visible light is of a certain spectrum. And if you take that spectrogram, you can actually identify the metal. And so think of a spectrogram as these colored line vertical lines, that a unique pattern is associated with each or or substance they that you're burning. So think of our a MP and s as four lines. And now you got a better you got a much better sense of what a human character is like. Some of us are driven much more by whether or not our work has purpose. Others are driven much more by whether or not our work has rhythm to it has regular doses of dopamine associated with how we do it. And the once you begin to realize that you begin to realize, you know, there are people who will be pretty happy putting webs of ads on web screens, assuming the work doesn't suck in its ordinary trivial sense. They're the they don't need the purpose. They don't need the mastery. They liked the rhythm, they liked the safety. They liked the autonomy that they could be getting out of that those people will be happy in that in that area. Others need the really, the mastery thing is so important to a lot of people and having some obscure domain, you know, working in some domain that nobody understands high speed trading on Wall Street, or, I don't know, facial recognition, or any of these other stunningly interesting intriguing problems that we see. You know, those people are probably going to be more interested in that. Then that combines mastery and purpose for them. But we don't all have the same shape, we don't all put out the same spectrogram. So I think it is possible that that we can find places for people to fit. Right now, all of the levels of support for all of those bars are so low for so many people. You can't even tell the differences between them. In fact, the trade is almost built on the idea that there aren't any differences between them. The humans are what we call resources, like coal. How much coal do you use? How many human resources will it take for us to do this project?

Tim Bourguignon 40:44
Something that have come up? Yeah. Yeah. Because you can cut people in half, right?

Michael Geepaw Hill 40:49
Yeah, exactly. So the idea of the fungible human, the interchangeable humans who all of us have the same spectrogram. And the same needs the same. That's nonsense. It's just nonsense. And it's nonsense on its surface. Everyone knows this about themselves. Everyone does. But now we're going to build a system and a theory, a mechanical, you know, mechanical scheme for creating software based on the assumption that we're the same. No, I don't think so.

Tim Bourguignon 41:23
But there's there's one more fallacy, which is not not just basing it on the assumption that people are the same, but basing it on the assumption that even if people were different, it wouldn't matter on the output on the outcome.

Michael Geepaw Hill 41:37
Because it doesn't matter, as long as they press the right key at the right time.

Tim Bourguignon 41:40
Absolutely. Yeah. Yeah. So that comes back to to to joy and teamwork cetera being actually the the only measure of success that you can have, if joy is there, then you will be successful joy isn't there, then you cannot guarantee it? Yeah. Or even? I mean, you could you couldn't guarantee it if you had joy here. But no thing I've heard in this autonomy mastery purpose, I've had the word belonging being put as a fourth one, would you think about that?

Michael Geepaw Hill 42:09
Right? I like it, I would suggest that belonging has a lot to do with safety. Okay. I think belonging might be a kind of split, maybe a little in between safety and purpose. Because so often we say we belong, because we share a purpose. I see. I see, you know, and we share, you know, we find ourselves both in service to a larger thing. We both believe it, but I, I think that there are probably more than just those three and more than just my two editions. And more than, right, because we're talking about human nature here. I don't know if you ever read about this guy, I'm not gonna be able to remember his name, was a researcher in for the Air Force. And what he did was he tried to measure the average pilot, in an effort to design the perfect cockpit for the average pilot. And he measured like 30,000 of them, and he measured about 100 different measurements, physical measurements of their bodies. And so he computed then from all these measurements, the average Airman and he found that not one of his airmen was the average airman. So then he said, Okay, forget about, forget about all 100 attributes. Let's take arbitrary sets of five. And he chose random sets of five of the attributes, and he repeated the same process. And what he did, what he came up with was about 2% of his airman, or somewhere in that space, on the five most common attributes that he finally was able to choose. And the point of all this is simply to say that in even in, even in a situation that is rigorously filtered, it's hard to be a pilot, that's not an easy thing to do to be a pilot in the Air Force, rigorously filtered for their health, for their reflexes for their eyesight for this and that, and the other hand for their brains. There's no such thing as an average person. So there's no such thing as an average geek either. We're all different. And we all have lots of lots of little weird spikes all over us that point in different directions.

Tim Bourguignon 44:36
And thanks for that. Thanks God for that. It would be so annoying if we're all like that's, that's usually the place where I ask you for one advice, but it's been advice after advice and you gave me a hint for I would like her to to to go back to this instead. You said that's my words, not yours. But that's my formulation. You said. You're hoping that we can turn this industry around in the next 10 years and And really, really improve on the state and that that it is in what do you think is going to be key for that?

Michael Geepaw Hill 45:06
I think the key is going to be, it's going to have to become not profitable to write software badly. I really do, I don't think that I don't think that an act of will, can reshape the trade, I think a collapse is going to have to reshape the trade. I don't think that collapse has to be a disaster. As long as there are those of us standing around waiting, waiting for the chance to reassert, you know, the connection to the, to the joy and to the community. And to reassert the value of you know, it's not so much that I want to throw out technique, technique is important. But to realign it with, with the larger picture in a much better fashion. And as long as we're still hanging in and still believing, I think our opportunity will come. I don't think that that I don't think we can force it, I get little bubbles of it here and there. You know, I've certainly had it from time to time and place to place in in my career. That's why I'm still in it. And I think people who are like me can keep looking and find those spots. But I will say that in this trade, the way it's currently structured, those spots are usually temporary. Those are those are short term situations in which you're there and it's gone. And you're having a great time. And you're also producing and effective and blah, blah, blah, and then they break you up. It's so common.

Tim Bourguignon 46:37
You know, it is unfortunately,

Michael Geepaw Hill 46:38
so you keep yourself afloat. And you wait for those times when somebody will start to come to me and say, I don't want to write bad software badly. I want to write good software, well, can you help me build an organization that can do that? And I'll say no, but I can help you build a community that will. So that's kind of you know, that's kind of my take on, you know, I would urge everybody out there who has any connection to, to give joy, to community, to these ideas, to just you know, take deep breaths. Find sips of cool water when you get the chance. And hang in there. This is this is not sustainable. I know it's been a long time, it's been 40 years. But it is not sustainable for us to keep running our trade this way it has to collapse. I think we see signs of it already. I talked with executives, they say you know, their software development department is like an infinite capacity flush toilet down wish they may flush their hands in their operating capital every year and they never get anything back.

Tim Bourguignon 47:50
Out. Yeah. You can say ouch. Well, I'm gonna piggyback on your optimism. I really hope it's going to turn this way. I've got a few scenarios in my mind, but I'm gonna leave it optimistic for now. Thank you very much, people. It's been fantastic.

Michael Geepaw Hill 48:07
Absolutely. I quite enjoyed myself. Thanks for having the great questions and interactions. I obviously I got really excited. I went on and on, didn't I? Oh,

Tim Bourguignon 48:15
that is that that's the way it should be when you're in your head talking and telling us your story, which has covered a few years and you have plenty to say so awesome. Thank you very, very much did you but where would be the best place to to start a discussion with you or continue this discussion with you.

Michael Geepaw Hill 48:29
Okay, so you know, it's G pa GEP. Aw, Hill, H I L L. And that's it kind of everywhere. It's G pa hill.org. That's my website. You can find me on Twitter as G pa hill you can find me on Mastodon social dot Mastodon is where I'm registered nowadays at at G pa Hill. It's it's a good name in that respect, because it's not very taken. I'm allowed to use it almost everywhere I go. You can always drop me an email, you can tweet me you can you can reach out in any number of ways. I'm always happy to talk about these things. They are very important to me, obviously. So feel free.

Tim Bourguignon 49:11
could hear this in your voice throughout the whole exchange. You look happy and you're you sounded happy as well. Thank you very, very much.

Michael Geepaw Hill 49:20
You're very welcome. I had a great time. And this has

Tim Bourguignon 49:23
been another episode of developer's journey, and we see each other next week. Bye bye. Thanks a lot for tuning in. I hope you have enjoyed this week's episode. If you liked the show, please share rate and review. It helps more listeners discover those stories. You can find the links to all the platforms to show appears on our website, Dev journey dot info, slash subscribe. Creating the show every week takes a lot of time, energy, and of course money. Will you please help me continue bringing All dudes inspiring stories every week by pledging a small monthly donation, you'll find our patreon link at Dev journey dot info slash donate. And finally, don't hesitate to reach out and tell me how this week story is shaping your future. You can find me on Twitter at @timothep ti m o t h e p or per email info at Dev journey dogs info talk to you soon.