1:59
Welcome, geeks, to another exciting episode of Rockin' the Code World with Donet Dave
2:06
I'm Donet Dave. David McCarter. Sorry, I'm messing up already. It's the first show of the year
2:12
And I'm glad you're all here. Happy New Year, everybody. I hope you had a great holiday
2:17
And I had a great time off. You know, it's been a month since we've done the show
2:23
I completed my book Which I'll talk about in a minute Bought a brand new computer
2:30
Made it through the holidays And so I'm here And the weather's been
2:35
The month that the show's been off The weather's been really crappy here in San Diego
2:40
But it looks like it's Finally going to start getting back to normal today
2:44
So I'm Happy about that You know, San Diegans Are kind of
2:51
wimpy when it comes to the weather because it's sunny pretty much all year. And when it does
2:57
go down to weather other people are experiencing, we start complaining about it after like three
3:05
days. So anyway, welcome. Today's the first guest for 2023. Gosh, I can't believe it's 2023 already
3:15
is Robert Bogue. He's the president of Thor Projects LLC. And we're going to be talking
3:21
about empathy and empathy in software. So I'm really excited about that. Something we all need
3:25
to think about. And I think it's a great topic to start the year off with. Everybody has New Year's
3:32
resolutions and what do they want to do this year, what projects they want to complete, what
3:37
other things they want to do. And so it's a great thing to roll empathy into it. And especially
3:46
after the week we've had in America this past week. I think we all need a little bit more of that
3:57
So, sorry, I was looking at the comments. So let's get started. So I have a new computer. I'm
4:03
trying to figure out how to do everything. So guess what? My book is finally out
4:09
So rock your code, code and app performance for Microsoft.net is finally out
4:17
I worked on it for most of last year. And the last like three months I was doing benchmark testing almost every single night
4:27
And even after my book was released, I decided to do some more
4:31
And I've been doing that the last two weeks for some extra things I'm going to be coming out with really soon that I know you'll like
4:38
So anyway, this book is 266 pages. Here it is right here. And this is the preview copy and my proof copy. And it's 266 pages
4:55
and the data that I present in the book is from over 6,500 benchmark tests
5:04
That's 3,000 more tests than the second edition of the book. So if you have a second edition
5:12
you need this one, especially not only because there's a lot more information in it
5:17
but the numbers have really changed between .NET 5 and .NET 7
5:26
So you're going to see some of the changes when you look at the graphs
5:31
And even, unfortunately, I've noticed some slipping in the performance of .NET 7
5:37
I'm not super worried about it at this point because, you know, .NET 7 is not a long-term support version
5:44
And we'll see what happens in November when .NET 8 comes out. So, but get the book
5:50
It will really help you speed up the code performance in your book
5:56
I'm really proud of this one because I'm already making changes, not only in my open source project, Spargen
6:04
but also at work I'm making changes based off the data that I've gathered off this book in the last couple of months
6:11
So if I'm finding it useful, I hope that you'll find it useful too
6:16
So wherever Amazon ships books, you can get it. I have all the links on my website with the different countries
6:26
on where to buy the book. So I hope you go pick up the book. And like I said, I have something else coming out
6:31
probably in the next week or so. I think you might like to. But I'm going to keep that under wraps
6:39
Okay. Oh, and speaking of Spargin, I have my new version out, came out in November
6:47
It's done at six and done at seven compatible. So I hope you go check it out
6:52
And like I said, I'm rolling in performance changes into Sparta because of what I found in my book
7:00
Especially because different types seem to act differently in collections. And so I'm working on that for Sparta
7:09
So I'll help you go pick it up. to pick it up. And before I forget, Simon and I have picked the date for the 2023 Code Quality
7:19
Conference which would be June 2nd So let me know if you interested in not only speaking at the conference but attending I want to hear your thoughts so we can have an awesome conference this coming June And this is the biggest one conference C Sharp Corner does
7:37
So I'm really excited to bring it back for the third time this year on June 2nd
7:44
So really, really excited about that. Okay, with that, I want to bring on Robert
7:51
Robert has led change projects for three decades as a recovering technologist
7:57
He changed the way people work as he has changed technology. He's the author of 28 books and has been a Microsoft MVP for 19 years
8:07
Wow. His work. Sorry, Robert. His work has transformed corporations, governments, quasi government organizations
8:18
It's not about technology, but he leverages his strength in technology and human systems to create change that is sustainable and transformative
8:28
I can't speak on Saturday. Transformative. Screw it. I've screwed it up too many times
8:34
Welcome, Robert. Hey, sorry. I'm going to see if I can perfect the tongue twisting aspect of my bio
8:41
to see how i read it in my head a couple times before but i guess i should do it out loud next
8:48
time yeah it's all it's it's all good it's all good yeah so you know it's funny it's in there
8:54
i include recovering technologists um and it's hard because i don't want to let it go um my my
9:03
daughter this quick story starts so my daughter is putting up a little mini fence right uh but
9:09
she's doing it with these four different lattice works. And so I'm using a 3d printer to print
9:14
uh, inter joining pieces and, and, and leg pieces and stuff. And they, the family's like
9:20
so I thought you were getting away from that technology thing. I'm like, no, no, I'm always
9:24
I can't get away from it. Yeah. Yeah. I, you know, I feel the exact same way that
9:30
you know, I think I'm one of those people that love technology, but also parts of it I don't
9:36
like. And so, you know, there's parts of me that just want to, you know, when I will, when I win
9:42
the Megan millions, a lottery on Tuesday, you know, all I want to do is buy a cabin in the middle of
9:49
a lake with no wifi, no cell phone, no nothing, and just live out there. Right. And, uh, I give
9:57
that about an hour and a half. Yeah, I know. I know. I know. Right. Cause you're going to be like
10:01
I wonder where the good pizza is. What do I do? Right, right. I can't watch Netflix
10:05
Right, yeah, exactly, yeah. But, you know, I have to say that, you know
10:11
some of my, one of the best vacations I ever went on
10:14
was this rock and roll cruise, you know, it was almost a week long
10:20
And not only did I get to see three bands play at any one time
10:26
which, and a lot of them were some of my favorite bands of all time, uh but my my girlfriend at the time couldn't use her cell phone for a week and that was the best
10:36
part because because we could because we could we could focus on each other and we talked and you
10:41
know we didn't have the that thing going off all the time right like constant distraction yeah
10:47
so yeah i know i i'm all the next thing i want to get is a 3d printer that's that's next on my list
10:55
and and it's fine and then you start doing you do the models that you can buy or get for free
11:00
right and that's a great thing and then there'll be this point and you'll be like but i want to
11:05
make something myself and then you're going to grab blender and then four weeks later you're
11:12
going to realize that you've just spent a whole bunch of time learning 3d modeling so i'm just
11:16
yeah i'm giving you a heads up the warning yeah yeah i i understand i i've already come up with
11:21
my first project and that is um uh you know i donate uh blood every four weeks and uh because
11:28
i'm a super donor here at the blood bank and uh and the chair they hook me up you know because i
11:32
have to sit in a chair for two hours you know while they spin blood out of me and put it back
11:37
in and all that stuff and they have these little cup holders that don't fit the armrest you know
11:43
every time you i put a bottle of water on it i just keep looking at it going you're going to
11:48
fall over at some point right i've been taking pictures of the armrests so i can uh make a
11:55
a cup holder that actually fits on it yeah off off uh offline i'll send you something which is
12:04
a product that actually exists um but but i'm with you like we we have these little these knits
12:09
right and i think i do that in technology too um and and i and i say i warned you ahead of time
12:16
So tell me, what was the favorite project that you've ever worked on
12:22
Well, there's been a lot of favorite projects, I would say. But I think, you know, the one that always hits my head first was the one that ended up making me a patent inventor
12:36
And it wasn't because, and it was for proflowers.com. I don't know if they exist anymore
12:44
They were bought by FTD. And so I don't know what FTD has done to them. But I know they exist still
12:50
But so I was part of the original development team at ProFlowers.com
12:55
And so being a patent inventor wasn't really why that was the best part
13:03
That was nice. But what really was the best part was, number one, you know, what I invented, you know, allowed the company to go to sell multimillion dollars of products a day because before that they couldn't do it
13:19
Right. So so that kept my job for a while, at least until everything went to crap
13:24
But so that was that was the first thing is that I really did help the company grow and all that
13:32
So that's good. But my favorite part was, so I was before we installed the first version of it at one of the I went to some of the installs here in California because at that time, Pro Flowers was getting all their flowers, I think, from four growers in America
13:52
Three were in California and one was an importer in Florida. So I went to two of the growers here in California
14:03
And not only did I go there before I even wrote the product, but then, you know, I went there when we installed it and we had a trainer and everything
14:13
And before, a couple of days before, I had a couple of days to kill. You know, there's always that lull before, you know, you actually release
14:20
Right. So I was sitting there going, you know, I was trying to put my foot because I did see who was going to use this in the end
14:28
I was sitting there going, OK, I need to put myself in a foot in the mindset of somebody who might have never used a computer before in their life
14:38
Yeah. Right. And and and I go, OK, this might be a little too daunting for them
14:45
so what i did was basically everything you know the person in charge of printing
14:50
you know the orders would need i tied to f keys you know remember when you we used to use f keys yeah and uh and I tied every major function to an F key So at one of the installs I was there
15:08
And with, you know, my boss, his wife, who was the trainer and the workers
15:15
And we had somebody who could translate for us because all the workers only spoke Spanish
15:23
Right. So as soon as I saw my boss's wife start to show the woman how to use the mouse to print orders, you know, I looked at the woman's face and I just saw the fear in her face
15:43
Right. And I didn't tell anybody what I did. Right. And so I said, stop, stop, stop
15:50
You know. and I told the translator, tell her this. And the translator told her this
15:57
and her eyes lit up, right? And that to me is when I succeeded, right
16:04
Because I tell people this all the time. I think I did it, Simon, when I was in India
16:08
is, you know, I write apps for the consumer, right? When I see the consumer's eyes light up
16:15
that's my reward, right? It's not the money, it's not the fame
16:19
It's not any of that stuff. Right. Not that I have fame, but, you know, it's not any of that. It's when I can make the end user's life better. That's when I feel rewarded. Yeah. That's when I get personal satisfaction from my career
16:34
Yeah, that's that's amazing. Yeah, that's amazing. Yeah, for me, it is a study I did patients with diabetes and we helped primary care physicians get to treating patients better and they had better outcomes
16:52
Yeah. Right. There's this one measure in diabetes. It's HbA1c. And we moved it down about a full point, which which which meant lives
17:00
Right. It meant years. It meant lives. And that's, I think, the really powerful stuff that we can do with code is we can actually make people's lives better
17:11
Right. And in small ways, making them not afraid or in bigger ways, keeping them healthy
17:16
um yeah that's that's actually reminds me of so i i told you the product i'm most proud of right
17:22
but uh some of the ones i enjoyed working on uh even though they were kind of short-lived
17:29
were for medical for were for medical patients right and i did work on a diabetes uh application
17:36
and the application i worked on was for the university of santa barbara because this was
17:42
years ago, you know, when they were still, you know, doing the prototyping and, and before went
17:48
through FDA and all that stuff. But basically when you see the ads on TV now with those people with
17:53
the little things on their arms that talks to the phone, which talks to the pump. Yep. That's what I
17:58
did. Like, right. Like over 20 years ago when I had diabetes, right. Yeah. And I was not only was
18:06
I interested because it helped people, but I had diabetes at the time. I don't anymore, but I did
18:11
that time. And so I would, so I really enjoyed working on that because the end result was it
18:16
was going to save lives. Right. I worked on another one for tuberculosis patients through UCSD
18:23
And, and that's where I also taught university. And, and I liked that one too. And because we
18:29
were helping those patients get over that terrible disease. Right. Right. And so, so I, I get a lot
18:36
of enjoyment out of medical ones. And I'm actually the, the team I'm on right now, we, we have a
18:40
medical platform. So I'm happier on this app. That's great, right? Like, I mean, it just shows the power that we have as developers to
18:52
impact the world, to change the world. That's why I'm super excited. And I know we hear things now, but I think it's going to be an
19:02
avalanche really, really soon is just how much AI is going to help people and illnesses and things
19:10
like that, right? And machine learning and AI, I think that is really where the explosion is going
19:16
to be. In my mind, at least. Yeah. I mean, I think that is definitely a place where we're
19:22
going to see huge growth, right? And it's probably the same kinds of growth that we saw in relational
19:27
databases in the 1980s and that kind of timeframe. And I think it's got its own set of challenges
19:35
because the hard part about AI is you really can't validate the answers
19:42
Yeah. Right. And so, you know, as you were doing the intro and talking about the book
19:46
I was like, oh, that's super cool. And you get to like, you do a run, you get a result
19:51
You do a run, you get a result. If you do that with AI or ML, you do the run, you get a result
19:57
You do the same run, you get some other result. Whoa. That's not how this is supposed to work
20:05
Yeah. Yeah. But, but I do think there's this, this huge amount of space where, where we can get better results
20:13
And of course it's the way that we bring big data to life. People have been talking about big data for a while and
20:18
and big data is fine as long as you've got something that can go process it and
20:23
and make use of it, make meaning out of it. Yeah. Yeah. That's true. Yeah. And so now that I'm getting older
20:31
I'm going to be glad that AI might be, you know, helping. Well, even, even, you know, I know this isn't really a, a, a, a
20:40
but you know, even for years now, you know, doctors have had, you know
20:44
apps that, you know, if they prescribe a drug, it will immediately tell you, well, are they taking these other drugs
20:51
No, I'm sorry. It will look at my record and say, wait a minute, he's taken this other drug
20:56
Maybe you shouldn't prescribe that, or maybe you should do something different. Right. And so that's already, you know, I watch my doctor use it on his phone, right
21:04
Right. Yeah. Drug interaction warnings are powerful. The beauty is you have two layers of it now
21:11
You have it at the pharmacy level as well as the primary care physician level
21:16
Yeah. And it's good stuff. And again, it's using technology to improve human life
21:25
Yeah. And that I think is just super cool. And that's all I've wanted to do in my career. That's all I've wanted to do is just to make someone else's life better, whether it's at work or their health or something. That's all I've wanted to do as a software engineer
21:39
Yeah. Yeah. So, you know, that's great. But what do we do? So have you had the experience? So that study, the one that I was so proud of, the one that I loved, it didn't work. I mean, it worked technically. We solved the problem. We actually saw the outcomes. But then the politics and the company and every and the way that the organizations were working all blew up around it. Yeah
22:06
But, but have you had any projects where you're like, man, like the technology was rock solid, but the world around it blew up. Yeah
22:17
Yeah. That's, I, that's happened to me many times. You know the you know the first one that hit my head when you said that was you know when I was working at Mitchell International Mitchell International writes estimating software when your car or boat or motorcycle gets into an accident
22:38
or your glass gets cracked or something like that. And so, you know, back in the day, they had those big, thick books
22:46
You know, you go into an auto repair place and they whip out a book. Well, that's what, you know, they used to do, right
22:52
until software came along. And then they went to software. Unfortunately, they still kind of ran it like a book company. Right. And I don't think even the CEO understood how software worked or at least managed the projects. Right. And so I thought we had we had great we had good software
23:10
We had some great products, but like you said, the company around it just kind of imploded
23:19
And they made stupid decisions that led to, for example, in my department, they laid off
23:26
I was a principal software engineer. What's the highest level you could be there at that company
23:31
And they laid us all off in one day. I mean, who does that
23:37
That wants to keep their team running. Right. You can't lay off the entire brain trust in one day. Right. I mean, that's just silly. Right. And the company hasn't been doing great since. And so I I've been on multiple projects like that where I thought the product was good or or at least had a chance. But, you know, as as usual, you know, management gets in the way. Right. Yeah
24:03
Yeah. Well, and I think the other thing that I've seen over my career is you get told the requirements are X, actually Y or Y plus Z minus some number that's randomly generated. Right
24:18
um and i think that's one of the things that got me frustrated with technology is yeah i would build
24:24
this really cool stuff and then it wouldn't get used for one reason or another like it didn't
24:30
match because i got wrong requirements or the the company blew up or whatever right and that's what
24:36
got me really interested in this idea of how do we really understand our users right you know and
24:43
I love your story about, you know, Hey, I was watching the eyes and I knew that a mouse to her
24:49
was something you killed, not something you moved. Well, you know, the other, the, one of the other
24:57
reasons that project went really well, we didn't have any issues with it. We didn't, you know
25:02
we didn't like release the software and pull it back. You know, everything went really, really well
25:08
you know, in that project from the time we first released it until the time I left
25:13
Um, but you know, the reason I was able to, to create an application that not one complaint
25:21
not one complaint was registered when I was there about the application
25:24
I would even ask, you know, the office people at the growers, how do you like it
25:28
Oh, it's great. It's awesome. We love it. And I've never heard a negative thing about it. Right
25:32
But that's because, you know, before I even sat down and wrote one line of code, right
25:39
I went to the biggest grower, my boss and I went to the biggest grower in California, right? We showed up because they start working at like 5 a.m. or something like that. Because by the time the FedEx trucks come, everything has to be done, right? In the mid afternoon. So they started like five. So we were there at five, right
25:59
And I went directly to the manager and I told him, okay, I want you to show me your process from where the flowers are grown until they get into the truck
26:13
And that's what he did. He took me out to the, it was the first time and only time I've been to a major production greenhouse
26:22
And I always remember this, the first thing I walked in there, I go, man, it kind of stinks in here
26:28
and he said yeah we put sulfur in the air because it keeps the mildew down you know it's those kind
26:34
of things and so he took me from there to where they package everything you know where they and
26:40
then when they put it into the you know they have fedex semi trucks just sitting there they just
26:46
throw the stuff into right it's not like fedex comes picks it up they pick up an entire semi
26:51
truck right yeah and uh and even when he took the little receipts from you know the printouts and
27:00
put them in his filing cabinets for you know backup or whatever i i saw the whole thing and
27:06
not one time did i ask him a question about what he wants right not one right because my job was to
27:14
understand his workflow and how I can make it better. Right. Right
27:19
What do you do? Right. How do you do it now? What frustrates you? Right. Right
27:26
And I asked all those questions. Right. And, and not, and the mistake I hear people do is they go
27:33
so what do you think if we put the, you know, label over here or, you know, the text box
27:39
people users don't know what you're talking about. Right. Right. Right. They don't know software. They don't write software. That's our job. It's our job to understand their job. Right. Right. Right. Yeah. Yeah. And it's the funny thing is, though, right. If you were to go to college and you were to get a bachelor's degree in computer science or something like that, right
28:06
you are unlikely to have more than three credit hours of understanding user requirements and in
28:14
fact a lot of programs don't even have that right like hey here's how you write your c-sharp code
28:19
and here's threading and loops and data structures and go have at it and and the fundamental thing
28:25
though is if you don't understand what they're doing how they're working how are you going to
28:30
do anything that's useful exactly you know yeah and and that's that's that's again it's it's a
28:38
it's frustration because we we we know we need to get it right right when is the time when is the
28:44
time that it's easiest to change code before it's written right right right yeah like we don't it's
28:51
not like we're building bridges and we're pouring a lot of concrete but anybody who's worked on a
28:55
long system, a big system for a long time knows that may not be concrete, but changing that's
29:00
going to be hard and possible sometimes. Right. Right. Right. Yeah. Yeah. And so how do we
29:08
how do we get it right the first time? And what I found, cause I was not taught either
29:13
right? Like I didn't get, I didn't get anybody to teach me requirements. That's no, um, I found
29:19
that there are places other places that have strategies for doing the kinds of things that
29:26
we need to do and one of them is anthropology guy by the name of james spradley wrote a book back in
29:30
the 1970s um the ethnographic interview uh so spradley and his colleagues were anthropologists
29:38
and you know basically you drop an anthropologist in a brand new culture that they don't understand
29:42
and they get to figure it out and in most cases they don't even speak the language right and i
29:48
and I would say that we probably didn't speak the language of every situation
29:53
that we walked into. We didn't have the lexicon, the, the, the, the vernacular that they use
29:59
Um, But he's got this really beautiful sort of framework for how do you get to know what their world is like. Right
30:11
You know, I've even, you know, after that, you know, no, this was before Pearl Flowers
30:18
So I've even left companies because they wouldn't let me talk to the users
30:25
Yeah. Right. Because I told them, I don't, how do I deliver great software
30:29
if I can't even spend time with the users, right? Oh, we know better
30:34
Every person that told me they know better was wrong. Right. Right
30:40
And as soon as a company, a CEO tells me that, which actually happened right up the street
30:47
that's why I live here, I started looking for a new job because I know they're not really interested
30:52
in delivering great product. And that's what I want. I mean, great product that solves the user's needs
30:58
And if they're not into it, then yeah, I'm going to go somewhere else
31:04
Right. Right. Yeah. And it's really hard. I think, you know, so Agile, right
31:11
Like, so in both the time that you and I have been doing this, Agile grew up
31:16
And, you know, there are some things about Agile that are really good, like having a product owner
31:20
Right. And a really good product owner can make a huge difference because they're that person
31:27
You can bounce ideas off and test, you know, do I understand this
31:32
And a really good product owner will go, you know what? I don't know either
31:36
I'm going to go to Susie. And the language they use in lean manufacturing is Gimba, which is Japanese
31:43
It translates roughly to real place, right? And they'll go get those answers
31:49
But I think we, the more we separate, the more we put distance between the developers and what problem you're trying to solve, the worst software we get
32:02
And we see that everywhere, right? Like even in framework, we see stuff and you, I don't know, I don't know how often you do it, but I would say probably once a year, I'll find something in the framework and go, and excuse me, but what idiot did this
32:19
Well, you know, people at Microsoft say the same thing sometimes, you know
32:23
Well, right. Right. Like, and I've got, I've got some, some SharePoint cause I've done a lot of SharePoint collaboration
32:28
communication work. I've got stuff in SharePoint that you would look at and you're like, if that was in a
32:34
freshman development course in college, you would have failed the guy. Yeah
32:39
Right. Like you just, that's just dumb. Yeah. But, but, but yeah, but, but how do we make sure that we're doing the right things
32:49
for people. Um, and, uh, and so Spradley Spradley's works really good. Um, what about those times
32:58
Have you had these times when you had to change the behavior, right? So the software was coupled
33:04
with some behavioral change, some process change, something because the way that they were doing it
33:09
was inefficient or difficult. And you had to change the behavior of the user
33:16
and i've tried doing that and with the right partners it works great but with people who
33:22
aren't willing to listen yeah who aren't willing to learn how to motivate people it's like
33:25
that i think that probably has blown up more more projects for me than any other cause
33:31
they're trying to change behavior and the people that are trying to change behavior are just trying
33:37
to tell them well you just got to do it right yeah they're good the same way we've always done it
33:41
Right. Right. Right. Right. We're just going to order them to do it. Okay. Yeah. Yeah. No, that doesn't work. No, no, it doesn't work, but we keep trying it. Right. Cause that's the definition of insanity
33:56
Yeah. Well, software teams are insane. That's for sure. Because they, and they give you this company I mentioned a little bit ago, Mitchell, I call them insane because they continue to do the same thing, same thing over and over again. I think even now, you know, 10 years after I've left the company over 10 years now I've left the company and I still think they do the same thing. Right. And, and, and yeah, team
34:21
so why do you think that happens? You know, it, if, if
34:27
so let me ask you a question. So if there's, if all the developers are going
34:31
why are we doing this the same way that we know fails? You know
34:37
how do you change management's mind about that? Right. Because at Mitchell
34:41
I tried, I, after that first release that didn't go well, I tried to have postmortems so we all could talk about it
34:49
And guess who didn't show up? The VP of PM, right? The two people, him and I think maybe the CTO at the time
34:59
the two people that needed to be there didn't even bother to show up. Right
35:03
Right. And so what do you do with that? Yeah. So, I mean, I think there's a couple of things going on, right
35:09
So one is any successful organization became successful based on a pattern of behavior
35:14
Yeah. And they believe that replicating the pattern of behavior into the infinite future
35:18
will continue to serve them. What we know about organizations today is the conditions are VUCA
35:25
volatile, uncertain. The last one's ambiguous. I just blanked out on it
35:33
Anyway, complex, complex and ambiguous. And so using the same strategy over time
35:37
won't continue to function. We just know that. But the other thing is
35:43
if you challenge what you're doing, you're expected in leadership to know what it is you should be doing like if this isn't right
35:53
then what should it be and when they know they don't have the answers like i don't know how to
35:59
do that like it didn't work yeah i can tell you it didn't work but i don't know what to do
36:04
differently because my product management book or my course or my my degree or whatever it is
36:10
you know they didn't give me these answers and i think as developers we're used to making it up
36:15
right like we we build stuff and and we make up solutions where there are no solutions right and
36:23
for us that's just normal right for them they're like no no the recipe book does not have a recipe
36:30
seven right it only has five and i've tried all five of those and none of them work right
36:35
But I do think that there's things that we can do to motivate them, to help them
36:42
There's some neat work that was done called motivational interviewing. And this is Miller and Lossnick's work
36:50
And it is the technique that is used with addicts. So if you try and think of a behavior that's the hardest to change, someone being addicted to any substance, that would be it, right
37:05
but they had really good success as they started to listen to people
37:10
And they use this, there's this abbreviation, ORS open questions affirming. Oh
37:15
I totally understand why you would think that that would work reflecting
37:19
I just heard you say this thing and I think you mean this
37:24
And then summarizing at the big picture I think Right And and those sort of techniques are really helpful at getting people who are are afraid
37:35
that they don't have the answers and they're expected to, or they feel like they may be
37:41
being attacked. Hey, I had a failure. I don't, I don't want to admit that. Our ego, by the way, our ego is super amazing
37:47
It has 26 minor defenses and 22 major defenses. it is more fortified than anything else i believe it talk to me about your network security yeah
38:00
your ego is better insulated than that buddy yeah yeah yeah and uh yeah i think ego needs to
38:08
be out of a lot of our decisions i think uh for the most part i mean we all have them right but
38:14
you gotta you gotta keep it out of the way sometimes especially when you're in meetings
38:18
and things like that, you know, and, and like you said, ask those kinds of questions and, and
38:24
and keep pushing back. And, and, and to be honest, you know, when something happens to the company
38:31
that, that I see is, is, is going to take the company down a bad road. I do try to make change
38:38
I mean, I think most people that listen to me know, I, I probably do that. But, you know, when I
38:45
I try to make change. And if some time goes past and I don't see anybody willing to change it
38:52
then that's when I start looking for a new job. And that's the unfortunate part with companies
38:58
kind of like what you're saying is, one time I did a Twitter poll and no, I did a real poll
39:05
And I asked people, how often do you change jobs? And my poll said every two to five years
39:12
which is basically the exact same timeframe that I changed jobs. Right
39:17
But why do we change jobs? Right. One of the biggest fears companies have
39:23
and even some companies like one I worked at last year, don't want to train you because they'll frayed
39:29
Once you learn something, you're going to leave. Right. Right. Or once you become better, you're going to leave
39:37
There's companies actually think that way. Right. Yeah. There's an old quote, and I forget who it's attributed to, right
39:45
And the statement is, what if we train them and they leave
39:49
Yeah. And the other person responds with, what if we don't and they stay
39:53
Exactly. Right. And that's why we have so much messed up product software right now is because of that kind of thinking, right
40:02
Is I'd rather, you know, people leave, you know, than stay at a job like that, right
40:11
I mean, I'm just looking at it from my perspective. I don't know anybody else's, but I don't know how you can do that
40:19
Well, I couldn't do anything like that, right? And believe me, I've stayed in positions longer than I've wanted to, but I ended up, I don't think I've ever had a software job more than five years
40:33
Not one. Yeah. So I run a consulting company for 20, but it's called Thor Projects, right
40:39
We do projects for people and then we move on. Right. Um, and honestly, it's really confusing to a lot of my clients because, uh, we, we approach
40:49
it very differently. Right. We're not there to, we're not going to sit there and keep taking your money
40:53
Right. We'll do it for two years or whatever. Um, uh, and then, and then we believe very strongly in support. Right
40:58
So even without a support contract, um, support for us gets priority because we want, we want
41:05
our customers to be successful. but you know one of the things you're talking about really made me think of a book there's a
41:11
book published 1970 albert hirschman and he wrote a book called exit voice and loyalty
41:16
and it's about and it's the subtitle is responses to decline in firms organizations and states
41:23
what's super cool about it is is he talks about this mitigating factor between when do you use
41:30
your voice and when will you exit an organization and what he was finding uh in consumer products
41:37
and employees and all this stuff was the loyalty the degree to which you are loyal to the company
41:42
um mitigates that and and we think of loyalty as loyalty should be um infinite right like we
41:51
really should have as much but that's actually not true it's not best for us it's not best for
41:54
the company it's not best for the environment um and how do you how do you choose when to voice
42:01
your concerns and when to leave right um i don't know if you've been to an open uh conference um
42:07
open systems technology um no where you pick your own groups and you're free to leave right like i've
42:16
and i've i've been to some of these and i'll talk in the group and i'll feel like i'm getting real
42:20
railroaded run over and they don't want to listen. And I, and I exit. Um, and, and people are like
42:28
and I've, and I've had friends who stayed in the group and they came back to me and they're like, I'm sorry, you know, why did you leave? And I'm like, nobody was listening. There's no point in
42:36
me being there if, if my, my input is in value. Um, the person I was talking to you happened to be a
42:42
a female who said, yeah, I feel that way a lot. It's just, I've gotten more used to
42:46
sticking it out. Well, I'm sorry that that's your truth, right? That shouldn't be that way
42:53
Yeah, exactly. And so going back to how you approach your consulting company, because I
43:01
find that interesting because I think many companies have a bad view of consulting companies
43:07
because it's just this never ending cycle project, right? Because the consulting company
43:16
just wants to keep sucking money out of you. Once they have you
43:20
they want to keep sucking as much as they can out of you, right? And that gives consulting companies a bad name
43:27
And I even know some banks here that are converting back to in-house development
43:35
because of that, right? so since since you do approach it differently what what do you say back to somebody who goes
43:43
who doesn't understand the concept of i just want to suck money out of you as long as i can
43:49
um most of the time so most of the time i'll go back and and we'll we'll talk about uh we use an
43:57
agile approach not like it's specifically formalized against whatever but let's say look
44:01
you're going to prioritize things in waves you're going to tell me what the stuff is that you have
44:06
to have and we're going to do that first and then you're going to tell me the next right and you do
44:12
your mvp and then you do and then you do and you do i said and at some point you're going to decide
44:17
the value i'm getting the things that i'm asking you to do and the return i'm getting as an
44:23
organization are no longer going to be in alignment right and when they are we leave
44:29
right and that's the time you know typically we'll say look there's probably a couple of weeks of of
44:35
wrap up, right? Because we need to make sure that we've got all the I's dotted and all the
44:40
T's crossed and all the documentation. And we make sure that your team is doing every bit of
44:45
operations, not just most of it. And so we will use that approach. And my clients are really kind
44:54
of interesting because we made some impressive changes to the world I talked about process changes So one of my clients had a 94 rework rate
45:06
Wow. Obviously they had a problem. Just so we're clear. Obviously they had a problem
45:14
Industry averages for that particular industry are in the 30-ish percent range
45:21
Mainly because of what it is, right? But we, in a single year cycle, reduced that to about 20%
45:29
So we did about a 74% reduction in rework in the space of one annual cycle
45:36
That's a huge savings for them. I mean, do you know how much money they saved because of that
45:40
Do you have any idea? They declined to answer that question for me
45:46
I bet. Because they don't want people to know. Yeah, they're like, yeah, this is business changing
45:53
because it is, it was, it was huge. Though there's a ton of markup in what they do
45:59
the rework and the customer sat is the other issue, right? Cause the customers are always disappointed. Right
46:06
But the funny thing is, and we still support that application today and that's
46:11
we're, I don't know, seven years now after we implemented that and we get
46:17
four hours of support a year out of it. I don't force them to sign a contract. Yeah. Yeah
46:24
Like, great. But, but I want to deliver value. Right. Look, I get up of a morning because I feel like I'm delivering value to people and, and
46:35
sitting with my butt in a chair somewhere, occupying space, converting oxygen into carbon
46:43
dioxide that like, I don't want that. No, that's well, it's me neither
46:50
I I've never been one of those people that can just sit around and do nothing. Right. Especially at work. Right
46:56
Because I feel I'm cheating somebody at that point, but you know
47:01
I go to work at least this career, I go to work because I want to help people
47:07
I want to help their workflow and I want to pay my bills. Right. And so there's always that part too, but, but that's, yeah
47:13
it's exactly why I do things like that. I, I live, I
47:17
everybody that knows me knows I love helping people, right? That's always been my thing
47:23
It continues to be my thing and will always continue to be my thing because I
47:31
have the ability to do that. Right. And I think everybody should do that if they have the ability. Right
47:36
And so yeah, that's what, that's what, so what gives you the best satisfaction for a project
47:42
I know you run a company now, but you know, when you were actually coding more, what
47:47
what gave you the most satisfaction, you know, maybe besides working on medical stuff
47:54
Yeah. So let me, so I'm going to answer kind of two things. One is from a technical boy, that was cool
48:03
We, we, we have built something and customer, some of our customers use it
48:09
several of our customers use it and it's going to get converted into a
48:13
product and it is a multi-threaded pluggable pipeline for processing files. Now, let me break
48:23
that down a bit. The part that I love the most is I have all this beautiful thread synchronization
48:30
logic that allows it to be simultaneously processing hundreds of files. Which is not easy
48:38
with io no i've done work like that it's really really difficult and and and and it's multiple
48:45
systems so right like and i'm not it's not even like i've got one end point i've got multiple
48:49
end points and each of the end points have to behave right within the contract and under but
48:54
but it's beautiful because i know that the technology in it is it's difficult to do
49:04
but when when it's working is super cool so um this particular customer uses it to process about
49:11
3 000 faxes a day please don't i know facts 80s but whatever right 3 000 faxes a day get processed
49:20
through this system uh in a pipeline that allows them to be worked within minutes um and i said
49:27
pipeline. So they come in as TIFF, they get converted to PDF
49:32
We create a task in a SharePoint list that goes and does something. And in other places, we're
49:39
adding a note into a SQL table that is recording out what the facts did. And it's
49:47
beautiful architecture. And so I do enjoy that. Can I ask you if you wrote it in the cloud
49:54
um no no so you're not using any of the cloud like queuing and microservices or anything
50:02
no um in uh in part because this particular thing uh has a high cpu load
50:12
uh scenario when it's doing all the sr work and we found for the customer it wasn't cost effective
50:20
for them to go to Azure services for it because the cost profile was just not right
50:30
And I'll go even further. Because I'm old and crusty, I didn't do it with some of the newer thread synchronization concepts
50:43
that exist within .NET. I went back to New Texas and a whole bunch of stuff that has worked for decades
50:54
And I did it that way because, A, I knew I could do it, and, B, I knew I could find people that would know how to do it that way
51:00
and do it reliably. So that's that. But I'll tell you, and so I'm going to take the viewers down a little rabbit hole for a second
51:11
um, some of the things that I have been the most proud of are things that
51:18
really do change the world. And we talked about the, we talked about the, uh, diabetes work that
51:26
we've done. Um, we've done some mental health work, which is outside of development for the
51:31
most part. There's some things that support it. And that stuff I think can be really powerful
51:41
I think there's this huge gap in society about talking about mental health, about people
51:52
recognizing that it's okay to do work to improve your mental health. Just like, Hey, I only run
52:00
when chased but if you exercise we know you run faster right yeah yeah if i only run when chased
52:08
and i only run face faster than the other guy right and in fact i have this on a t-shirt because
52:13
my wife knew that this is the way that i that i roll but the health the mental health and what we
52:21
do in that space is so bad Yeah it is bad Really bad So we getting to work We getting to work on that And I think you know you know that this topic for uh empathetic conversations and how do you
52:38
do things is sort of this intersection between how do you get good requirements? And I, back in
52:44
Pluralsight, uh, back in 2014, I built a course for them on getting good requirements and the
52:51
empathetic conversations is somewhat an outgrowth of that. And it's somewhat a growth outgrowth of
52:56
our desire to make suicide less likely. Um, this is the rabbit hole I told you we were going to go
53:03
into. So in August of 2021, my wife and I lost our son to suicide. Oh man, I'm sorry. Thanks
53:12
Um, Alex didn't show the signs. Uh, Terry, my wife, Terry and I had been trained
53:18
we we were told that we knew what the signs were and alex didn't show them
53:24
um but what we know but what we learned is that hey if you can understand another human if you
53:34
can build some sort of a connection to that other human that is a protective barrier against suicide
53:40
right yeah um and so now what we're what we're getting to do some really cool things where we're
53:48
going to take uh home medication dispensers and software and we're going to use it to do better
53:55
pain management for people who have chronic pain we're going to use it to limit access uh to
54:04
to medications that that have the potential for for killing you right so so we're i'm going to get
54:11
to take some of the software work this cool stuff that we've done and integrate that into a social
54:18
challenge for all of society and and again at the end of the day what's really cool is people living
54:27
right like and we we had that with the diabetes stuff but but i love the idea that we're going
54:34
to have people living i love the idea that that the software that we write the stuff that we do
54:40
is going to help people not be in pain right and it may be a psychological pain it may be psychic
54:47
or it could literally be because we're better managing their pain that they're not in pain
54:55
anymore. That that's the cool stuff. Yeah. Yeah. And you know, in America, you know, it, you know
55:05
we still view mental health as such a taboo experience. Right. And, and not only that
55:12
but even our men, our medical professionals don't know much about it. Right. Right. And so if you do
55:18
go into the ER or hospital or something, and you're having some kind of crisis like that
55:23
they don't know how to deal with you. Right. Right. And, and so, yeah, we
55:28
America needs to get over that fricking taboo so we can start working on it
55:32
because unless that happens, it's, it's going to be a little very long time before it gets better, unfortunately
55:38
Well, what I can do is I can tell you that the research extends that taboo
55:42
across the globe. Yeah. I'm sure it's worse than other countries. Yeah. Yeah
55:48
Yeah. Well, it's at least as bad. I don't know if that's a good thing
55:53
But yeah, you're totally right. Mental health is as important, if not more important, than physical health, if you ask me
56:02
And they go together. One feeds the other. If one is out of whack, it's going to affect the other
56:11
And yeah, I'm really sorry to hear that that happened to you
56:16
I feel so bad. I never thought I was going to tear up in a show before, but, but yeah
56:25
So let's, let's use software to make this better. Right. Not only medical, but, but mental health too, which is medical
56:34
if you're asking and we can use our powers of zeros and ones to make things
56:40
better. Right. Right. Yeah. Let me pause here for a second and say if anybody that's listening is
56:46
considering suicide if they're worried about it if they think hey i'm thinking about it if there's
56:50
any of that what i'm going to ask you to do open a new tab type in the word suicide google the very
56:56
first result that you're going to get from google is going to be a suicide helpline and that works
57:00
in any country in the world most countries in the world in the united states if you're feeling that
57:05
way you can pick up the phone you can dial 988 i say pick up the phone like we still have in
57:10
devices dial 988 on your phone and someone will be there and they'll just talk to you
57:16
Yeah. Because I think one of the other things that we miss sometimes is that it's our brothers and sisters who are software developers who are struggling
57:30
And so there's always help, you know, and I'm not hard to find
57:34
Like, if you're not in a crisis, if you just want something like send me a note, I will reply to the email
57:40
Yeah. Well, that's awesome. That's a, it's a great thing that you just put out there. Your phone's going to start, your email's going to start ringing off the hook now, maybe. Let's hope not, right
57:51
So if they need it, I hope so. And if they don't need it, great
57:56
Right. Right. Yeah. I think we all, no matter what, I don't know
58:02
I just think as humans, we need to take care of each other. I don't care what career you're in or what color you are or what, you know
58:10
how much money you make. I could care less about any of that stuff. We're all humans. We're all part of the same tribe. Right
58:17
And we need to take care of each other. Right. Yeah. Yeah, there's an old sting song, Russians
58:23
And it says – I'm not going to get the quote perfect
58:29
But it's irrespective of ideology, we share the same biology. Right? All of us on the planet who are humans are almost identical from a genetic point of view
58:43
Right? Yeah. So I want to just help people. and and and it's clear you do too oh yes very much so so i gotta let you go because uh simon's
58:55
gonna get upset at me i'm i'm surprised he's not going two minutes dave um uh so i do i i do want
59:03
to leave at least leave uh you know this interview off a little on a good note well it's all been
59:10
good but what do you do for fun i solve problems yeah right i started us with this this set of
59:18
things that i'm doing for my my daughter on printing these pieces with a 3d printer that's
59:23
fun to me yeah right some people are like oh that's you're working i'm like no it's cool yeah
59:29
yeah that's why i want one i get to make stuff and things yeah i've been doing that since i've
59:35
A tiny kid, right? Yeah. Yeah. Yeah. To me, it's just an extension of being a kid, you know
59:43
Yeah. Yeah. Yeah. Well, that's awesome. Well, I'm so glad you came on the show
59:47
I thought that was a, you know, a great way to start off the year. And, you know, this has been a great discussion
59:54
And you're always welcome back. Come back anytime you want. I'm more than happy
59:58
I think we need to talk about this more than a kid. I want to start doing more shows like this
1:00:03
You know, my friend Mark made a comment on the show. So thank you, Mark. I appreciate that
1:00:07
And I want to have talked more about this because this is, you know, this is an important part of not only developing software, but taking care of yourself
1:00:17
Right? Yeah. Absolutely. So if your listeners are thinking about a part of mental health or listening to others, empathy, suicide, any of that stuff, if they want more information, they should send you a note, put a comment in
1:00:30
Yeah. And then you and I can use that to drive a second conversation
1:00:33
Yes, exactly. So if anybody has anything you want us to talk about with Robert, please email me
1:00:39
I'll give you the email address at the end and we'll come up with a new show
1:00:43
And maybe if you know, maybe if I get enough questions, I can do even a panel show about this
1:00:48
You know, I've done a couple of panel shows. They're hard to they're tough to to to pull off
1:00:54
But I think they're great advice because it's not just two people. It's multiple people talking about the same subject
1:01:01
So I'm more than happy to have you back on the show
1:01:06
Thanks so much for spending part of your Saturday with us. And I hope you have a great rest of the weekend
1:01:11
If you want to stick around afterwards, we can chat afterwards too
1:01:15
Yeah, I'll stick around for the after show. Okay, the after show. That's the fun part, right, Simon
1:01:22
Simon and I sometimes talk like a freaking hour after my show sometimes
1:01:27
I like Simon. So that's it's it's a pleasure talking to him. All right. Well, thank you. And I'll see you next time
1:01:36
So that was a that was a great interview and discussion. I think Robert had some really great things to talk about. I'm not used to being asked so many questions on my show, but I like it because it brings out stuff that we I think we all need to think about and talk about
1:01:55
and especially when it comes to our jobs and like Robert was saying to our mental health too
1:02:00
So, all right. So I have a new Twitter poll out because of my new code performance book is out
1:02:10
I going to be doing a lot of Twitter polls about performance to see if you know the best way to do things And so here one about Link I hope you go to participate And I think it ends in Wednesday or Thursday
1:02:24
So I hope you go there. Just go to my handle and you'll see it on my account
1:02:29
And please vote which one of those two Link statements you think is faster
1:02:34
One is dramatic. I'll give you a tip. One is dramatically faster than the other one
1:02:38
That's the only tip I'm going to give you. So, get to guessing
1:02:44
Oh, I found this today. My friend and guest on the show, Richard Campbell, posted this today
1:02:50
Design. You see the design there with the sidewalk? This is where the designer wanted you to go
1:02:55
And you see the grass path on the right? That's where people want to go
1:03:00
So, this was a completely failed design. And the reason I wanted to show this on the show is this is exactly what
1:03:10
What, why am I having a brain? Alan Cooper said at a conference back in the 90s
1:03:18
that I was at, that I will always remember his statement. And this was the statement
1:03:25
He said that, you know, maybe in a previous life before he did software, you know, they were doing
1:03:32
I think they were putting in, you know, they built a company, right
1:03:36
And of course, what surrounds a company, grass and sidewalks and things like that. Well, they didn't put any sidewalks in when they opened
1:03:44
the company, right? They wanted people to walk on the grass to show where they wanted to walk
1:03:50
And then they came back and put in the sidewalks, right? So this was definitely a case where
1:03:56
there's some design failures. And so this is exactly what we're talking about today on the show
1:04:02
Talk to your users, understand your users and understand they're going to go to the right if
1:04:07
you put an impediment in their way. All right, sadly, I have to still talk about the Ukraine
1:04:17
Things are not getting better there, unfortunately. So please send your thoughts and prayers
1:04:23
and any support you can to our friends in Ukraine so we get over this terrible terrible thing that happening to them right now You know I know we have a lot to complain about but at least our country is not being blown up for no apparent reason
1:04:38
So please, because I like I say over and over again, I want to go back to the Ukraine
1:04:44
You know, I spoke there in 2015. I loved it. I've always wanted to go back. So let's get this over so I can go back. I'm being selfish now
1:04:52
um also as usual help me help the kids from india the voice of slum you know which you all know i
1:04:59
visited in october when i was in india here's some fresh pictures from there uh she she got up and
1:05:06
uh told us what she wants to do in her life and she told us uh i think she sang us a song if i
1:05:13
i can remember uh it's my best time at the conference was actually going to visit the
1:05:18
Voice of Slum. So please help me help them. There's lots of ways you can go to their site
1:05:23
You can go to the GoFundMe page. And there's more information on my website too. So please
1:05:30
help the kids in India. Help me help the kids in India because they all need our help
1:05:37
Okay. So I don't have a guest for the next show. So who should I invite on the show? I need your
1:05:43
advice. And so email me, text, not text me, tweet at me, whatever. Who do you want me to invite on
1:05:52
the show? I will invite anybody. I'm sure some people won't come. If you ask me Bill Gates
1:06:01
there's no way he's going to come on the show, but I'll ask anybody. So please give me your
1:06:06
suggestions, even if they're past guests on the show. I need some suggestions because this is your
1:06:12
show. It's not my show. I enjoy doing it because it helps you and it helps me, you know, see my
1:06:20
friends, but this is really your show. So let me know who you want me to invite on the show
1:06:25
As usual, please listen to your medical professionals about COVID and all the other
1:06:30
things going around right now in America. We're being hit, you know, with a triple pandemic and
1:06:35
I'm sure that's happening in other countries too. So please listen to your medical professionals
1:06:40
so we don have to put masks on again And also a way you can help is please donate blood at your local blood bank Right now San Diego is in a really bad shortage So if you live in San Diego Mark
1:06:56
go donate blood today. Anybody that donates blood today, the first person that proves it to me
1:07:02
I'll send them a copy of my new book. How about that? All right. And as usual, please email me
1:07:10
suggestions, who you want me to be on the show, invite on the show, anything else at
1:07:15
rockinacodeworld at csharpcordily.com. And with that, I'll see you next time. Thank you