Remove React
In the face of police violence toward Black Americans I feel mostly helpless and useless. I’m not in the path of police violence; I’m white, employed, and comfortable, and with two kids depending on my income, it’s easy to remain inactive and on the sidelines. While I can state clearly, Black Lives Matter, I didn’t have an obvious means of action.
But I want to examine a little deeper how I’m complicit in a system of white supremacy through my engagement with the React framework. And, no, I don’t particularly want to address my personal prejudices, built-in racist ideas, or other errors and mistakes I’ve made in my life. This is (mostly) a technical blog after all. But there was a thread on twitter the other day that nibbled at my brain, and brought up some latent thoughts that have been tumbling around my head.
https://twitter.com/aweary/status/1267472739960369153
and
https://twitter.com/sebmck/status/1267500470831988738
Facebook has shown itself to be a bad actor. This has been demonstrated at many different points, most relevant to the moment is that the President of the United States threatened violence against our citizens, and Facebook has taken no action. I’m uninterested in debating whether Facebook has editorial discretion, or if they’re a public service, or any of the complexities this question engenders. The company is responsible for what appears on the site. Besides, there are any number of other ways Facebook has shown to be force for hatred, demagoguery, and authoritarianism. The axiom stands; Facebook is bad for society. If React is a tool for recruitment and on-boarding at Facebook, then I need to divest from React.
On my resume, about half of my selling points involve React. (The other half is Drupal, :waves: hi Drupal!) At work I’m currently building a React site, I’m sure it won’t be the last. So how do I divest from this project when it’s an intimate and important (read lucrative), part of my work life?
1. Grieve
I first encountered React as a Junior Developer and was in awe and wonder. For whatever reason it seemed like a magical new toy, I was curious and excited about it. Once I started learning React, I felt like the programming world opened up to me. The unidirectional data-flow encouraged by the framework meshed with the way I think about data. I like the way JSX reflects HTML. All this and more made learning, and then working with React a pleasure. I didn’t feel like a real developer until I deployed React.
I’m going to loose that feeling. Step one for me is a mental step. From this point on I’m going to consciously and vocally tie the React project to the company Facebook. For me, that will make the project less palatable, and less exciting.
Goodbye sweet React.
2. Learn new stuff
After the sadness of step one, step two is a joy! I’ve wanted to go beyond “hello world” in Vue for a while, and this is a chance. Plus ther are other exciting frameworks out there, Svelte and Ember to name a few. Maybe there are more projects with more involvement with Black developers.
Whatever project I next focus on (or 5 projects, let’s be real), I will attempt to be conscious of where the project comes from, and who benefits from more engagement. Should I choose Angular, which is a Google property? Is Google as bad as Facebook? Does Google actually benefit with more engagement with Angular if they don’t use it in house? (That’s supposed to be a dig.)
There are no apolitical choices, and neither are there perfect choices. The best I can do going forward is to be conscious of the choice, and to have more awareness of where code is coming from, and who it benefits.
3. Push for other tools at work
The place where the rubber meets the road will be when I’m asked what tool would work for a given problem or client. I need be deep enough into step two to be able to offer alternatives and give cogent answers as to why Vue or Ember over React.
I think not supporting Facebook is a good reason, but I know it won’t fly in a business environment. Though I will again attempt to tie the tool to the company so that co-workers and clients understand where this code comes from, even if they don’t have my priors about Facebook’s negative effect.
4. Write about other tools
Every bit of non-React writing out in the world will help to diminish the influence of React, even this measly blog.
The React team
I don’t know anyone on the React team personally, but some of them have a strong presence online. I count some of them as my most important Twitter follows, and people I respect for their technical writing, as well as their personal bearing. Saying “diminish the influence of React,” even as limited my influence is, feels like I’m slapping them in the face.
Real change
I won’t kid myself, this is a pretty small change. And it’s certainly not a sacrifice, and not a big risk. If anything, following through on these steps will make me more employable and more valuable to employer.
Facebook is easy to vilify (thanks, Zuck), and making Facebook the big bad enemy does nothing to address the systemic racism, sexism, ageism in tech companies and culture. But police brutality, creeping authoritarianism: these are acute problems that need direct answers now. The change I’m proposing is small, however, it’s action and a first step, and we all need to take first steps.