A mistake is something that happens when someone capable of doing the job well happens to not do it well in a specific instance (without ill intent, of course). If it happens often enough, the question should be whether it's a mistake or if they're not able (or not willing) to do the job as expected. I don't know that this is what's happening here, but the issues seem to be large and frequent enough to at least warrant a discussion.
I'm not saying that people should be sacked for just one mistake, unless it is a pretty large one (criminal e.g.). But I'd say system programmers should be allowed to make the same mistake three times maximum. I think that's pretty generous. If the culture does not allow enough time for reflection and education, then that's a different story.
The other programmers do not need to hold the same standards simply because their code (presumably) impact less.
Web dev can leak shitton of valuable data