For most other jobs I'd definitely agree, but for American software engineers specifically (which I am) I don't really think so in this case for a few reasons.
This got really long, feel free not to read or reply — I really appreciate your comment for giving me the opportunity to think through and write up why it is that I'm disgusted with the other people in my field over this when I will basically always give other workers a pass for building the awful shit that the ghouls that pay them demand that they build.
The first is that there's a big difference between building something that ends up failing unintentionally or building something that you know will fail if more follow-up work doesn't go into maintaining it vs building something that's intentionally designed to covertly pin the blame for its failures on end-users while creating a more dangerous situation for the end-users and everyone around them. The former two come with the territory and while it's best to plan for failure but I'd never fault the engineers for failure happening unless the failure was due to malice. This case is more like if your phone knew its battery was very likely to explode, and then it used that information to post "I'm gonna microwave my phone 🤣" from your twitter account before walking itself into your downstairs neighbor's microwave and turning on the power.
Even discounting how it goes out of its way to actively endanger people to protect the company's bottom line, this feature is blatantly horrible engineering practice — you know stuff is gonna break so you want to build it to break as harmlessly as possible while making it break in such a way that it's easy to tell how and why it broke after the fact. That's not always possible (especially under capitalism) but going out of your way to build things that are not only not-best-practice but actively impedes good practice is something that would stand out to anyone who's been building and operating production software for more than like a year, and there is no way that there weren't several senior or staff level engineers aware of this — that isn't the sort of feature that could be implemented by like a team of interns or anyone else too inexperienced to know better.
Lastly, software engineers — especially those at tech companies — have a lot more control over what we work on and how we work on it than 95% of other laborers, especially in the last couple of years. Even individually we usually have a surprising amount of political power to push back against shit within our workplaces. This goes double for the last year because the job market for software engineers is insanely hot right now and both employees and employers know it. To give people outside of the field a picture of what I mean, the last place I worked paid well above market and was a top-tier engineering workplace overall, and it was able to hire zero engineers over the last year and a half despite extending numerous offers; on the flip side, when I started a casual job search this past April I had four offers within two weeks of sending out my resume to just 10 companies.
So to me, shitting on the engineers here would be more like an architect shitting on architects for agreeing to design a trap door in a police station that opens whenever anyone tries to file a report against a cop — like, even though someone else told them to do it, they would know that it was a harmful, evil feature and they absolutely could have refused to design it.
Death the ghouls who requested it, of course, but I'm deeply disappointed in the people who could have refused to build it but didn't, they're horrible at their jobs and they should not be allowed to do them anymore.
For most other jobs I'd definitely agree, but for American software engineers specifically (which I am) I don't really think so in this case for a few reasons.
This got really long, feel free not to read or reply — I really appreciate your comment for giving me the opportunity to think through and write up why it is that I'm disgusted with the other people in my field over this when I will basically always give other workers a pass for building the awful shit that the ghouls that pay them demand that they build.
The first is that there's a big difference between building something that ends up failing unintentionally or building something that you know will fail if more follow-up work doesn't go into maintaining it vs building something that's intentionally designed to covertly pin the blame for its failures on end-users while creating a more dangerous situation for the end-users and everyone around them. The former two come with the territory and while it's best to plan for failure but I'd never fault the engineers for failure happening unless the failure was due to malice. This case is more like if your phone knew its battery was very likely to explode, and then it used that information to post "I'm gonna microwave my phone 🤣" from your twitter account before walking itself into your downstairs neighbor's microwave and turning on the power.
Even discounting how it goes out of its way to actively endanger people to protect the company's bottom line, this feature is blatantly horrible engineering practice — you know stuff is gonna break so you want to build it to break as harmlessly as possible while making it break in such a way that it's easy to tell how and why it broke after the fact. That's not always possible (especially under capitalism) but going out of your way to build things that are not only not-best-practice but actively impedes good practice is something that would stand out to anyone who's been building and operating production software for more than like a year, and there is no way that there weren't several senior or staff level engineers aware of this — that isn't the sort of feature that could be implemented by like a team of interns or anyone else too inexperienced to know better.
Lastly, software engineers — especially those at tech companies — have a lot more control over what we work on and how we work on it than 95% of other laborers, especially in the last couple of years. Even individually we usually have a surprising amount of political power to push back against shit within our workplaces. This goes double for the last year because the job market for software engineers is insanely hot right now and both employees and employers know it. To give people outside of the field a picture of what I mean, the last place I worked paid well above market and was a top-tier engineering workplace overall, and it was able to hire zero engineers over the last year and a half despite extending numerous offers; on the flip side, when I started a casual job search this past April I had four offers within two weeks of sending out my resume to just 10 companies.
So to me, shitting on the engineers here would be more like an architect shitting on architects for agreeing to design a trap door in a police station that opens whenever anyone tries to file a report against a cop — like, even though someone else told them to do it, they would know that it was a harmful, evil feature and they absolutely could have refused to design it.
Death the ghouls who requested it, of course, but I'm deeply disappointed in the people who could have refused to build it but didn't, they're horrible at their jobs and they should not be allowed to do them anymore.