“Social justice” has been a long-held passion of mine. For years I have thought deeply about the question “What is social justice, really?” and “How do we talk about these issues from a place of privilege?” and “How do we leverage that privilege?” The definition of social justice is broad and often includes the idea of positive externalities. Recently, I have been describing/justifying my dive into web development as an attempt to gain skills that will allow me to build tools with some positive externalities. I have had many long and engaging conversations with friends about what exactly that means over the last couple months, and specifically conversations with other developers about what they think that means for a field so (seemingly) overwhelmingly homogenous.
One of the most interesting conversations I had about social change and technology happened with my friend who works for Pivotal Labs, a company that is trying to change the culture of software. Changing the software definitely has positive externalities. Here is a portion of Pivotal’s mission statement:
We’ve been at the forefront of agile development for more than two decades building highly scalable mobile and web software that reaches across a variety of industry verticals, software platforms and device types.
This mission aims to change things beyond the code that is being produced, and thus aims at a positive externality. I love the idea and definitely hope that I can get the opportunity to impact my field in a way that people at Pivotal do. The question of the definition of impact and particularly positive impact comes up again and again in economics. Maybe that’s where my obsession comes from. However, our language to describe social impact is still awfully vague. In development economics we are still obsessed with measurement and tracking the effect of economic activities on “social good” but spend a very small amount of time (read:none for the classrooms I was in) talking about what social good means, how inequality was created, and the larger systemic problems at play here.
However, the type of projects I am thinking of also have a social value at the margin. Social, political, and economic inequality are all mind-consuming obsessions of mine. But we can’t just say that if a company or organization adds positive value, even with externalities, that it adds social good. The economist Dean Karlan came to speak at Seattle U in the fall and discussed this on a panel with other development economists. He said that if we define Small to Medium Sized Enterprises (SMEs) or social businesses as having positive externalities only if they add value, technically Wallmart is a social business. He defined social businesses as having something that impacts people beyond the exchange in a largely positive way like having a positive impact on the environment or significantly making the quality of life better for people in the community who may not ever have direct contact with the product itself.
With this in mind, I wanted to talk about several things I have learned about just in the last month in web development that have the power to have a huge positive impact on the lives of others or bring information into peoples lives that changes their behavior or thoughts for the better. It has given me hope that these conversations about social justice and positive impact will stay with me as I dive into programming and web development. These are only a couple of examples I have experienced recently, but there are many more examples out there of how programming can have a positive impact on the lives of others.
I went to a talk last week as part of the organization PyLadies which featured Liz Uselton‘s discussion of Twitterbots. It was hilarious and fascinating. A Twitterbot is a program used to deliver automated posts on Twitter and can range from the hilarious to the sad to the informative. It’s also often used to spam others or advertise for useless stuff, but another view of Twitterbots is their use for activism. Liz talked about the #botALLY community which builds bots that are sometimes silly and sometimes really moving. Researching #botALLY and the awesome community that comes with it lead me to find my personal hero @tinysubversions who helped build @staywokebot with input from my other personal hero and awesome activist deray mckesson. Stay Woke Bot helps keep activists informed and affirms them. It is a spin-off of a prototype of Stay Woke that both Darius and Deray made called 101atron, which helped activists deal with their haters by tweeting replies at people who used certain key words with links to more information about that subject. So, for example, if someone were asking a question about appropriation the bot would take care of it by tweeting back at the person with a link to more information instead of the activist having to educate the person on a basic concept. Stay Woke just released the code for this on GitHub and I’m so excited even though I can’t really understand it yet <3.
Another string of awesome bots that do good are bots that parse public information for the public. My favorite two I have found so far are: congressedits, which tweets anonymous Wikipedia edits made form IP addresses inside Congress, and censusAmericans, which tweets real facts about individual Americans from the census. These bots have the power to inform, create empathy, argue with trolls for you, protect you, and affirm your friends. How cool is that?
The next awesome social good webdev thing I want to talk about is #a11ywins. Tumblr here. I discovered and learned about #a11ywins and accessibility in software in general through my HTML/CSS instructor at Girl Develop It, Marcy Sutton. Accessibility is the measure of a computer’s accessibility to all people, including people with disabilities. Thus accessibility in tech refers to how software is designed to make the system accessible to people with visual impairments, hearing loss, and limited dexterity. The #a11ywins hashtag showcases computer programmers “wins” in making software more accessible. To me, this is such a cool concept that has implications beyond the product itself for access to information on the internet. Imagine if, because of faulty design, something like Google or WikiPedia were not accessible to you? Thinking about people outside of yourself and your own experience with software is a great example of empathetic programming as well.
Finally, something that I picked up from the Ada Developers Academy information session (and have been researching and embracing for the past couple weeks) is the idea of empathetic programming. This isn’t unique to just Ada. Empathetic programming is the idea that communication is key in designing code and makes you better able to not only relate to your user and your clients, but also to the future users of your code. In last week’s Code Newbies Podcast with Courteney Ervin, Ervin discussed becoming a self-taught programmer. At one point in discussing empathy, she said “You don’t make code for yourself. You make it for people.” This is the reason I’m super excited to get into a bootcamp. I know it’s going to be hard and I’m not talking about the code. The interpersonal relationships are hard, having to communicate with people from different backgrounds is hard, having to deliver your complex and half-baked ideas about math and code to other humans is really really hard, but I think that this is the necessary next challenge for me. I have had my head in a computer for the last couple of months and while I’ve gotten pretty good at understanding arrays, I haven’t had many experiences in communicating these ideas with others (I love my friends but they just couldn’t care less about this stuff).
When I was a student at Seattle U in economics I found the times when I tutored others to be the most intellectually engaging and tough moments of my study. When you have to explain regression to someone who is struggling through it, there is no better way than to re-struggle through it with them. I have never had a better grasp on concepts than when I’m learning that way. That’s empathy. And I’m really hoping I can get into a program that understands and embraces that. It will make me a better programmer and most likely a better person as well.