>An expert should have been able to foresee the harm more than a novice. The senior engineers on the team should have done better. I believe they are at fault.
Well, the reality is usually at these large software development agencies that senior engineers are prevented from doing what they think is right.
For example, they might have been pressed to deliver new features in an extremely inefficient system. They might have been inundated by low quality code from less experienced devs. They might have been busy with communication with stakeholders and unable to do much about it.
So singling out these developers would be like singling out couple cops for being racist when the entire Police department is known for racism. You know, technically you are right but that still does not seem to be right thing to do in case of a systemic problem.
The question would be if these developers had any way of knowing the consequences of what they were doing.
Also, "good developers" is a relative term. In an organisation like that a "good developer" might simply describe a person that is at all capable of writing working code. It does not mean they were experienced or aware what is happening around them.
It is the responsibility of managers to recognise the issues with the environment their people are working in.