> Programmers don't fully control what they work on when employed by an entity seeking profits.
But they do tend to control what entity they are employed by, and sometimes what team within that entity they work for. Let's not defend programmers as helpless cogs who are forced by their evil managers to program bad things. We all have agency, even during bad hiring times and bear markets.
If my boss asked me to build the Torment Nexus, I'd resist up to and including quitting. A disappointingly high number of us wouldn't even put up a fight.
> If my boss asked me to build the Torment Nexus, I'd resist up to and including quitting. A disappointingly high number of us wouldn't even put up a fight.
A big reason for that is most people don't have the "fuck you money" to be that selective. Sure, there are some programmers that are indifferent or amoral, but there are a lot more who just don't realistically have the luxury of quitting for reasons like that (e.g. they have a family, if they quit over X they may not be able to get a good enough job to maintain their lifestyle, if they don't maintain their lifestyle maybe their wife will leave them, etc).
Add to that, the Torment Nexus is clearly bad, but a lot of bad things aren't quit so obvious, or can be defended tempting but specious arguments (e.g. Facebook's "but we're just bringing the world closer together").
We also have a lot more managers than we used to. Managers are proxies for the authority of capital to ensure we're providing as much value as possible to them. The more of them we have the less we control our labour.
You don't even need to be building the Torment Nexus. You're simply building whatever makes the most profit for the capital class. Not necessarily what is best for users, people, or the wider public good. You end up talking more about value instead of utility, etc.
Shop around to as many jobs as you want. I'd bet the majority of organizations act this way because these are systemic pressures from how we organize labour in our field.
Your job ends up being framed around your utility to the capital class and how much profit they can extract from your labour. The most common advice you get when you ask, "How do I improve as a developer?" is: think about ways you can do less work and maximize how much customers are willing to pay. What features we should build into our systems are dominated by product managers, engineering managers, etc... as a programmer you'll have more power in a small startup but once your company grows to a certain size, it'll be dominated by executives and the managers: product managers, engineering managers, etc.
The Torment Nexus is really quite banal in the end: subscriptions and surveillance and nags. The kinds of things that lead people to mistrust technology.
> A big reason for that is most people don't have the "fuck you money" to be that selective.
You don't need money, you need ethics and a backbone. My first job as a junior developer right out of University, my boss asked me to write code to cheat a benchmark, presumably so that marketing could lie about our product's real performance. I just got started with my career, began paying off student loans and could barely afford a place to live, but somehow I managed to push back. It was terrifying and I thought I would get fired.
I've been in other ethically ambiguous situations throughout my career, with a family to feed and where quitting would be perilous, and yet I can still say with a good conscience that I made the decision in each case that aligned with what I considered to be good ethics and principles. I've never had "fuck you money."
> the Torment Nexus is clearly bad, but a lot of bad things
I had a friend who took a job with TitleMax because his daughter was in college and he needed money to help pay her tuition. Plus he needed to eat. I have two kids in college, and need to eat, too - I'm not in a position to pass judgment on somebody who took such a job.
You don't need "fuck you money" to be selective. You need a spine and a willingness to suffer discomfort while you find better work.
If you keep working for a company you believe is unethical or harmful just because you need the paycheck, you're being unethical and harmful regardless of how you justify it.
But they do tend to control what entity they are employed by, and sometimes what team within that entity they work for. Let's not defend programmers as helpless cogs who are forced by their evil managers to program bad things. We all have agency, even during bad hiring times and bear markets.
If my boss asked me to build the Torment Nexus, I'd resist up to and including quitting. A disappointingly high number of us wouldn't even put up a fight.