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.
[TO CONTINUE]
Other stray thought around tech work
Mostly extracted from The double shift
(Jason Read’s book on the Politics of work in Marx & Spinoza).
- Interview processes with many steps are designed to weed out the mercenary and cynic - that is, the no-BS-attitued workers. That’s how you sell that working somewhere is “a privilege” and you are “doing good” (you most likely aren’t).
- In that same vein, the best worker is also the best consumer (see the case of Apple workers consuming their products).
- Most tech work is not intellectual: it’s service work, ie, emotional work. Part of maintaining code or a tech infraestructure involves keeping the client and/or the manager happy, including adding those features that they deem better (even if they are not necessarily the best ones). Meetings, KPIs and reports play a similar role.
- Low wages are used to force workers with no familiar obligations/other expensive commitements.