Adopting inclusive language from our codebase, documentation, and all other communication

Chester Dean - Principal Program Mgmt

The words we use matter. This has always been true in and out the workplace. The past year has really punctuated how much more focus we all need to be on inclusion with Black Lives Matters leading the conversation. The day-to-day microaggressions of language in society take a toll. The simple, and very common, use of “Hey guys” to address an all gender crowd is part of a persistent language of exclusion, that with self reflection, is easily removed from casual conversation. Beyond verbal communication APIs, UI interfaces, AI, and Machine Learning are the ever present communication tools of today and the future. Ensuring that automated communication is not implicitly exclusionary, will help shape a better future and ultimately better products whether in social media, ecomm, or any other technological field. 

Discriminatory language has historically been embedded in the code. As an inclusive and tech forward start up, Flow made the intentional decision to remove non-inclusive language from our codebase and all forms of communication.  

In the summer of 2020, Jean Logert, a Flowite Tech Lead, drafted a proposal for the Tech team to avoid the use of divisive language and replace it with inclusive terminology. At Flow, we build consensus to move together on change in the Tech org, Jean introduced an RFP to identify where the opportunities are and what is the effort involved. 

After a unanimous vote approving removing exclusionary language, we decided to dedicate 3 days for all of Flow (not just Tech) to remove exclusive language from our culture, code, communication, and documentation. We used the following language transitions as our guide as well as leveraging Google’s Inclusive Language Documentation

How we updated language

1. Whitelist/Blacklist (noun) = Allowlist/Denylist

2. Whitelist/Blacklist (verb) = Use phrases that accurately convey the relevant action. For example, replace "To denylist an IP address" with "To deny requests from an IP address"

3. Master/Slave = Primary/Secondary

4. Dummy variable = Placeholder variable

5. Sanity-check = Completeness check

6.Master Branch = Main Branch (See GitHub)

The 3-day effort included both small and large lifts from simple word search and replace to refactoring code.

We prioritize an inclusive culture here at Flow, but the work is not limited to our 3-day effort. The exclusive behaviours and language we have learned over time are consistently present in our everyday lives. At Flow, one of our core principles is being Dedicated to Continuous Improvement in the products we build, in ourselves, and how we interact with co-workers, clients, and partners. With as much empathy as possible, we want to reinforce inclusive behaviour.