Ultimately developers type the code in and hit "deploy." They have to share at least a fraction of the blame and accept at least a fraction of the outrage. Without them, the product wouldn't exist.
There's a lot of blame to be spread around though. The developers themselves, their management chain all the way up to the decision makers, shareholders that demand ever increasing profits, governments who provide the legal framework and allow these huge, destructive companies. Everyone should get their share of the blame.
It's nice to think that might be true, but there are always plenty more devs willing to work on anything for a paycheck than there are devs with strict morals. There's a lot of egos, but at the end of the day, no matter who you are, you are not irreplaceable.
There's a lot of blame to be spread around though. The developers themselves, their management chain all the way up to the decision makers, shareholders that demand ever increasing profits, governments who provide the legal framework and allow these huge, destructive companies. Everyone should get their share of the blame.