Issue #05: Ethics

What Is To Be Done?

The title of this article has been used and re-used by socialists throughout history. Luke puts it into the mouths of the crowd listening to John the Baptist. In response to their question, John suggests that those who have surplus clothing and food share with those who do not have enough.

From each according to his ability, to each according to his need.

Russians re-used the title frequently during the decline of the Romanov dynasty. Nikolay Gavrilovich Chernyshevsky was a socialist democrat who wrote a novel promoting industrial collective communes under the title. Then Count Lev Nikolayevich Tolstoy took up the mantle in his response. Tolstoy criticised the idle work ethic of both the poor (who should work harder to improve their lot) and the rich (who are in no position to accuse the poor of being lazy). Perhaps the most famous use of the title is Vladimir Ilyich Ulyanov’s, who produced an illegal pamphlet under this heading influenced by Chernyshevsky. Ulyanov’s “what is to be done?” set out the case for revolution in Russia. It was a work that set the Russian Empire on a course to become the USSR, and Ulyanov to become its first dictator under his pseudonym, Lenin.

Why Do Anything?

The short question is powerful because of the axiom it implies. To wonder what is to be done, we assume that something must be done. The situation has become untenable, but we want to know what its replacement should be, and how to bring that about, before we act.

It is also weak, mealy-mouthed, the question demands a programme of action without hinting that the querent intends to do anything about it. Yes, I agree that this absolutist monarchy governed by an ineffectual Tsar should be replaced. You have given me a specific plan of action to bring that about as I requested. OK, good luck with that Vladimir Ilyich, goodbye!

Hmm. Denouncing the parlous state of current affairs. Demanding a plan of improvement. Declining to actually commit to bringing those improvements about? This sounds like a job for software engineers!

An Empire In Decline

The public seems particularly disinterested in advances in computing at the moment, while either masochistically or necessarily becoming more dependent on it. Facebook is in a perpetual state of apology. Google have been hit with a record fine. The World Economic Forum expect Bitcoin’s value to level out at zero. A member of the United States congress is discussing racism in artificial intelligence. A cursory news review of software security shows a range of concerns, from security cameras being hacked to a national early warning network being breached.

Computing “enjoys” a reputation similar to that of genetic modification technology in the 1990s, or nuclear technology in the 1970s. Nobody’s really sure what it means, they know it could go drastically wrong. But they also know that it’s coming, ready or not, led by the governments and companies who tell us that “progress” is good, whatever that means.

What Is To Be Done?

We do need to be part of the discourse and debate around the technologies we use, promote, and inflict upon society. Rather than snarking in our social media bubbles about “the necessary hashtags”, technologists need to be seen, heard, and understood. And our positions need to be coherent.

And that means we need to do the thing that is missing in the examples given above: we need to listen. Policymakers and journalists are reflecting the concerns that are found in society, and if we want to form coherent and impactful responses to those concerns we need to empathise with the people formulating them. Perhaps we need to walk away from particular activities that society can never condone, rather than convincing them that “making the world more open and connected” is good for them despite their misgivings. We have to listen, learn, empathise and understand more than we need to educate, inform and correct. While there is value in the thing on the right, we have to come to value the thing on the left more.

Systems Thinking

Any software artefact is the confluence of three complex systems:

  1. the software system itself
  2. the team of people who design, build and maintain the software
  3. the society of people who find their lives, jobs and opportunities modified by the existence of the software system.

Much writing on software engineering focuses on the first system (computer science, software architecture, software implementation paradigms) or the second (development methodologies, team organisation, devops). Not so much the third! The NATO 1968 conference on Software Engineering – the event that marked the birth of the field, had a brief discussion on user input into design. Quotes range from:

[J.D.] Babcock [designer of timesharing computing systems]: In our experience the users are very brilliant people, especially if they are your customers and depend on you for their livelihood. We find that every design phase we go through we base strictly on the users’ reactions to the previous system. The users are the people who do our design, once we get started.


[Brian] Randell [IBM, leader of the conference’s working group on design]: Be careful that the design team will not have to spend all its time fending off users.


We can argue over the specific time at which empathy in software design entered the software engineering body of knowledge. Barry Boehm’s 1999 paper “Escaping the Software Tar Pit” introduces the modified golden rule to software engineering:

Do unto others as you would have them do unto you — if you were like them.

But maybe we’re doing Mike Cooley’s 1982 “Architect or Bee?” or Don Koberg’s 1983 “The Universal Traveler” a disservice. Either way, it is only now that many teams are coming to appreciate that the product owner may not have all of the answers about what makes a good product. The fields of User Experience and Design Thinking encourage us to see how people respond to our ideas, to take their criticisms and suggestions on board, and to design the system that they will benefit from.

Fundamentally we need to remember that that third system exists. It is society, and we are its designers, its architects, and must bear in mind that we are a minority of its members.

Cover photo by Dmitri Popov on Unsplash.
Donate using Liberapay

Graham is a senior Research Software Engineer at Oxford University. He got hooked on making quality software in front of a NeXT TurboStation Color, and still has a lot to learn.