Software for Good Logo
Insights / February 14, 2023

How to Build Software with Love (A Conversation)

How to build software with love

By Software for Good

Last fall, the Software for Good team adopted a new slogan for our work in the world: “We build software with love.” For us, building software with love is deeply meaningful — so meaningful, in fact, that we hope it will change the whole paradigm of what technology can be.

At Software for Good, love means more than coding pretty apps or having good intentions. Following visionary Black feminist scholar bell hooks, our team is trying to reimagine the work of building software by thinking of love as the active choice to nurture humanity’s highest good. We want to build software in exactly that way.

This Valentine’s Day, the SfG team wants to share some ideas from a recent conversation we had about building software with love. Our hope is to start a dialogue with other do-gooders and technologists about what that might mean in practice. As Chelsey put it during our conversation, you never really know if love is being received — “you just put good energy out into the world, and hope it comes back.” That’s what we’re doing now.

Four ways to build software with love

Prioritize human beings. 

From day to day, most of us in tech “don’t relate love and software really at all,” as Jared pointed out. But the thing about building software, as Colleen said, is that “it’s never just about the software” — it’s about the human relationships that the software makes possible. For Lori, building software with love means “thinking and acting beyond myself, having an awareness of other people.”

By expanding beyond ourselves in this way, Yasmeen said, we’re “looking at all the people who are involved — the people building it, the people affected by it — and what the impacts of it are.” When we focus on how our work touches the lives of human beings, Alex said, the process of software development itself can be “a loving relationship.”

Design with, not for.

Too often, technologists — particularly those of us who want to do good — think of ourselves as helping people. But that’s not what love means to us at all. “Supporting others’ spiritual growth isn’t charity,” Thena explained. “It’s not ‘giving people what they need,’ but lifting up the people we’re working with.” When we’re lifting our collaborators up in that way, Ryan said, it sometimes even feels like being “in love” with them, sharing moments of excitement and discovery.

Like anyone who’s in love, we want to learn as much as we can about our partners. At Software for Good, we practice human-centered design strategy to do just that — so we’re never building for the people and communities our projects serve, but rather co-creating with them. That’s why we designed Housing Hub together with the renters, landlords and property managers who actually need and use it.

Like any kind of loving relationship, though, co-creation can be difficult. “When the people who have a stake in what we’re building feel valued and heard,” said Wendy, “they feel able to tell you things you don’t want to hear.” Being open to troublesome feedback isn’t enough, though. “If you’re not hearing negatives, that doesn’t mean things are working,” Devin pointed out. “You have to reach out and ask.” And who we ask matters, too. “The point of contact we have may not be the actual people who are impacted the most,” said Antonio.

Welcome discomfort.

“Love can be messy,” Casey reflected. “It has challenges, highs and lows.” Co-creating software, like every form of loving relationship, isn’t always comfortable. In fact, Sarah added, “the discomfort is important.” Cassi went farther: “It will be uncomfortable,” she said. “That’s how we’ll know we’re building software in love.”

The same goes for our clients: choosing to support their growth is sometimes as uncomfortable as parenting. “​​I love my two children more than I can describe, and one way I love them is by pushing them — recognizing their genius and pushing them to live and operate fully in that,” said Sharon. “When we’re building software in love, we can do that for our clients as well.” That means “being able to recognize everyone’s full humanity,” Edith explained, “and having the psychological safety to have difficult conversations, raise questions, challenge ideas.”

Discomfort happens when we’re in loving relationship with each other, too. Laney talked about “what it means to ‘do love,’ to love-as-a-verb, in a professional setting. How can we show each other compassion and loving-kindness and grace as we build the software? That’s a practice,” and we’re working on it every day.

Maximize human liberation.

Love, as we understand it, isn’t just about how we feel — it’s about the growth we enable for ourselves and other human beings. And to grow, people need to be free. “If we’re building software with love,” as Kevin put it, “it’s freeing people to do things other than focus on the software.” That’s exactly what Sharon means by software with soul — it’s tech that “helps people dream, build, create and care for each other, as only human beings can do.” The soul comes from human freedom.

Liberation is also at the heart of the Declaration of Digital Autonomy, which Eric helped create. Digital autonomy, as the Declaration says, requires  technology to help the people who are affected by it, allows informed consent, empowers individual and collective action, and protects human rights by design. “If we’re doing all these things,” Eric said, “that’s core to developing software in love.”

Here at Software for Good, we’re still figuring out how to build software with love. In fact, as Annie pointed out, figuring it out is an act of love in itself. “It’s hard to know that the love we put into things is received in the way we hope; but we put the effort in anyway.” Happy Valentine’s day!