Automation is one of the things software engineers do well.

June 19, 2018

Automation is “the action or process of introducing automatic equipment or devices into a manufacturing or other process or facility”. Automatic in this case refers to “a machine, appliance, etc.: that does not require an operator; that works by itself under fixed conditions, with little or no direct human control” 1 . Thus, automation is the process of decreasing the amount of human labor needed to operate machines by increasing the ability of these machines to work on their own. Automation has become hot-button topic and a rightfully looming fear for many workers. However, as a software engineer, automation is my day to day.

What does this look like? Here’s an example of automation on a small scale. Recently, I helped data scientists on our Political team automate their process for creating Shiny apps (interactive web apps for data visualization) that displayed our forecasts for the 2018 elections. Before automation, we were coding each box in our app from scratch. (These boxes, later named “callout boxes”, called out important pieces of information). I automated the process of creating callout boxes by creating one function that produced a custom callout box, given a box size, label, content, and content color. Instead of writing cookie-cutter code repeatedly, our data scientists could now call one function and the function would create the box for them.

On a larger scale, I’ve worked on our main product, a data science platform, to automate data science workflows. The platform allows data scientists to run a variety of tasks at scale including but not limited to exporting, importing, analyzing, and building models of their data. Therefore, in terms of my definition of automation, our data science platform decreases the amount of human labor needed to directly operate the underlying machines required for data science tasks.

Automation is one of the things software engineers do well. Out of our own frustrations at having to perform repetitive and mindless tasks, we often create small scripts to automate parts of our own work. For example, one of my coworkers created a script that automatically performs a database migration for him whenever he merges a new migration file into his code. Now he doesn’t have to manually check for migrations and merge them, saving time and effort while also reducing the likelihood of making a mistake.

This desire for efficiency in our workflows spills over into our daily lives and quickly transforms into a goal in itself. All day, we push ourselves to create algorithms that run faster, CPUs that process quicker, and workflows that waste less and less time. This mantra wraps into our heads and becomes a mindset. It becomes painful to look at code that is not optimized, or work within a slow development environment. In line for lunch, we discuss ways we could make the process of checking out food faster.

The mantra of technological efficiency has also uncritically embedded itself into industry at large. After the advent of the Industrial Revolution, and particularly during the rise of Taylorism, managers understood that efficiency was the key to deriving more profit. One way to do this is to push workers to work faster, producing more within the same time. When management pressures workers to work faster without raising their wages, they deepen their exploitation of workers.

However, there is another way to obtain greater efficiency that does not exploit workers: automation. Automation does not introduce exploitation because machines, not workers, are responsible for the extra production. When engineers automate away the more tedious aspects of other people’s workflows, engineers give them more time to pursue the activities in their work that they enjoy.
And yet, automation has grave negative implications for workers who exist in our current economic structure. Increasing automation in our current system has put individual workers out of work and left them no longer able to support themselves.

This is horrible. However, I believe that in the long run, capitalists will produce their own gravediggers and automation will aid in that process. (At a certain point, our economic system that has incentivized automation will aggravate the relationship between capitalists and workers so greatly that workers will rise up and demand change). Automation necessitates a change in the productive forces and we have already seen examples in history where changes in the productive forces have led to a change in social relations. In The Poverty of Philosophy, Marx writes,

In acquiring new productive forces people change their mode of production; and in changing their mode of production, in changing their way of earning a living, they change all their social relations. The hand-mill gives you society with the feudal lord; the steam-mill society with the industrial capitalist.

More recently, we have witnessed technology facilitate the growth of the gig economy, transforming the old social relation of employer and employee into one of employer and contractor. Under this social relation, employers no longer have to give their workers training or benefits. Employers also do not have to pay workers during the times when they are not directly generating revenue. Yet, this transformation is not even complete. Employers who use contractors do so only because we have not yet invented technology that can perform the same tasks. As technology progresses, more and more jobs (including mine) could be replaced by technology if employing technology becomes cheaper than employing humans. This is why Uber is so intent on developing autonomous car technology. Thus, the use of technology will continue to change social relations.

I believe that we as the working class will change our system before it gets too dire. We realize where our capitalism will bring us. We realize that automation in our current economic system will only deepen inequality. Our system demands that we work jobs to keep on living. As more and more jobs are automated, the pool of jobs decreases and this becomes impossible. We must find a way to fight back and we will.

In Grundrisse, Marx writes,

Beyond a certain point, the development of the powers of production becomes a barrier for capital; hence the capital relation a barrier for the development of the productive powers of labour.

It is important for engineers to be a part of this fight because we are also workers, irreplaceable workers, who must consider what we are working for. In the book Atlas Shrugged, an engineer realizes

While I was busy conquering matter, I had surrendered to them the realm of the mind, of thought, of principle, of law, of values, of morality. I had accepted, unwittingly and by default, the tenet that ideas were of no consequence to one’s existence, to one’s work, to reality, to this earth…No, they were not able to deal with matter, to produce abundance, to control this earth. They did not have to. They controlled me (858).

Though Ayn Rand, who is frequently cited in libertarian circles, penned this line, I think it rings true. We cannot and should not work for a system that exploits us and others and is systematically taking away our livelihoods. As producers, we must think about and critique the world we produce in. Does our system protect the human dignity of all humans? Does it give them equal freedom? Is it humane?

As engineers, we can also think more specifically about the consequences of what we make. Do they aid helpful or harmful behavior? Do they deepen justice or injustice? What cultural norms may they produce?

These questions are hard to answer and the answers may be nuanced. Here are mine: I think that we should live under a system where everyone compassionately respects everyone else as equally human and where humans do not have to worry about meeting their basic needs. I work in automation, which broadly produces negative consequences in this economy. However, in my specific case, my automation serves to replace the time myself or a coworker would spend doing an undesirable coding task. Outside of my work, I keep reading and thinking and sometimes I change what I think. I also spend time working for a future where workers do not have to worry about just staying alive. I look forward to a world where we can automate necessary but undesirable tasks and pursue what we love: science, art, sports, music, research to better our world.

  1. According to the Oxford English Dictionary 


Evelyn Ting

Evelyn Ting is a software engineer at Civis Analytics. She is also a member of a Chicago-wide CBA group organizing for workers rights and preservation of affordable housing in the city. In her free time, she practices Brazilian Jiu Jitsu.

read next