Class, capitalism and the tech industry
socialistworker.org
socialistworker.org
>...programmers are often thought of as "professionals," like doctors or lawyers, and not part of the "working class." But this is misleading. Most programmers are neither self-employed nor employed in an organization where they have a meaningful say, and most can't expect any kind of tenure or partnership status, no matter how long they work.
>...Programmers are typically hired at-will, and are not generally accepted to have any professional obligations that could supersede management's authority, nor the ability to do research or pro bono work on company time. Management styles range from the likes of Dilbert's pointy-haired boss to a hierarchy so flat that it's almost invisible--until it's time for somebody to get fired. Still, for most programmers, management authority is a constant.
Professionals without authority.
I like this highlight of collective bargaining:
>the right to contribute to open source projects or veto the release of insecure, privacy-violating or otherwise unprofessional code.
Sure would be nice if the red flags we raised would actually have an impact.
>Most important, however, might be the idea of solidarity.
This is something that Michael O Church mentioned in a blog post; how the managers always say nice things about one another whereas programmers always slag one another and always blame the last guy for crappy code instead of trying to build each other up. I once had two senior devs basically force me out of projects; where did they end up? at different companies 1 year after I was forced out. where did the executives end up? they merged the company and gained some $$ or completely cashed out. Solidarity would have been the better choice.
At another place, the devs weren't listened to and juniors/contractors were hired to develop a project. The devs had to deal with the mess that was created. What happens on the next project? They aren't listened to again and can't even flag down the fact that the previous project has generated like 0.001% ROI.
> Software developers often buy into the idea of advancement by individual merit--either through a liberal lens in which meritocracy is an ideal we still need to work toward, or a libertarian one in which everyone is already where they deserve to be, top or bottom.
And:
> In this context, it's easy for those who believe they are being mistreated to feel isolated and even personally inadequate, rather than seeking solidarity from co-workers.
Software development, like other skilled trades, is a place where a worker can use her personal qualities (ie training, experience, interest) to create something of value and have a sense of pride about it. Combined with the notion, as stated in this essay, of an individualistic "garage-to-riches" outcome for dedicated and/or brilliant developers, it's not hard to picture a culture that characterizes the boss more as a peer than as a regulating influence, personal affability notwithstanding. This characterization can undermine a developer's consideration of themselves as, well, a worker, with all of the associated social and historical implications.
Anyways, thanks for the post, I always appreciate well-thought articles that cast the software industry in a broader perspective.
Now it's the golden age for programmers, but we will have to see how this holds in the long term, seeing that the main goal of a perfect programmer should be to automatize himself out of a job in some sense.
Anyway, malthusian apocalyptic predictions are fun, but one should not forget that just because they were wrong once it doesn't mean they will be wrong each time, we don't have "father God" nor "mother Nature" to cover our asses anymore. All responsibility is in our hands.
Yeah, the article takes that up a bit:
"Since the Industrial Revolution, capitalism has shown a long-term tendency to deskill labor and separate conception from execution in a way that increases the power of management. As industries mature, they tend to try to make workers interchangeable units."
"Nobody has yet figured out how to Taylorize software development. The task of writing a working program has yet to be broken down into subtasks that can be performed without specialized knowledge and some grasp of the whole system... [But] the larger trend doesn't bode well for the relative privileges that programmers have acquired."
That said, I also don't agree that software development hasn't been at least partially "Taylorized"; it's just that, like the factories where the original Taylorization happened, that work has been moved overseas. There are plenty of companies doing custom development upon preexisting platforms (Wordpress, Sharepoint, etc) and which employ people that could barely code Fizzbuzz, to do stuff like adding a field to a report, add a simple conditional filter or read some XML file into a database.
https://michaelochurch.wordpress.com/2015/06/06/why-agile-an...
Which leaves them plenty of time for revolution...
>the right to contribute to open source projects or veto the release of insecure, privacy-violating or otherwise unprofessional code.
I do find it interesting to contrast it with Steve Klabnik's interview in which he essentially points out that Open Source is by and large, and obviously with some projects excluded, unpaid work that provides massive benefits to companies & their owners for free (and to others, of course).
So true of small tech companies at which I've worked. External PR is a rags-to-riches story, the truth however involves mainly being middle/upper class. Even as the company grows, you know you'll never rise anywhere because they won't permit the advancement of anyone who wasn't born in to money or those that didn't attend Oxbridge.
We've also ended up with a glut of programmers who end up doing nothing but building database frontends all day. When people talk about a programmer shortage, they mean there's a shortage of programmers who can actually code. There's simply more work than there are workers able to do it.
The result of this is that all programmers are treated as suspects. No other profession requires you to do a dance in every interview you'll ever undergo. Your experience and connections speak for themselves; the interview is to root out personality issues and establish expectations.
The reason, of course, is that law/medicine/etc. have serious consequences for incompetence. You have to be licensed, and you have to prove your competence routinely. Coding should be the same.