Software Engineer since 1991. vi python perl ruby js
Engineers are good at solutions. We're even fairly good at problems. Give us a client, and we will interview for the pain points, carefully describe the key problems, and design the most effective, doable solutions. And we'll do them, breaking them into actionable steps until the solution is realized.
Then we read the news, perhaps we see the tear gassing of protestors in Hong Kong, the prisons holding the Uyghurs, or the bombing of Kurdish towns, and say to each other (if we are chatting, which itself is rare) "yeah, that's awful." Yet we act as if this particular type of problem is unsolvable, even unactionable. As if there were no possible step that could be taken, no way to affect the situation.
I think it is not that we are motivated solely by money, and choose only the clients that pay us. Many engineers put in countless hours on open source projects meant to benefit humanity. So why do we not try to solve the most pressing problems, the ones that are endangering innocent people on a daily basis?
This is human behavior, not technology? But we design apps all the time that are intended to influence human behavior. And information flow is critical to cooperative behavior. In Nicky Case's somewhat famous Evolution of Trust
simulation of the classic Prisoner's Dilemma, there is a lovely demonstration that in a repeated game where players can recognize each other AND information is reliable, the cooperators win.
Not only do we set up environments that can alter human behavior, we make tools to achieve specific ends and metrics to measure what we are told by our clients are important.
The principles are no different, only the purpose.
Let's take Hong Kong as an example. One does not have to go far to find HK People asking for help:
Perhaps because it is difficult to see these things, and they trigger an emotional response, we do not also see them as engineering challenges to be solved. We do not engage with them as things we can take action about, beyond perhaps retweeting. And while it is not always easy to see how to take action, it is no different than any other complex problem. For example, in this case
There is a fairly clear actionable item, which is to create some sort of database to track those who are disappeared. And that is exactly what Gene Bunin has done for the Uyghur population, he has created a database of over 5000 testimonies
documenting individual cases of Uyghurs who were disappeared, imprisoned, and abused.
He also publishes the 'Uyghur pulse' of the most compelling video testimonies by family members. And in fact, this approach has some proven results, with several disappeared individuals being partially or fully released after they are featured on video. Gene uses a sort of homegrown PHP approach and isn't able to easily expand this to other regions.
So here is one clear engineering need, for a global victims database of public testimony. And we have those on the Kurdish side who are also interested in helping create it, including at least one senior Google developer, and we are looking for coders to join a team
to create it - hopefully quickly.
But we are getting ahead of ourselves. The first rule of design is to include the client - and actually we do this on the above project, where we have people on the ground and whose families are disappeared participating in a slack group and in the discussions of what actions to take.
It seems to me, that this should be a norm of sorts, that when a problem arises, people self-organize into a team, using all the best practices from our work environments, reach out to those on the front lines (which is extremely easy nowadays), create a strategy and act on it. And perhaps an open projects board would be a helpful first step. (https://ragtag.org
has something like this, but mainly domestic to the US as far as I know).
Protests are happening all around the world right now - from Iraq, to Chile, to Honduras, to Lebanon, to Hong Kong, to Egypt. And in some places they are not happening, because of fear. All of these areas while different, have similar patterns and perhaps a similar need for organizing and communication tools, and for open methods of accountability.
I am not sure who else is working on this, or who else sees it this way; but I'm not aware of another rapid response open project workspace where engineers and others try to tackle human rights issues and other immediate problems as they arise, in a general and sharable way.
We're trying it a bit at RaisetheVoices.org
and more so in a slack group, and we welcome anyone to join
(after quick vetting). And please also comment here with other efforts that people should be aware of!
Note: I have explicit permission from Nicky Case and the photo owner, and from Gene Bunin; tweets are imaged directly from twitter. I am a co-founder of Civic Works, 501c3 that is the parent organization of the RaisetheVoices.org project. We are not asking for money and currently this project operates without any budget, on solely volunteer time.
Subscribe to get your daily round-up of top tech stories!