Hi everyone, my name is Patrick you and for today's episode, we
talk about empathy driven software, development empathy.
Sometimes hard to explain. But luckily my guest and drag
relay lays out the Practical benefits of empathy in software
development. I'll put all the links to our
socials, in the description below.
And with that being said, enjoy the episode.
Yeah. For nine years.
Really? Mhm.
Yeah, so we were we were doing it before.
It was cool. I love when everyone says that.
Yeah yeah, yeah. And I even I posted a I recorded
a class on LinkedIn learning in 2019 about how to lead a remote
software to. It sounds like that was that was
good timing. So, yeah, makes sense.
But yeah, it's a good world and I think There's a lot of places
where you can absolutely make it work but the same time.
Like there's value in personal connection.
Yeah, I agree in real life and then I think remote working, it
makes it intentional, right? And then when you do connect
with your colleagues in real life it's you know you try to
make the most out of you because you make the most out of it.
Exactly. Yeah.
So I completely I completely get that feeling.
I mean I joined different projects completely remote with
people. I hadn't seen physically and it
wasn't up until like months later that we actually saw each
other that I was actually like, man, you're like Two meters tall
like, you know, that thing is the height.
Yeah, yeah. I have, we typically bring our
team together once a year because we've got people all
over the world but we haven't been able to the past two years
because of the pandemic. So yeah, so there's people I've
worked with for to actually, we weren't able to do it the year
before because we had some Financial challenges, he has
other people. I've worked with for like three
or four. Is and I have a person that's
not longer. Yeah, you can make it work.
You can totally make it work. Yeah, exactly how how much your
time is spent. Now, working on the book,
actually, because I've never written one.
It seems like a humongous task. It is huge.
It's it is the hardest thing I've ever done.
Yeah. That includes giving birth to
two children. Oh, it's it's really hard.
I think, I think some of it is the topic.
Okay. Um, The topic that I'm talking
about is incredibly big. Yeah, and it's something that
people haven't written about before.
It's very it's not tangible to a lot of people he is to a lot of
people and so like how do you take this really big thing
empathy that nobody understands and how do you take this thing
software that you can't really touch like the back end.
Most people great. And then how do you mix them
together and then you get even more nebulous and then try to
make It like concrete and relevant.
So it's been like one of my friends describes it as like
sculpting clay. Okay, where it's like, you have
to keep reforming it and stuff like that but then eventually
you get there and you get the details.
So the structure is very much in place.
Yeah, I'm actually launching my first course.
In August. So we're working on getting the
website up next week or so hopefully.
So you know I definitely like have now like template and I've
been writing I have over 150,000 words that I've written.
Okay, that sounds like a mater of.
Yeah it's over 350 pages of content but it's huge being able
to like Put it in a narrative and make sure that makes sense.
That's that's where I am now. Yeah, I can imagine, I mean, if
I imagine myself in that position already, sometimes
writing an email that I think is important.
I go over it a bunch of times just to make sure it is kind of
perfect or it's at least where I think it should be.
And I think, if you, if you do that with a book, right?
If you, if you strive towards that Perfection, it's going to
take a long, long time before you actually get there.
Like, are you consciously, like, Doing that with kind of the
things that you're writing that you're like, okay, this is might
not be perfect but I think it is going to be hitting all the
points that I wanted to hear. I think one of the things that
surprised me is that the things that I thought I knew going into
this ended up being wrong. Okay.
So so this is actually something that's very common in research
so you go in kind of with a theory but then like I'm doing a
very research focused approach so there's a lot of academic
literature that I'm that I'm looking at because I didn't want
to just I feel like this is my experience, like a wine,
everything me really grounded. And so some of the ways that I
was thinking the empathy worked, or like the way that we
construct emotions. They actually Neuroscience shows
that that's not really the case. Like what is more and more
evidence that Actually this is, but it's made it really cool.
So there's one neuroscientist who's done a significant amount
of research on how emotions are made to actually has a book with
that title. Yeah.
And turns out that they're instantiated just like we do
with object-oriented programming.
Okay, that's interesting. Yeah.
And so like I thought that emotions happen to us, I thought
there were Universal facial expressions and she walks
through how Some of the things that are very well known and
very well replicated may not actually be the way that things
work because of some of the methodology that was used and
what the Neuroscience tells us. So what we have with emotions is
we have feeling patterns in our body.
And that's so we have condom attributes, not that is called
interoception that I didn't know that were before.
Yeah, me neither feeling pattern in your body means
interoception, right? So for me, like, you know, when
I get angry, let's say sometimes like I go quiet, okay?
Right? Like I go Inward and some people
go outward, right? So there's not like, yeah, some
people like rage and that's what everybody thinks but what
happens is we rely on behavioral strategies that have worked for
us. So our brains are just
prediction engines that are constantly like figuring out how
to navigate the world and keep us safe based on our prior
experience. yeah, so for me, it's like I've learned to kind
of like Yeah. Be really calm.
Defuse the situation. Yeah.
Get away and then get angry or like vector something except you
wouldn't, you wouldn't be able to tell from my outward
expression, I'm angry, but that's the way I'm feeling
inside. And so in these conversations
it's like It's like Duck typing, right?
Like we instantiate an emotion and then name it at runtime.
It's like and then our behavior is get called to.
So it's like, okay. And so, when we can start
thinking of things in that way, and it's actually really neat
too because diving into the history of kind of computer
science as well. Like Alan, Kay was a biologist.
He was the one who developed object-oriented programming.
Yeah. And he looked at Like cells and
like how can we make things that are self-replicating and like,
so to there's just so many commonalities, but they're not
obvious. No.
And I think that's what, that's what has surprised me.
And that's what's taken longer, okay?
Is that what I thought I knew going into this I mean there's
there's kernels of Truth in it. Yeah, but we're in a golden age
of Neuroscience where we've got neuroimaging that is helping us
really understand because prior to, you know, Mid 2000s.
We didn't have anything other than behavior and other than
people's verbal descriptions of what motivated them.
Yeah, that was it we just have to trust her things.
Like the things that we say are motivating us, sometimes we
rationalize but that's not actually what it is.
So we're able to like, get all this new data and it's revealing
a bigger picture. And so I wanted to make sure
that all of that good content was in the book, but But it's
taken a lot to wrap my brain around.
So yeah, I can share it, but it's get that on.
I really like it. I can't wait until it's done.
Yeah, I can imagine, and it is a, it is a complex topic and to
me it's not been obvious, it's only when I've talked to a lot
of people even on this show that they're like, ah, software is
actually a lot analogous to biology, much more so than we
thought. And it's not as Black and white
and it is kind of an organism that keeps growing.
Yeah, until it either reaches an end or never actually reaches an
end. I'm like, man, that does make a
lot of sense in it. It aligns with what I've seen in
in projects and organizations. Yeah and I think the more we
draw those comparisons, the more we actually understand what is
going on and the better our judgment becomes towards the
future as well. Yeah, absolutely.
Yeah, I mean like Yeah, it is like biology especially
object-oriented program. Like is directly designed to be
like biology. Yeah so that was the intent
behind it and yeah I absolutely think you know so don Ella
Meadows has a great book on systems thinking.
Yeah like it it it is exactly if you're looking to get into
systems thinking it's not too long and she explains things so
clearly it was actually published after her death by
several colleagues. Okay, and like she just
describes how like just what a general system does and software
is 100% a system, right? We've got things like.
So one of the things that is critical is interconnections,
right? That's that's really what makes
a system different than like a group of objects into sometimes
you'll hear in software teams like do you have a team or a
collection of individuals? Great.
So if you got like, so that Friends would be like if you
have just rocks on the side of the road, they're not doing
anything together, like one rocked isn't influencing the
other, right? So that's example of just like a
group of things but in a team there's interactions and we have
to be very intentional and then we can also look at systems,
there are a couple other important things are stocks.
So like the way she describes, this is a bathtub great.
So we measure the amount of water Water.
Right. And then you have inflows and
outflows and so you have things that increase the stock, you
have things that decrease the stock.
Yeah, those are called balancing Loops.
So those are the feedback loops that we constantly want.
And so we can actually control how to make things a virtuous
cycle or how to get more of the we want or what are the things
that will get us. So, I'm bathtub, we've got the
faucet, right? And we've got a drain and so
that's very easy to visualize. But in a software system, like
my background, I've really interesting kind of like
history, which brought me to here.
So, I spent the first decade of my career as a copywriter to
really understand empathy, which is why Honoring you about it
going in. You can't really sell things
through writing, unless you understand the perspective of
person writing to make sense. And then I spent past 12 years,
almost 13. Now diving into Legacy code
systems. Yeah, figuring out how to
modernize technical debt. And what I discovered is that
empathy is the key to being able to pay down technical debt,
interesting. The thing that people don't see
it's like the root system. Like we see the thing on top,
but we don't see the thing underneath that really is giving
a system the nutrients. And so what do you mean by that?
Then like is it can you give an example to it's not?
Yeah. So so the way that I Define
legacy code most people think of Michael feathers definition of
legacy code is code without tests.
Yeah, he wrote that in working effectively with Legacy code and
I think that's accurate yet. Complete.
So, the way that I described Legacy code is that it's code
without trust, write and test. Help us, build trust.
Yeah. But when we go into a, you know,
nuts, trust in the code base, right?
So for example, if you're relying on some documentation
about how to deploy, yeah, but it's inaccurate.
Like you can't trust then that the rest of the documentation is
going to work. Exactly.
So then you have to spend extra time and you know it technical
debt is what it's friction, right?
That's friction between your idea and getting it out into the
world. And so if we can increase the
amount of trust, both in the code base and in our teams,
yeah, then we can achieve a healthier code base.
So stress becomes the stock similar to how we have the
bathtub metaphor, right? So trust is kind of water.
And when I say trust, I am using Justified trust like there's a
whole philosophy is another area had to go into right?
Because trust can be something that can be misused.
Yeah. Charles Feldman in his book, The
this thin book of trust a style of his definition.
Its trust is making something that you value.
Vulnerable to another person's actions.
So vulnerability is an inherent part of trust.
And so when I say trust it's in the And that trust has been
built and we know that people aren't going to take advantage.
Right? So you've got like con artists
and people like that who prey on people, that's how I'm talking
exactly. So so Justified trust.
Um so what are the things that are going to increase trust and
then what are the things that are going to decrease trust?
Yeah. And that is where empathy comes
into play. So, We can look at things like
some of the things that you rode trust faster than anything.
Our shame right contempt. Yeah.
And there's research from social scientists that demonstrate a
lot of these things. So John gottman, he has a book
called the science of trust. And so he's studied marriages
for 40-plus years, okay? And is able to Predict with a
high degree of accuracy. How like which couples are
likely to get a divorce based on the way they communicate with
each other. Interesting.
And what he found is that contempt which is the feeling
that you are better than someone else.
Yeah. And kind of talking down to
someone right? And dehumanizing them in a way.
Yeah. Like there are various degrees
of it that is the thing that will destroy a relationship.
The fastest yeah her neighbor. On has great research on shame.
Yeah. And it's the same thing like so.
And it's interesting because when I came into software, I was
kind of blissfully ignorant of the culture and so, because I
had been in marketing and yeah, there's, but yeah, it was
different like people, collaborated.
And, you know, there were disputes, but When I came into
software, like my business partner was like, oh, just go
onto stack, Overflow and figure it out.
Yeah, I was like, oh my god, like, people use shame and
contempt as a weapon in software.
It is, it is very prevalent and I think that is the thing that
defines our toxic Tech culture. Yeah, that's that's where the
toxicity comes from. I think I've been very lucky in
that I have And had it like that, like I would always.
So I started in a in a very Junior position.
I didn't know anything, right? I didn't know anything, I said
everything, but I meant anything meaning to me.
It was obvious that the other people far surpassed me,
whatever we were doing for them. It was always obvious.
Also said they never showed it to me, whenever I had a dialogue
with someone. They said, we are colleagues,
right? We are equals hierarchy, doesn't
matter. We're in the same team.
Let me show you how to do this, right?
They really took me. Beside them and help me learn
and grow that way. And I think if if it was any
other way if it was any other people, it wouldn't have been
the same and it would have more of an uphill battle.
So I do feel like that trust was always there inherently.
Yeah. Yeah in my mind at ease so much.
That's wonderful. Yeah that's wonderful.
I think you know And I think the different people experience this
in different ways, right? Like and I and also culture has
a lot to do with it. So you're in the Netherlands
right now and so collectivism. Right is is more of a value here
than here in the United States. Were individualism and
individual contribution tends to be kind of a national value.
Okay, so that plays into there's just it's incredibly complex.
Yeah, but here's the thing with empathy is that we Are really
good as software developers, it taking a domain and breaking it
down into its component parts. Understanding how they all
relate to each other. Like we do this all the time
with domain mapping and so that's kind of where I've been
going with the book. It that was kind of the light
bulb moment when I was like, oh, if we use decomposition then
maybe we can make this work. Yeah.
So so when we look at empathy The research tells us that
actually has four component parts.
Okay, so the first is called empathic concern.
Yeah. Which is actually caring, right?
It's the motivation. Like, if you don't have this,
this is sometimes called compassion, right?
And in the book, I break it into three distinct things.
I do compassion, which is the desire to relieve another
person's suffering. And this is something that you
can cultivate Which then gives you the motivation to do the
other things, they're required in them.
See ya in a tuning which is from John gottman's research, which
is being able to have an interpersonal relationship and
build that trust as opposed to degrading it.
And there's some specific ways to do that and then also
altruism. And that was another place that
blew my mind where there's a lot of research on how altruism can
be very, very good acting. Way that's pro-social where you
help people but if it comes out of a place of distress, yeah,
where you're feeling distressed, it can actually hurt people.
There's a whole field of study called pathological altruism,
which is where, you know, people take it to the extreme and then
become violent because they feel like they're protecting someone
that's an example. So, so understanding again the
Nuance. So that's the first part is is
caring and understanding and kind of anchoring yourself of am
I in a good place to actually Lee form, an empathetic
relationship with someone. Yeah, the next is emotional
regulation. So this is why emotions come in
and so being able to calm yourself down, right?
And with this it's, you know, about setting boundaries that
was actually a huge, huge one, and actually pull up the other
ones there. So we've got boundaries.
And then we also have heightening your awareness,
right? So this is where kind of
mindfulness comes in where, you know, it's being able to pay
attention to what is going on in my body.
Oh, I'm feeling my heart Pace faster.
Why is that? What's going on?
And being able to slow down and just be present and learn to
notice and then also regulating your empathic capacity.
So with that, like, you know, Our ability to empathize is a
metabolically like really expensive activity.
Okay. It requires a lot of brain
power. Yeah.
That we have and that's a fixed amount.
Like we only have so much our brain can't generate more
electrical energy to do these things.
So we have to make sure that we are managing our stress that
were eating well, write that worse.
Leaping, all of those things. Also contribute to our ability
to empathize. It just the once.
We once we've developed a place where we are anchored in genuine
motivation, we are calm. The next is consideration.
So this is described as cognitive empathy and so this is
the empathy that I learned as as a marketer which is being able
to take another person's perspective in a thinking way,
okay? And so with this, you start to
To see things that pop up in ux like, mental models, right?
And so being able to map out, you know, an accurate
description of how somebody else is feeling.
And so, we do this in several different ways but we also have
merge conflicts. Great in the same way.
We're like our internal belief about something may not match
the evidence. Yeah.
And so when that happens, what do we do, right?
And so this is where Bias comes in.
This is where logical fallacies come up, right?
We see this in priming, right? So for example, if you're a
realtor and you want to sell a house, one thing that a lot of
people do is they bake cookies, 30 minutes before people show
up. And that's so smells good.
Yeah, and that's called cognitive priming.
We're, it's it's a way to basically help people remember,
you know, illicit, you know, good memories and things like
that. And so there's a in line there
between, you know, what's kind of helping someone get into the
space where they can make their own decision.
And, what, veers into manipulation, where you're no
longer giving people a choice or your, your guiding them down, a
path, that they're unaware of. Yeah.
And then after, and then we also have ethics, right?
So, we need to be able to recognize, like, what's our
impact on society. Are we making decisions?
They're Fair moral and just, right?
And so there are ethical Frameworks to consider, and then
once we've got all that, right? Then we look at communication,
right? And so that becomes the, the
artifact, like the thing that we produce a similar, where
test-driven development, we've got test and that's like the
thing with behavior, driven development, we're working with
scenarios. And that's the thing with
empathy driven development, we're working with communication
and specifically communication artifacts things that are
durable, great things to you can leave Behind because that's
going to be something that builds trust.
Yeah and then we can do this in this way.
It's another thing is looking at networks, right?
What's on artifact? Yeah, look like so an artifact
can be like a commit message when I typically look at, right?
So Let's say that you're using some kind of automated tool.
Yeah. And you know you're going in and
just kind of like not even paying attention to the commit
messages. Yeah.
Right. And let's say that your future
self a year from now is like, oh man there was a bug in here?
Yeah. Well, commit messages can be one
of the best tools for reconstructing historical
knowledge about what happened in the code base because everything
is time-stamped, right? And it's tightly coupled to the
code. So it's not like Wiki where
things can easily get out of date, right?
Like exactly, it's right along side, but it's a missed
opportunity for a lot of teams. Because then if you go back and
the only thing that thing's set that the commit messages say are
updates, API updates API updates.
API saw the same guy. Then it's like, what the heck
happened? What were the decisions that
were that were being made here? Another example is architecture
decision records. Yeah, right.
Where is something changes in the system?
Picture taking a moment to document it and say, okay, this
is why we need this change. Yeah.
And what I find is that a lot of times and Legacy systems the why
is completely lost its gone. So it's gone.
And that's how we build trust in the system.
Is being able to recognize? What was somebody thinking when
they did this, what was their motivation?
Yeah. All right, and that's how we can
form compassion with somebody that we're not in the same room.
With or somebody who, you know, may not have.
Even though we have never met um, you know, across space and
time, right? Interesting.
Yeah. And so we can look at instead of
looking at people with character flaws and looking down with them
with contempt and saying why they do it this way?
Great, what an idiot. We can reframe that and we can
approach it with empathy and say huh.
I wonder why they did it this way.
Exactly, let me find out right? And it's the same word but a
different feeling and that small shift, can have a profound
impact on the quality of the code.
The ability to deploy the happiness of the team, the
productivity of the team rate, the feeling of belonging, and
and there are so many positive benefits.
So, you know, that's why I think trust.
Is that, is that stock? Yeah, the Elements that I listed
in the kind of relate that are in the decomposed empathy.
I described that is empathy system architecture.
So kind of those 12 things, they move in and out and you're
constantly like moving. And then the process that
similar to Red Green refactor, when we're looking at test urban
development or you know, given when then if we're looking at
Behavior, driven development in the process becomes Hair, calm,
consider communicate, where it's like, okay, let me anchor
myself, feeling, personal distress, okay?
Like when you're writing an email, for example.
Yeah, right. Like, don't write an email angry
and when you're feeling like something stupid, right?
Like, that's exactly. That's kind of basic advice.
So calm down, right? And then think about how that
email is going to be red. And then think about, is there
anything in the way, like, are they super busy are there on
vacation, right? What are the What's in the?
What aspects of the communication channel are going
to be impacted? And this is another place.
I could totally geeked out. I'm just going to give another
you here. Where Shannon Weaver was the
person who in the 1930s, created a generalized Communication
System. It is the exact same in
Computing, as it is in communication school.
Yeah, not derivative. They are literally the same
model. And so, from there, we can look
at things like entropy. So, in software, and we want to
generate an SSH key or encrypt something we want something in a
high entropy environment, right? Where there's a lot of
uncertainty we can use those same principles by recognizing
the status of the communication system, and we can look at the
amount of entropy and entropy is linked with compression.
So that's why we have long SSH keys because they're harder, you
know, exactly, we can look at this with acronyms, right?
So we say tdd, and I can say that because I'm pretty sure
that people who are listening to this, understand that.
Yes, I went to my gardening club and started saying that people
will be like, what the heck are you talking about?
And then even if I said tester and development they're like I
don't understand that what that is.
Yeah. And I said, well, it's a way of
creating software that instead of writing tests and deep, you
know, in fixing bugs, after you've written the code, you do
it before and people still might be like, okay, I don't quite
understand. But do you see how it's like,
it's a longer explanation, but it's more clear.
Given the audience. So it's those kinds of things
that we can draw from our of our experience as software
developers that can help us understand.
This really abstract thing called empathy and we can deploy
it effectively and then we can embed it into our daily habits
and we can build up those things that are virtuous and that will
create more trust. And then we can do less of you
know, activities. He's that breed contempt and
shame and that degrade trust. And then we do that, it tends to
have just a profoundly positive impact in many different areas,
Bill code with the teens and also with the organization.
Yeah. When you when you were talking
about kind of the communication artifacts right, went to commit
messages, a DRS and I need even a pull request in my mind.
Yeah, I know that's a good thing from experience.
Because when you go Through that, you do see like a refactor
and API change in your like okay.
I saw like 50 of them. That wasn't the only thing or I
see a general description for like a million files changed and
I'm like there's a lot more in this.
So I like leaving those breadcrumbs, right?
And I teach my team, I teach my peers.
I was also taught by my colleagues right.
Leave the why within the code, right?
Leave it in a commit message. Link it to your tickets whatever
ticket system you use. Be descriptive in your poor
regressed sometimes. Even we had a system in place
that you needed to add images. Like this is the before.
This is the app. Yeah.
So you can visually see what's going on little bread crumbs,
that help people understand, the why?
But I never looked beyond that. And thought, actually, this is
for trust-building, right? This makes us more comfortable
in the co-pays that were working with that.
We can go back and we can see. Okay, these are the decisions
that have been made understand what's going on.
And On top of that instead of just being thrown into a black
hole and building on top of that, right?
The unknown is way more scary that way.
Yeah, I had a link that to trust in that way.
Yeah, well and it's also around being able to reconstruct their
context. So, a good example, here is
linguistics right in? This is why I focus on durable
artifacts, durable communication artifacts where There's two
different languages that are kind of predecessors to Greek.
Yeah, one is linear a and the other is linear be okay.
Now we can reconstruct Linear B. We understand how it works.
We understand the meaning of words but we can't with linear a
okay. We can understand the grammar.
We can pick out a few words but we don't we are not able to
reconstruct the meaning and trust that language and the
reason is because we don't have enough artifacts like the data
set is too small. Yeah, we can't release actually
some interesting math. Like they're linguists who have
gone in, like done, mathematical models, about like these are the
number of artifacts that we would need.
In order to reconstruct, this language, interest rate.
And so if you look at things like Latin the reason like I
took Latin in school like you know, I understand, you know,
the reason that we can still teach it is because there is an
abundance of data around how that language worked.
So it's easier to understand and reconstruct.
And so in the code base it works the same way if you have too few
artifacts it's not a question of whether or not you're you know
the person working on it today is smart enough or you know, has
enough knowledge of Humane ever. It's the to their data set of
what was done before is simply too small, you can't actively
construct it, but if there's a very rich data set even if you
as the producer never end up using it again.
Yeah, it's York. Commit message could be the key
to helping someone two years from now.
Yeah, solve a problem quickly, right?
And so it's getting into those habits, right?
And it's, and it's finding ways. Like I'm a big fan of the book,
living, documentation by Sarah Martin Martin are, I think is
how I say his last name and it talks about like how to create
documentation in a way that isn't separate from what your
daily activities are, right? How to leave those really good
artifacts, you know, across your project in a way that isn't
going to disrupt your workflow. And I think that's one of the
things that I get a lot. It's like, oh, I got to do all
this extra stuff. Yeah, like well, Hey, it can be
a good reflection because stepping back and synthesizing.
Our ideas is actually a really good way to do.
This is why we do retrospectives and Reflections and so you can
use the opportunity of writing and commit message to just take
a thinking take Abby and like think about what you did and why
did you do it? Yeah.
And then that helps cement or helps.
You learn from what did I learn? I had an art Professor once and
it was I had to write an essay about if you had to, it wasn't
just what we had produced, but we also had have an essay of
like What was your process? And then if you were to paint
this painting again, what would you do differently?
Nice. And that was like, that was such
a good exercise and I think that that's something we don't often.
I mean, we do sometimes in retrospectives, but as
individuals, so being able to like write in and say, you know,
I would have loved to have done this.
Yeah, right, that's the ideal State.
However, I was under a time constraint.
And so, this one here is actually happens.
Article of like, what I would have done.
Yeah. You know, like, you don't know
if it's going to be used but, you know, be chances are you've
got the article up, just add the link.
There's also a really great school Loom which has an
integration with GitHub and it's a way to capture screen shares,
really, really, really easily. Okay.
So that's another way to kind of get rich, rich artifacts into
your into your code base. Yeah, what I've noticed thing on
my end when I write a commit message, right?
When I've done that continuously before writing the code, I'm
like, okay, I'm gonna do this first because that's going to be
my first commit right in and of its own, that's going to make
sense. And then I structure my thoughts
ahead of what I think my messages are going to be or
sometimes, obviously, it doesn't work all the time.
Yeah. Blurt it out.
A bunch of code then I'm like okay, let me compartmentalize
this because I want to be able to convey what happened here and
then I stashed it. So I popped things, I make
structured commit messages that way because I want to for
myself, and for others, be able to explain what happened here.
Right? I think it's it's, it's the only
thing you can leave behind, right?
You can be on a project all the time, you can be in an
organization all the time, things continuously shift, and
people continuously pop in and out.
So, I can't be there to explain verbally.
First of all, I don't want to because I would be able, right?
I wouldn't even remember myself. So I I couldn't even explain it.
But those are little breadcrumbs I leave for others and even for
myself because weeks ahead months ahead.
I'm not going to remember what happened.
It's only human, right? Yeah.
Yeah, absolutely. And I think that gets to a, you
know, a kind of a point that that I've been looking at for
the past about maybe five years. So when actually coming up on
six, So my business partner and I, we were at a conference and
we found a number of other people who love Legacy code.
And so, we started a community called Legacy code.
Rocks. Young, good Legacy code dot
rocks. If you love Legacy code and want
to geek out with other people who do to nice and through.
There, we started a podcast. We started a meet-up and what I
started to Really want to share was that Legacy code has a
really bad rap. It's like and it's like I don't
work on Legacy code. That's a shame and contempt
right there because it's beneath me, right?
But I love almond ice layers. Definition of legacy code which
is its valuable code. That's hard to change.
It is Legacy code. Drives your business.
Yeah. Right.
And so instead of looking at it as like, uh, I don't want to
work on that, right? Like just shifting your mindset
as this is really important to the business.
Yeah. And how can I help make our
business stronger? Exactly.
Because of it and then it can also help you link to the past
and say okay what have other people done?
What were their constraints? And in this way you can connect
to the humanity of it in a similar way that you That you
have a legacy as humans like heirlooms, right?
Like you think of you know like I have some Crystal bowls that
you know were were passed down to me and they were my
great-great-grandmother's. Yeah.
And just like, I have that connection to someone that I
never had a chance to meet through this object.
And that is a legacy, that is my family's Legacy.
And this is a tangible object and that That same idea can be
applied to the code? Yeah, we're I'm working on this
code base in on this system and sometimes even on this file or
this repo and someone else created it, right, who may be
worked here two years ago right now.
How can I connect to that Humanity in the past?
But then also, how can I connect to the people who will come
after me so that I can be someone that helps them in the
future. And so when we do these things
were Proactively motivating ourselves.
Yeah. To change the activities that we
know create healthy code bases. Exactly.
But it transforms it from a, check the box activity or it's
like, oh I gotta write a commit message is so annoying to I care
about the people on my team and I care about myself and I care
about people who are going to come after me.
So I'm going to take the time to actually document one thinking
and that that Ation that comes from compassion is is the key
difference. And so, being able to train
people to no longer think of empathy as a soft skill and to
start thinking of it as a software skill, it is a
technical skill. Oh, believe me, I have it's
deep. You can keep going for like
however long you want in a similar way that you can study
like microprocessors or you can stunning, like system design, it
is It is just as technical. Yeah.
If we know where to look, and if we start to use our superpowers
of decomposition, where then that way, we can structure it
in, in a kind of analytical way. Yeah, I love.
I love the way you lay it out. Like, it's a legacy on a person.
I was good, right? I'm building my legacy or
whatever I'm leaving behind for my kids and their kids and you
want it to be as good as possible.
Yet, I agree with you that Legacy code has a bad rep,
right? And I think it does go into,
okay? We We don't actually trust it.
We don't actually know what's going on here.
We don't want to figure it out because it I do think it
requires time and effort to figure it out but I completely
agree on the other hand that it is valuable.
So if we want to be effective, if we want to be valuable
sometimes you do have to deal with Legacy code, right?
Because I mean even my examples and I don't know how I would fix
this. I'm writing commit messages, I'm
structuring my stuff, I'm trying to convey I'm trying to argue
with my team that we should do this.
And a lot of the times it works, right?
We do see value in that except we can go back in history and
rewrite things, right? I mean, actually, we can because
we touch a lot of things, but you could never do that.
Right? Lost, commit messages that have
no context, are there? Yeah.
Are you gonna stay there? So you still need to be able to
wear a context. That's exactly the thing.
And so I think that's another, that's another measurable thing
that can help us. You know, for looking at another
aspect of stock, right? That we want to create more of
context is 100% that we want to create as well.
Exactly that that is the Y. That is the environment were in
also the timer in, right? The situation is at hand and
then we can explain the decisions we made because you
always make the decisions based on a lot of stuff.
A lot of factors there. So if you can kind of hide he
said that make artifacts out of your context of kind of
visualizing breaking down a puzzle piece by piece.
Yeah. So people can find those in it.
Kind of make the picture in your own mind that it is valuable but
um yeah, I've been wondering since we've been talking, what
if it what, what if you're not at that stage, right?
What if there's not even a puzzle that you can create from
the code that you have? But if you find yourself in a
legacy situation in that way, how can you structure and pay it
forward to the future? Is it just by starting and by
doing what do you think? I think the first thing is to
start with care. Right?
And so, it's recognizing like, like, just being motivated out
of compassion. Yeah.
Instead of out of like, I don't care.
I'm just doing this as a job or out of contempt where I'm better
than everyone else and all the other developers are stupid.
Yeah. And like, it has to be my way
or, you know, the highlighter decisions were Stupid.
Yeah, so I mean that's that's kind of the definition of
contempt. Yeah.
So my first suggestion is always like learn about compassion.
There are tons of different practices out there.
Emory University has a cognitively based compassion
training, and my understanding is it's free.
So, you can go online. You can understand the basics of
compassion, you can get some training.
Awesome. There's there's a lot of books
out there. There's one.
So, one of the most effective practices for developing
Compassion is what's called loving kindness meditation.
In this comes out of the Buddhist tradition but neuro
science backs, it up that this is like a really good practice
for developing compassion, okay? In a secular way as well.
And so, the practice is that you are both broadening.
So, you're developing flexible thinking skills, but you're also
looking at being a benefactor, right?
And so, it's your jointly doing building those two skills, okay?
So you're fostering positive, desire for other people.
So and you start with yourself. I think that's the other thing
that people forget about empathy.
It is not just about other people.
You must have self-compassion Kristin, Neff is the preeminent.
Researcher on self-compassion, she's got a great, several great
books out there. So you start with yourself and
there are many Current ways to do this.
But typically it's saying things like may I be happy May I be at
peace may I be healthy. May I live with ease.
Yeah, and for a lot of people that alone Is hard.
Yeah, I can see that. That's the first step that's the
first step because I think the reason a lot of times the
research shows us that people operate out of contempt.
Yeah. Is because they're actually they
have low self worth or they aren't able to send compassion
in word, okay? And so, it's not the people who
are operating out of contempt are bad people in should be
ashamed, that's just Going to make things worse.
Exactly it stylish. Might help them.
You're a, how can we help them cultivate this compassion?
And so, then what you do is you kind of move in concentric
circles outward. So you think of somebody that
you care deeply about, maybe a family member or close friend.
And so for me, I have a good friend Anna, right?
So met Anna be happy. Ya might Wanna Be Healthy me and
be calm a she live with these, right?
And so then you maybe go to a co-worker somebody you know but
not like deeply well and you keep going out to someone that's
Neutral, like maybe the cashier at your, you know, at a
restaurant. Then you move to someone that
you don't have a great relationship with like someone
you're struggling and be careful with this one.
So if it's somebody that you like have had traumatic
experience with or something else, like don't go there
without professional help, right?
That's something to that. Someone who understands how to
deal with trauma should help you navigate through.
But let's say that I'm having an interpersonal conflict with
someone on my team and we're just kind of like bristling
against each other and not understanding each other, right?
Like I met this person be happy. Yeah, maybe healthy.
And like then it gives you the motivation to confront them and
say, okay. How can we fix this?
I care about you, and I care about your relationship.
I care about this stuff and because you've grounded
yourself, you've given yourself a motivation and you've also
helped yourself heal, so you're no longer operating out of a
place of stress chemically. Yeah, right.
You've activated different hormones in your in your body so
that you can listen. That's part of that capacity,
you know, you're taking slow and deep breaths.
Those are the skills where they seem, woo.
And there is a place for them in spirituality and there's also a
place for them in like day-to-day work.
So, Sharon salzberg? Yeah, Sharon her Shannon I think
is Sharon salzberg has excellent material, she really pioneered
loving kindness, in the West in good, more, secular tradition.
And she actually just came out with a book of loving kindness
at work, nice and finding small opportunities.
So for example, let's say, Say that you're waiting for your
test pass. Okay, let me take in best case
like 30 seconds, right? Sometimes it takes longer.
That is an opportunity, right? Met someone be happy.
You know. You can also think about who's
writing the like, who are you writing commit for, right,
that's an opportunity to practice compassion.
Yeah. Maybe the person who's reading
this, like, Find this easy, right?
What can I do to help make this easy for them.
And so everything about empathy Springs from compassion, it is
the Wellspring from which it all comes.
So that is always my very first recommendation is if this feels
odd and new and you're like, where the heck?
Can I start? Yep.
Start with compassion and start with compassion for yourself.
Exactly. Not need your managers
permission. You do not need to ask for
anybody's authority to get started.
You just need to do it for yourself and, you know, observe
like act like a scientist, see kind of what changes see and
then you're going to be able to find Opportunities.
You know, the framework that I'm putting forth, it's important to
note that it's descriptive. It's what I've discovered and
this is my way of breaking down a domain from the my Standing.
But as we know there are Infinite permutations to break
down the complex domain. This is the one that made sense
for me, but I think I would encourage people to go and
explore it on your own as well. Like learn about this.
This, you know, the way that I'm describing things doesn't have
to be like this is the only way that can be done and I hope that
it never becomes dogmatic where, you know, but instead it's like
this is an inspiration. If you're looking for a
framework to at least get you started.
Yeah, you know. Is one weird?
This is one that you might want to try.
That is geared for the context of developing software.
Yeah, so so that's my hope in that it's a tool that can help
people find places within their daily work where they where they
can make a difference and they can start to add empathy in a
very concrete and specific way. Yeah, and instead of just
thinking of empathy is something really Broad, and I call it
sometimes tossing them to the confetti around, where it's have
empathy, have empathy. Empathy is Easing.
Right? I like that example.
Yes. Like but then how exactly.
Yeah, tell me how. What do you mean by empathy?
Like and I think just as People in our industry or just tend to
be insatiably curious and care about the details.
Yeah. And A lot of times I think
people get frustrated with people like us because it's like
well it's just it's empathy. Don't you know it's like well so
my hope is that I can kind of be that bridge in that translator
of. Yeah, here's this big messy
thing and here's how it's relevant to us in what we're
doing. Yeah, I think I think that's
needed but I love the way that you're laying it out that it's
not black and right. Right, I sometimes hear, that's
not me, I don't have it but it is not that black and white is
much more of a skill. So try out start with your
stealth right. Try small and really hone that
skill because all of a sudden yeah it is going to be you,
right? It is a skill.
It's not. I might be a final destination I
guess if that's where you want to go.
Like it could be a goal but it's not like anyone has it or they
don't. It's something you can actually
hone and you can get better at. Yeah.
Every like the Neuroscience tells us that everyone has
empathy. Yeah.
And it ever since and It's a skill.
Yeah right and now there is trait empathy so for some people
like It may come easier than other similar to how, like some
people are born. You know, we're running a
marathon is easier for them right in, you know, the there
are definitely challenges, I don't want to make it sound like
everybody can achieve the same level.
And at the same time, empty doesn't empathy is incredibly
individualize. There is no one correct way to
be an empath or to operate with empathy.
And this was the thing that I discovered The most, I've always
identified as somebody who was an empath, right?
I can, I can sense things. I'm just kind of like, I have a
good feeling, I have a good feeling and I can kind of read
the room a little bit like and I, you know.
Yeah. And in some ways that was a
skill that was developed from being in sales and marketing,
right? So I got I got very specific
training on that. So and the other thing is like,
let's look at the character data from Star Trek and some people
don't know who I'm talking about because I'm dating myself at
Star Trek. Next Generation is the best show
ever. I love it, I love it, I love it.
And there's another researcher out in Stanford.
His name is Jimmy has a key. Yeah, I'm he actually put forth
What's called the Roddenberry hypothesis?
Okay, which shows in his hypothesis is around pop culture
and how much it has influenced our ideas of what empathy is.
And so, data isn't Android? He wants to have emotion, he's
actually the second generation because his predecessor lore had
A emotion chip, okay but ended up using it in ways that we're
incredibly manipulative, right? He hurt a lot of people so he's
an insole or is an example of like you can have a lot of like,
emotion and know how people are operating you can cause
significant harm. Yes, I'm serious.
That, that is not empathy. That's not what we're talking
about here, right? However, on the on the ship of
the Enterprise, there's two characters.
Typically our diet metrically opposed.
So data who is is an Android, thanks very logically, right?
And then also Deanna Troi who she's half betazoid and so her
you know her ability is to sense.
What other what other beings are feeling?
She's not in the same room. So what we have done is a
society is said, oh, I'm either a data, I Diana.
Yeah, right, and so I was like, oh, I sends people.
I'm Diana. Well, there's problems there.
First of all, what Dianna is doing is I actually, I'm think
it's projecting when I am making an assumption about how somebody
feels without having never listen to their story.
What I am doing is I am injecting my own bias, and I am
making a presumption. And often that is rooted in a
stereotype. Exactly.
Yeah. So that is actually not.
Not know what you want, right? Another couple of things is that
Diana's, often gets overwhelmed, but she experiences personal
distress, where she's like, I can't it's too much feelings and
I feel that too, right? And so, you know, operating from
personal distress sometimes can be really tough challenging to
now. She does like go and take care
of herself, but a lot of times people will like lean in and
then they'll try to help people out of that feeling of personal
distress and cause problems. Yep.
Now data, I will argue Exhibits, amazing empathy.
Interesting, I think he is, I think he is incredibly I think
he's a great example for what affective empathy can be
interesting. He understands his own worth.
There's a great episode Measure of a Man, and he talks about his
personal boundaries and like he's like, no, I will not be
subjected to this treatment because you think that I, you
know, I'm a machine, right? And he defends himself, right?
And he sets really good boundaries.
He's also insanely curious and he recognizes like he does a
tune moment of I sense that you're feeling.
This is this actually what you're feeling great and he's
validate, like, I'm observing this.
What does that mean? Yeah, right.
That's what we want. More of, it's not necessarily
about inference, inference. If we rely on inference alone,
that can go in really bad directions, yeah?
Right data also has amazing emotional regulation skills,
right? So, he's not operating out right
part of his, because he doesn't have the, Trip.
Right. But he's able to operate from
this place of clear and calm, yeah.
So what were actually looking for is not for everybody to have
empathy in the same way and it shows the the science shows that
that's not actually feasible, right?
What we're looking for is that we can all work together and
similar to like our brains kind of have Fingerprints of how we
process different information. Every single one of us has a
different set of experiences that we bring to the table.
Yeah, and empathy. Its best is recognizing that and
working with people, right? So for me, I've got people in my
life where it's like we've it's been a lot of work.
Like my business partner at Corey B specifically, We don't
naturally understand each other, like, every single test.
We have taken like art are thinking styles, are more
different persons. Yeah, we're opposite.
However, we have learned to care, we have learned to when we
have a disagreement come back and say, okay, how can we learn,
how can we do better next time, great.
And when we do that, then the most Creative Solutions.
Ins are able to come out of it. Yeah.
But if we say oh this is hard. This person isn't like me.
I'm going to go over there. Those stupid people who like
thank you make it personal. Yeah.
You make it personal and then
what we're doing is we're just we're creating division not
diversity. Yeah.
And and also this work is hard. I struggle with it every day.
Like, I only go no way like an empathy expert I think. if doing
all of this research has taught me, one thing, it's that Like
there is no perfect empathy. No I didn't think there would be
right y'all. We all do our best, right?
Yeah. And you hold the skill, you
start off with kind of a base level I guess.
And for some people, it's higher for some it's lower.
So they might have some catching up to do.
I think for me it was always a higher because I'm curious and
I'm a good listener. I do recognize what you said in
the Star, Trek example, that I have caught myself rejecting and
I was Lately wrong, right? But being able to step back and
reflect and be like that was a good, like I don't want that.
So if I hear other people I'll catch them being like, you're
actually just projecting, right? It doesn't have to be like that.
And for myself, I'm more cautious in that way.
I listen and observe before I speak my mind and if it's wrong,
I'm wrong. I it's not personal, we learn
from that we continue. That's why I also like being in
that team. In that diversity and I love all
the people around me, right? If we don't like each other, we
need to have a conversation because we can't, we can operate
effectively decisions that we make, in a business sense, is
going to be a personal attack, all of a sudden, our, there's
this person doesn't like me, and we draw those two separate
things. We draw them next to each other
and all of a sudden it's personal and you never wanted to
be personal context. That's a very hard to get back
from. Yeah.
I've been there. R.
I've been there and it's hard. I mean a lot of times when I
have been there, it's the I'm operating out of a defensive
mode. Like I'm, I'm not feeling good
about my own personal situation, so I lash out and and again,
it's like, in those moments, I was really hurting.
Right. And back to what I was talking
about the beginning where it's like our brains use predictions.
Yeah to decide how to move forward but our brains also have
this tiny little moment of opportunity biologically Where
we can gauge whether or not, our instinct is actually action.
We want to take. So, this is where that awareness
comes in. So this is why we don't like,
you know, throw our keyboard across the room every time.
Like just doesn't pass great. Exactly.
We do have these emotional regulation skills and they can
be developed. They are hard for a lot of us
like but by paying attention and learning and knowing that like
the Neuroscience is there like that's been something that's
been really empowering. erring for me is just knowing like
okay, There's evidence that this is a thing that can be done.
Yeah, it's not just this kind of wishy-washy, it's not
philosophy. It's not like you know somebody
from you know 1700 said this and so therefore it's super
relevant. Like it's no like we've done a
lot. Sorry we've done a lot of
research and Like this is what the science is telling us.
Yeah this is the evidence. Hmm and so to me that's that's
something that helps give me motivation that entrust the if I
try something that you know, it's worth it.
Yeah but yeah. And there's just so much so much
there. I could literally talk about
this for case. I see that.
I feel like we I think we covered a lot.
I'm gonna have to Episode really made me think I have so many
scenarios in which things could have gone differently or I
relate to the things that the examples that you give and I can
even see that I have gotten better at it right just by
virtually knowing of its existence and knowing that it
can be helpful stepping out of sometimes it feels like out of
my body out of the situation and observing what I've done.
Yeah and if I actually want to do that in the future as well.
Yeah I'd sometimes you get a question in your like I would do
XY and Z, but being able to be like, oh, I actually did it a b
and c and not being happy with it and acting upon that, I think
is very important. So I love the journey, we kind
of laid out. Is there anything that's still
missing that you still wanted to share?
Hmm. I think, just Believing in you.
Right. Like even if you don't believe
in yourself right now. Yeah.
Just know that like I threw this research.
I genuinely believe That everyone.
Deserves compassion. Yeah.
And has the capacity to. Well, not everyone, there are
specific conditions of that effects, you know, less than 2%
of the population that make compassion, spontaneously, a
real challenge, right? Yeah.
However, generally, under most circumstances compassion is less
of a trait and more of a skill and it's something that you can
learn and even if it's hard and even if you've been told your
whole life that you don't have empathy, I don't think that's
true. I think that it's, I think that
what I've seen over the years in Talking to people who identify
with data. Is that they've checked out and
it's, they've just internalize this.
I'm not good at. And the reason I know that is
because I did the exact same the code.
Okay. I had internalized this, like,
girls can't do math. I, I can't do code.
I can't. Yeah, girls can't kid.
Hey, and that's not true, right? But it takes a lot to overcome
the cultural stereotypes that have And they'll become so
ingrained, but yeah, I genuinely believe that you can do it and
like it is my mission in life to give you the tools that will
help you be successful. Yeah, I love that message.
I fully stand behind it. It is a skill and like with a
lot of skills even though you might not be apt in the
beginning, as long as you keep going, make small steps, make
even smaller steps, right? Be easier.
On yourself. Don't be too harsh.
Progress is progress. Yeah, I have to be perfect.
You just need to keep progressing and you get there.
Yeah. Awesome.
Thank you, Andrea for this conversation.
I, yes, I really enjoyed it. I hope you did as well.
Yes. Yes.
Oh my gosh. I love talking about this stuff.
I see that. I appreciate it.
No problem at all. I'm gonna put all Angie's stuff
in the description below and real cool, a check her out
everywhere. R.
I hope I pronounced. Your name.
Correctly did. Yes.
Awesome. Thank you.
Good. No problem.
And we'll see you on the next one.