> It’s always some external thing: “the algorithm”, as if that doesn’t just mean “the way we programmed it”.This is true.
> Computing systems are do not act on their own.
That doesn't mean that computer systems behave the way that we intend them to behave, or even that we really fully understand our own intent!
How much of your own code have you formally verified? (https://en.wikipedia.org/wiki/Formal_verification)
How much of your own code even has a precise enough purpose that the spec of what it's supposed to do is shorter than the length of the code? Such that you could even in theory formally verify that the implementation is in some sense "correct"?
For that matter.... how much of your code has a precise enough purpose that the spec of what it's supposed to do can be written down in formal language at all?
And actually... how much of your code has a precise enough purpose that the spec of what it's supposed to do can be written down in ENGLISH at all?
I don't think something like an "extremism filter" can ever be implemented in a bug-free way, because I don't think there's a precise enough definition of what "bug-free" would even mean.
The problem of people blaming bad outcomes on "the algorithm" is real, and organizations should take responsibility for misclassifications generated by code that they own and operate.
It's unhelpful to pretend like engineers and the organizations they work for have zero agency.
However, it's equally unhelpful to pretend like buggy behavior aligns with the intent of the engineer/organization.