Earlier quoted context omitted.
In my experience it was the ic level. Leadership would say, what's a reasonable timeline for feature x. The engineers would spend two hours arguing that estimates are bullshit, then give a trivially small (and obviously wrong) estimate. Leadership would say, are you sure? Engineers would basically flip them the bird and say yes. Then inevitably be late. I get it, estimating is inexact. But there's a clear difference…
Why wouldn't they give a trivially large (and very safe) estimate? Telling someone you will be finished tomorrow puts the onus on you to explain why your estimate was wrong.
I once asked, how long to add analytics to your code? (I wrote a one line utility that could bundle up objects and fire them off for you.) The response was "three weeks per event". Guess which part of the code didn't have analytics.
Now, at some level this is leadership's fault. They own the culture, but many of the engineers I worked with in games were the least interested in being a part of a team I've ever seen.