Kicking the hornets’ nest


GitHub’s Don Goodman-Wilson draws on his previous career as a philosophy academic to ask some awkward questions about developer relations, in this talk from DevRelCon London 2018.


I’m Don Goodman-Wilson. I’m with GitHub. I’m a developer advocate at GitHub.

And before I was a developer advocate, I was an engineer. And before I was an engineer, I was a philosopher, believe it or not. And I want to talk a little bit about philosophy.

Dev rel is about trust. Are we really forming it?

So, at DevRelCon, Tokyo, I gave a talk about trust. I think developer relations is fundamentally a project of forming bonds of trust with other people in a community, to strengthen the community and to help the community.

I found myself somewhat conflicted as I was writing this talk and as I was giving this talk, because, yes, I believe it’s true. We’re out there to form bonds of trust with other people, to form relationships with other people, but we’re doing it on behalf of our business. And this felt to me somewhat duplicitous, because it suggests we have an ulterior motive.

When you have an ulterior motive, it’s hard to say that you’ve really formed a bond of trust. Trust is very easily undermined. And so, I’ve been thinking since then about the ethics of developer relations. I want to talk a bit about that today. It’s not going to be a fun talk. I hope by the end of this you’re all squirming in your seats.

A framework for ethical thought

So, I want to begin by setting out a framework for ethical thought that is salient and relevant to what we do. There’s a lot of them that we can choose from. I’m going to pick one in particular. And then I want to talk about how we can apply this to several different scenarios that we see in developer relations, and to get you thinking about how you can apply it in the sorts of scenarios that you encounter in developer relations on a regular basis.

And so, I want to begin by talking about utilitarianism. Who knows what I’m talking about when I say utilitarianism? Another name for it is consequentialism. Utilitarianism is a class of ethical theories based on the principle that what’s right maximizes utility and minimizes disutility. And depending on which theory you subscribe to, it’s going to cash out maximization and utility in different ways.

So maybe utility is happiness, maybe utility is pleasure. If you’re an economist, utility is money. Maximization might just be for you personally, it might be in a local community, it might be global maximization. You can also think about timeframes and how do you estimate the future effects of the decisions that you make, blah, blah, blah, blah, blah. As you can imagine, based on this description to the theory, it’s quite malleable.

We can do a lot with it, which is why you see it a lot in Silicon Valley. It’s also quantifiable, because we’re talking about quantities of things. So you see this a lot in Silicon Valley because it’s a very convenient way for tech bros to look deep while justifying the worst of their desires.

So you know what? Burn this shit down.

[Female] Thank you, Don.

What we owe each other

[Don] Let’s talk about something else. Let’s talk about a TV show. Depressing part of the talk over. How many of you have watched “The Good Place”? Yeah, oh my God. I love this show. I’m married to an ethicist, so this show really hits home for me.

And in this show, we have Chidi, Yay, Chidi. And frequently, Chidi whips out this book. It’s really actually kind of blurry to see here. It’s called “What We Owe Each Other” by, you really can’t see that, by Robert Scanlon. And in fact, a lot of the ethical issues that are raised in the show are addressed through this theory, and I want to talk a little bit about it.

And I want to talk a little bit about it because it’s extremely salient to what we do in developer relations. I mean, the very question, what do we owe each other, suggests quite a lot, developer relations. I like to think about trust. What we’re doing is founded on the relationships that we have with other people. And I think if we ask what do we owe each other, we’re setting ourselves up to answer things in a useful and interesting way.

So we’re going to do some philosophy. Oh, boy. This field is called contractualism, and it’s based on the idea that we can derive moral principles or moral judgments based on the social contracts that we form inside of the communities. There’s that word again, community. And the core of it is, is this ugly wall of text. “An act is wrong if its performance under the circumstances would be disallowed by any set of principles for the general regulation of behavior that no one could reasonably reject as a basis for informed unforced general agreement.”

That’s a lot to unpack. The essence of this is the idea that wrong acts are unjustifiable. If you can’t find justification for it, it’s probably not a good idea. It’s a very simple principle, but there’s a lot to unpack inside of unjustifiable as well.

Treating people as people

So the principles that we’re going to use to justify it are going to be principles that arise from community standards, because we’re talking about communities. We’re talking about our relationships with other people. We’re talking about what we owe each other. What kinds of principles are we going to consider here? Well, these are things that are going to arise from the fact that we want to treat people as people.

One of the key features of being human that Robert Scanlon observes is that we each individually have hopes and desires and dreams, things that hurt us, things that make us happy. And we value these things about ourselves, and that’s really wonderful. Even more wonderful is that when I look at you and when you look at me and when we look at each other, we see other humans.

I can’t get inside your head. You can’t get inside my head, you have no idea what’s going on up here. But somehow, magically, we recognize each other as human and therefore, as having hopes, and dreams, and desires, things that hurt us and things that make us happy. And we see that as valuable in and of itself. This is the foundation of the relationships that we make with other people, is recognizing them with human, taking the things that they value as things that we value, and using that as the foundation for doing something greater together.

And so the kinds of principles that we’re going to look at are the kinds of principles that arise from, naturally, these kinds of associations that we form with other people. So, principles that value other people as people, principles that value relationships among people, as people, these are going to be good principles. The kinds of principles that could be reasonably rejected then are principles that don’t do that, principles that deny the humanness of another, principles that deny the value of a relationship.

And then finally, they have to be acceptable to the community as the basis for informed unforced general agreement. The size of the community is not terribly important. It might just be a family of two or it might be your developer community. It might be the global community. It depends on the context and the scope of the action that we’re interested in, the community that we’re going to use as the basis for evaluating the justification for an action.

The complications of right and wrong

Wow, it’s a lot. So, I want to invert this for just a moment, just paraphrasing. An act is right if and only if a principal permitting it could not be reasonably rejected as a basis for informed unforced general agreement within a moral community. For Scanlon, he just defines it in terms of wrong and then just says right is whatever is not wrong, which is fair.

So, we can think about this in concrete terms. Let’s just imagine that I am trying to decide whether or not, “Hi, I’m going to mug you. Give me all of your money. Now. No, I’m not joking.”

In general, we can recognize something like theft as wrong. Why do we recognize it as wrong? So we can think of principles that might justify this act. So one principle that might justify this act is, “I’m hungry. I need the money.” And there’s a principle that should be like, “We ought to have what we need to satisfy our hunger.” Satisfying hunger is very important.

We die if we go hungry, and we should have what we need to not go hungry. And that seems very reasonable. Nobody would really reject a principle along those lines. That seems like a good principle for the regulation of a community. So that’s one possible principle that justifies it, and it’s difficult to reject. But in the back of our heads there’s a little voice, “Theft is wrong.”

There’s another principle at play, which is that, “You are of no value to me, but your money is.” I’m dehumanizing… Oh, God, I can’t read your name tag from here, I’m so sorry. Daniel, right? In the name of myself, I’m placing myself over him and I’m negating or denying his value as a human.

And we can’t form a principle from that justification that anybody would not reject because the principles have to be founded on the mutual recognition of other people as humans and this principle is in flagrant violation of this kind of notion. So any kind of action is going to end up having a justification in terms of dehumanizing other people or devaluing human relationships is going to be one that automatically the people are going to very reasonably reject, and because we found a justifying principle that can be rejected we know this action is wrong.

It has to be the case that all principles are ones that are reasonable. But still somewhat more is the idea that there’s this mutual recognition among rational agents. And we can kind of use this as a way of focusing the discussion instead of coming up with principles and judging them and so forth.

And we can just say, “Look, are we failing to recognize the other stakeholders here as people, as part of the community?” And if so, we can make a shortcut essentially to evaluating the action as wrong.

Flying guilt

So, let’s talk about flying. How many people flew here today or this week, not today? It’s okay, I’m raising my hand. How many of us had an alternative to flying that was viable that wasn’t like taking a boat for a month? My hand is still up. I could’ve taken the train. I live in Amsterdam. I’m lazy. Like, that’s not good.

So there’s this voice in the back of our head that says, “Flying is bad.” And I know we all have it because you all laughed when this slide came up. It’s been sort of making the rounds on Twitter. And we can make up all kinds of stories as to why it is bad or why it isn’t bad. Turning back to utilitarianism for a moment, we can totally justify it. I don’t have the math up here but I ran some numbers before the talk.

And it turns out one transatlantic flight accounts for approximately 100th of 1%of the total global pollution from the airline industry for the course of a year. And frankly, I mean ,that’s not much, that’s not a lot and compared to the inconvenience of taking a ship for a month to get here from, I guess, that would be maybe even from the East Coast. It probably would be even longer from California. I’m not even sure.

[Male] First you do horses from California.

[Female] Yeah.

[Don] We have the Panama Canal. We have the technology. We can move things faster. Compared to that inconvenience, it’s nothing. Your personal convenience and being able to come here and participate in this community and learn cool things and take that back home with you, that looks really good. And from a utilitarian point of view, the calculus is very straightforward. Well, of course, you should fly.

Flying and philosophy

But what does that do? When we begin to justify things using utilitarian views like this, is begin to devalue the other people in our community. Who, in this case, are we devaluing? Future generations, broadly speaking. We are saying it is worth placing an enormous burden on future generations in order for us collectively, because remember we’re talking about principles regulating communities, which is all of us.

And so we’re denying that mutual recognition. By failing to recognize the burden that we’re placing on other people, we’re in essence denying their humanity. We’re devaluing them. And already Scanlon is going to tell us, it doesn’t matter what your individual contribution to this, your collective contribution is quite large and you should not do this. Well, that’s a downer.

That’s softball, though, right? This is easy stuff. I think we can all recognize that we should feel a little bit guilty for flying here today. I mean, “Okay, that’s fine. Don has laid a guilt trip on us.” So let’s talk about something else. Let’s talk about your company’s big conference in San Francisco. GitHub had one of those.

And it’s one thing if it’s just a local conference in San Francisco, but I don’t want to talk about local conferences in San Francisco, I want to talk about your big annual conference that all the world is invited to. So now we’ve gone from making a decision about ourselves as to whether we should fly to making the decision for those 2,000 attendees we want to come who aren’t local to San Francisco who need to fly.

So, however uncomfortable we feel, and maybe we feel just a little bit uncomfortable about making the decision to fly. Now, we should feel approximately, what whatever your attendance is, 2,000 times more uncomfortable about asking all these other people to fly. But that’s not all. Inclusion in our communities is a really important part of…well, it’s an important part of what a community just is.

We want to be inclusive. We want to be welcoming to people in our community. And so, we can justify setting up a conference in San Francisco and saying, “Most of our community is in San Francisco. Most of the people we want to reach out to are in San Francisco.Most of our employees are in San Francisco and so we’re ensuring maximal participation by locating it in the epicenter of tech but we want all the world to come.”

Who are you devaluing?

So, one of the interesting things that I’ve learned living in Europe for the past few years is that Europeans, no matter how well they’re paid, don’t like flying to America. And the reason is actually fairly interesting. One, it’s expensive. It’s just ridiculously expensive, and it’s very difficult to justify that expense to their bosses. And two, the time off is a real pain in the butt.

So in France, there’s a law that says, “If you fly on a weekend, you are due additional holiday days, because flying for work is work.” It is. We know this. We’re in airplanes all the time. So by having your big conference in San Francisco, you’re effectively saying, “European tech community, you’re not welcome. We’re not willing to accommodate the particular needs that your community has.”

Well, that’s a problem. There’s a bigger one, which is that right now Nigeria and other countries in Africa are among the fastest growing developer communities in the world and they can’t get visas.

[Female] We can’t.

[Don] It’s hard enough to get visas to Europe, getting a visa to the United States is not going to happen. So you’re telling these fast-growing communities who are extremely eager, very eager to be using your product, “You are not welcome.” If that’s not devaluing a human as a human, I don’t know what is. This is a problem, don’t have your big conference in San Francisco. Alright, that was a little easier.

Is dev rel really a lifestyle?

Let’s talk about #devrellife. So, this one’s a little more subtle, and it’s probably not as important to the broader community but it’s something that I feel fairly strongly about because I love to complain.

I know a lot of us love to complain because complaining is fun, and it feels good. And so I’m going to complain just a little bit too. At DevRel Summit, Singapore, I saw a tweet that was a picture of a slide that said, “Developer relations is a lifestyle, not a job.” And in some sense, it’s true.

The work that we do is all-encompassing, it requires a lot of our time beyond what we would consider regular work hours, because we want to reach out to people who have to work during regular work hours. But that doesn’t mean that our job is a lifestyle. Our job is a job. Our job is labor made in exchange for money. And when we began to self… when we begin to self-aggrandize the suffering that we go through we’re doing something very interesting with the people who look up to us, the people who want to do DevRel, the people who see us on stage and think, “That sounds fascinating. I would really like to do that.”

What we’re saying is, “Yeah, you can do it if you can hang. You probably can’t hang though because I’m living in an airport.” And that’s also very dis-inclusionary, is that a word? That’s also exclusionary. That’s the word I’m looking for. To the community of people that we want to be embracing.

We want to grow developer relations, we want people to feel welcome in our personal little tiny community. But when we have conversations like that, like, “Yeah, I haven’t seen my apartment in three months. I didn’t even get to see the last three cities I was in because I was too busy going between the hotel and the conference center.” I mean, I’ve I said these things. I’ve said these things today That’s terrible, that’s really bad.

Do we serve two masters?

Because I’m almost out of time I’m going to skip this one but this is really important. I know Leslie Hawthorn and company have been talking about this lately, and I’d like to talk more about this with you perhaps some other time. But we serve two masters. This is the thing I opened the talk with. We serve communities and we serve our business.

And there’s a question like, “Is there a balance to be struck here?” And I, without further justification, kind of say, “No, I don’t think there’s any balance to strike here whatsoever. We owe our community everything.” But I think we’re going to have to save this for another day because I’m running out of time.

So I just want to conclude with this one thought. We’re not in this alone. When we think about what we do in developer relations and we think about the actions and the decisions that we take and that we make, we need to think about the way that they impact the community that we’re trying to reach.

And to the extent that those actions serve to sever ties, serve to exclude aspects of this community, it’s not just a bad idea, it’s morally wrong. And so I want you to think about the things that you do in the course of your job and day-to-day, in this framework of contractualism and begin to evaluate what it is that you’re doing and begin to think about the things that you are doing for your business and ask yourself like, “Well, it might be good business, but is it right?”

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.