I worked at a company that did this almost a decade ago. The idea seemed simple enough, but the unintended consequences started adding up over the next few years.<p>The biggest problem was that the company became the arbiter of what was offensive and what was not. We felt like we came up with a comprehensive list when we started, but a few people became very good at finding new words that might possibly be offensive to someone, somewhere, in some context. Eventually the company has to draw the line and decline to remove potentially-offensive words, at which point the company is effectively declaring that topic not offensive <i>enough</i> to take action. This doesn’t go over well, and some people are very eager to make a big deal about it on social media.<p>The second problem is that declaring certain words to be possibly offensive is easily misinterpreted as declaring those words as <i>always</i> offensive. We had problems with people assuming ill intent when interview candidates and new hires accidentally used words on the banned list with no ill intentions. Marking the words themselves offensive instead of the person’s intentions creates a lot of traps for people who don’t know about or haven’t yet fully memorized the bad words list. This created a lot of divisions and cliques within the company where people were hesitant to interface with certain other groups for fear of being mistakenly marked as offensive. When the safest option is to keep to yourself or a small group of peers who you know won’t misinterpret your words, cooperation and coordination decreases.<p>The third problem was the long tail complexity of eliminating these words from the business. Doing a search and replace on the codebase and documentation is easy enough. But you’re still left with third party open source projects and services that contain the bad words. Once you reach the point of people suggesting to fork open-source services just to rename parts of the source code, the complexity and cost grows exponentially. At the worst point, we had a team trying to justify creation of an Ubuntu fork that used the phrase “manual pages” everywhere instead of the possibly-sexist “man pages”. The amount of engineering time, energy, and dollars spent debating these topics and implementing solutions spiraled into far more complexity than any of us imagined at the start.