The characteristics of tech work make it no different from other jobs

As IT workers, I believe we tend to think that our job is special. We, after all, design, maintain and run machines that run tasks for us. Let’s take a step back and think about what is special about working as a developer relative to other jobs, particularly from the perspective of salaried employees.

We have a certain ammount of freedom of design. While the goals are business-driven, we usually have certain leverage on the specific details of an architecture. I think much of what drives passion over the job of developer is this relative freedom to tinker and explore a relative problem space. It’s why we hate micromanagement, or maintaining a god-forsaken codebase frozen in time in Cobol, or why many lone entrepreneurs get caught on adding features to a tool instead of setting constraining, boring business goals.

In Hegelian terms, a developer crafts their pride as a worker (a code artisan) in terms of (self-)recognition as an expert in navigating this freedom of design effortlessly, in a manner most efficient, mantainable and clean. That is: a pride on their ethic of concrete labor.

Compare this with a work with cotton-spinning machines in XVII/XIXth-century England. As a employee, the machine’s design is given and work at optimizing is separated from actual use. The employee hired to do work at one of such machines would receive a wage for performing a series of mostly determined movements that allow the machine to function. A modern worker at a factory doesn’t diverge much from this, except for potentially having more degrees of freedom within the design complexity of a modern industrial setting.

Funnily, this characteristic compares worse to other professions: teachers, researchers, lawyers, doctors or other liberal professsions posses also (in principle) degrees of freedom - though they are not always able to do design work ex-nihilo.

By the way, another characteristic of this same freedom is what causes the dreaded meetings everyone loves to hate in IT: the ammount of uncertainty means that in order to align a technological solution to a business case one has to have a clear idea of the needs of a corporation. This is no different, in a certain sense, from factory work, where there are chains of job interdependence, complex information networks and work management needed to coordinate all of it.

Here’s another characteristic of IT work: scale. It should come to no surprise that the reason IT work is booming is because the work of a developer allows for higher returns than that of a manual operator, at least as long as technology has a place in the solution.

In purely Marxist terms, a worker is hired to exchange their time doing tasks for salary. An IT worker, however, can write code to do work for them.