Back to Blog

Effective communication and then effective collaboration - Andrea Goulet at PNSQC 2023
10/05/2023

Moss Drake

Talking with PNSQC Keynote speaker Andrea Goulet about empathy, technical skills, communication and collaboration

Andrea Goulet has a tendency to take the counter-intuitive view. For years with CorgiBytes she focused on the idea of remodeling legacy software rather than writing new systems. Rather than siloes of professional specialists, she suggests bringing the whole team approach to work. And while many believe that we are building software free from organizational constraints, she enjoys pointing to Conway's Law that says "Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure."

We are pleased to be able to bring Andrea to PNSQC 2023 where she will present two more counter-intuitive sessions: the keynote on Empathy as a Technical Skill, and a workshop on Productive Conflict.  PNSQC volunteer Sam Simataa recently talked with Andrea about her thoughts on technical skills, communication, collaboration, and the Legend of Zelda.

PNSQC: With your keynote presentation titled “Empathy Is A Technical Skill”, who is your intended audience and what do you hope they will take away from your talk?

 

Andrea Goulet: The folks that I love talking to are people who are actively coding as the majority of their role.  I have a unique perspective where I spent the first part of my career really understanding empathy on a technical level. I was focused on strategic communications, and then in 2009, I met up with a friend from high school. He was really into working on legacy systems and modernizing them using agile practices. [He] invited me to be the CEO of his startup, so I learned [a lot] about software and all of these things too. And what I observed in learning about software, was that really code is communication. And if we want to write quality code, then we need to be able to communicate effectively and collaborate effectively. And functionally, the mechanism that we have evolved as humans to do that is empathy. And to me, empathy is the thing that is the foundation of all the practices like Agile or even Test Driven Development, or why a compiler was created [by] Grace Hopper. The intention was to make something better for people [and] to understand and make things easier.
AG (Cont'd): I've been writing about empathy in the context of actually creating software. [I've been] working with software for over a decade now. And I think the biggest thing is that this training [in empathy] is just not present. It's recognizing the nuance and being able to apply your behavior in a way that you can get a predictable result. And that's trainable, that's teachable. That's practicable. I don't even know if that's a word, but that's something that we can learn and practice and get better at. 

But culturally, the message that a lot of software developers have integrated into their identity is I'm bad with social skills. And that's really unfortunate because I have met so many amazing, compassionate people. And really, it's about technique, and it's about knowing, well, when you do this one thing, this is the likely outcome. And there's so much research that can help us understand what empathy is, especially just in the past five years. So we can take those same principles from coding and developing software and many of them are applicable to how we communicate and collaborate with others, too.  So to me, that's where I get just really jazzed because I think it's incredibly meaningful. Because as technologists, we have a huge impact not just on the businesses we work, but also society, right? So empathy driven development, which is kind of the practice that I'm working on [in a] book and really codifying, is a practice similar to test driven development of integrating a practice of empathy into your daily development.

PNSQC: This year’s theme is "Amp it up!" We are exploring ways that technology and processes can amplify quality - both through software systems and through human systems. In addition to empathy, what are 2 other soft skills that teams can amp up?

AG: The two [soft skills] I would say are effective communication and then effective collaboration. When we’re doing this work, I think it's important to really assign some criteria of what [collaborative] success looks like because then that way, we can have our actions be more outcome driven rather than intention driven. And then in terms of communication, do we have what we need to be able to send and receive messages in a way that could be understood? What meaning are we assigning to the information that is exchanged? How are we behaving based on our interpretation of the meaning? [Is] the level of trust on our team [increasing or decreasing]? So for me, it's like getting a little bit more discreet and then being able to figure out if this was helpful. Just as people who are really good [at] diagnosing problems, we want to dive in and fix bugs. And so if we understand what the success criteria are, it helps us go in and fix the bugs in our interpersonal communication or how we're communicating, through the software that we build.

PNSQC: As a technologist, how does empathy in tech compare to empathy outside of work?

AG: It can definitely be applied to any experience [and] any context, right? It's kind of like physical health, right? It's generally going to help you focus more at work. It's also good outside of work [like a] language skills, right - having a stronger vocabulary and being able to express yourself more confidently. That's going to help you at work [as well].
The way that I define it is essentially we're trying to identify “micro-moments” that matter, and there's a number of different things that we can do to help us recognize and behave in a way where we recognize that there's something we can do, and then how do we think about what we should do. Empathy is like breathing. It has an automatic and deliberative component. We can go our whole day without thinking about our respiratory system, or we can go to a meditation retreat and focus very deliberately on our breathing for days at a time. So what we're trying to do is find these contexts and find these opportunities, where we can apply deliberative empathy, effectively.

PNSQC: Who was one of your favorite guests that you’ve hosted on your podcast Legacy Code Rocks?

AG: I think there's two that come to mind. Both of these people were people that I met at conferences, and then got to dive into their perspectives a little bit more on the podcast. So first is Nat Pryce. We had a conversation about architecture decision records [and] it really helped me think about how the most important [and] most effective documentation is going to be really close to the source code. [He] created a set of tools that help document changes to the architecture in a way that you can do it on the command line, so that makes it easier but it also is just really tied in and so that gives us just a really good artifact of our thinking. 

And then a build-on conversation from that was [with] Cyrille Martraire He wrote a book called Living Documentation. His book really dives into some of the more practical and technical ways that we can do this and that we can think about documentation not as this burdensome thing that we have to do later, but just how can we make it so that our systems are constantly updating themselves and that we're preserving the rationale.[What] makes software really maintainable I think, is when we can reconstruct why something was created. And we can easily navigate [it], and we can easily make changes.  And so those are two practices that I think really are talked about a little bit less. Documentation is typically seen as a burden and kind of like an extra thing, but it doesn't have to be.

PNSQC: What are some ways that you unwind outside of talking about or maintaining legacy code?

AG: I love doing [realistic] watercolor. Water realism is something that I love and it was something I discovered during the pandemic. [It] is just kind of a way to relax and I took some YouTube tutorials. For me, it's less about the expression stuff, but I love just looking at an object with a lot of intention and a lot of purpose. And just seeing more and more, and more details emerge. So I love doing that.
 
I also play video games with my kids [and] recently got into Zelda: Tears of the Kingdom; it's so good!  And I love watching documentaries, too. I just love learning. I especially love watching people who just have such a passion and a deep understanding of any kind of domain. Like, I'll watch YouTube videos of historical dress makers and like how they're finding knitting machines that were made in the 1800s and like, reconstructing them. It's really looking at that big picture then like how can I zoom in more and more and more and more and people just get very passionate. It's a joy to engage with someone else's passion, even if I'm never going to be a historical dressmaker. It's just nice to know that there are people out there that care [like that]. And I think that's the same thing with software like how can we be those stewards who pay attention and really think through things - that's what I try to bring back to the workplace, but those are some ways I unwind.

PNSQC 2023 starts on Monday, 10/9/2023, but there's still time to register for the whole conference, or just the workshops.   Or, catch the PNSQC Free tracks.  See you "there"!