In the "real world," estimates are also terrible. Even for something as simple and well-defined as repaving an airport runway, research shows the actual cost exceeds estimated cost by a median factor of 1.25.
https://ocw.mit.edu/courses/ids-333-risk-and-decision-analys...Have you ever heard anyone ever say their kitchen renovation project came in under budget? Humans are just doomed to never be good at estimating, in any context, outside the simplest of tasks.
Software has unique challenges that make it inherently difficult, but the bigger problem is all the incessant micromanagement, tooling like Jira that enables management's worst behaviors, and lack of any union representation or solidarity among developers. There's an infestation of libertarians that think they're better than everyone else, that think they can meet these impossible standards. They're too naive to realize that if they did make a miracle happen, management would just move the goalposts again and again, until you burn out, your wife leaves you, and you decide to start farming goats or whatever. We all need to refuse to play no-win games collectively. No estimates is the only answer. They can't fire us all.
Collective action is probably a pipe dream, though. With that in mind, I think half the issues with this career would go away overnight if a Russian ransomware gang erased Jira and Atlassian out of existence. Those grifters are selling the corporate equivalent of fentanyl laced with benzos to middle managers. Jira is poison.