Black Lives Matter: An Explanation in Code

Edna Morales
The Startup
Published in
4 min readJun 7, 2020

It’s no secret that the tech industry has a diversity problem. For this reason, it’s important for us to not only care about what is happening right now, but to allow for it to come into the workplace. If you’re struggling with how to explain Black Lives Matter to a colleague in the tech industry, perhaps this can help. I’ll be using what we all love and understand: CODE!

Of course ALL lives matter. But as has already been pointed out many times, the Black Lives Matter movement is not trying to say that ONLY black lives matter. Let’s look at this through a code lens. If all lives matter, we can all agree that the following statement makes sense.

What if our code was throwing an error and we had to debug it. Our code looks like this:

As a developer, the first thing I’m going to do is check what the values are of BlackLivesMatter , WhiteLivesMatter , and the rest of the variables that determine the value of AllLivesMatter. I see the following:

BlackLivesMatter = false;
WhiteLivesMatter = true;
...

So what am I going to do? Focus on finding out why WhiteLivesMatter is true? Of course not. That’s not the problem. That variable already has the expected result. I’m going to focus on the variables that are causing my code to throw an error. Much like is happening in real life, I’m going to find out why BlackLivesMatter is false and help fix it.

How do I find out why BlackLivesMatter is false? I only know about my own function, checkAllLivesMatter , which takes in BlackLivesMatter as a parameter. I don’t know anything about how BlackLivesMatter is set or where. So I should chuck it as someone else’s problem, right? Although we might sometimes find ourselves doing this in the tech industry, I hope we do it less often. We should care about the functionality and quality of our application as a whole. It’s not enough to work in isolation and only care about what we “own”. The success or failure of our application ends up affecting us all, whether we realize it or not. In this case, this failure affects my function as well as the consumers of my function and any other functions that use BlackLivesMatter.

This is a pretty severe error in our application, so I’m going to go out and do some investigation on how BlackLivesMatter is set and why it’s false. I’m going to go educate myself so that I can contribute to a fix for it. Since I’m not familiar with this code, I’ll likely need to go talk to a few people more familiar with it, do some reading on my own, and lend my time to implementing a fix. I hope you’re reading between the lines here: listen, learn, donate, etc ;).

Alright, so we fixed an error that was affecting our entire application. With cross-team collaboration — yay! Is that it? We’re done? We shouldn’t be. With any error, and an error this big, we need to ensure it doesn’t happen again. While many things may change throughout our application as it continues evolving, we need to make sure BlackLivesMatter remains true . So we’re going to add a test for it. That way, before a change is deployed, we can catch this error and fix it(or decide the change is wrong) before it affects users. Given the severity of this error, we might even decide to give a code quality refresher to everyone at the company, so that we are all on the same page and educated.

In the same way, we need to hold ourselves accountable in the real world. We need to constantly be checking ourselves and checking others, especially those who govern us. We need to be continuously learning — this shouldn’t be unfamiliar to us in the tech industry. The victory is to successfully make BlackLivesMatter equal true and have it remain that way, even as we continue tackling other issues in our society — er, application.

--

--

Edna Morales
The Startup

Software Developer @ Salesforce. Formerly @ IBM. Blockchain. Mobile. Node.js. I love free t-shirts and horror movies. Views are my own.