The Ariane 5 incident is a lot more complicated than “a lazy programmer”. The integer overflow is just one piece of a big chain of events that caused the overall failure.
Most interestingly, the code was correct when originally written. The situation couldn’t occur on the hardware it was written for, and only later was the same code reused on a different hardware where the error was now possible. You could equally pin the blame on hardware engineers for not having sufficient documentation to describe the differences or on testing for not fully exercising the functionality of the system as a whole. But pinning blame in a complicated failure like that is neither helpful nor interesting.
It’s been a while since I read the full investigation report into Ariane 5. Have you read it? I would recommend it for anyone who wants an insight into how tiny errors (both technical and people) can propagate and grow.