I'm mostly saying that not every dev is always just trying to do the perfect solution. I have plenty of times I've cut a corner just to get something done because I was tired of working on it, or just knew there was a better way but couldn't come up with it without taking way more time. Not every project demands a solution with no technical debt, or will even suffer from having some technical debt. Hell, I've had times I've had to explain to management why I wasn't doing something in the more elegant way because it simply wasn't going to be worth the extra time to do it that way given the scope of the project.
It's an easy out to just blame bad management for all the ills of a bad code base, and there's definitely plenty of times I've wanted to take longer to fix/prevent some tech debt and haven't been given the time, but it's self-serving to blame it all on outside forces.
It's also ignoring the times where management is making a justifiable decision to allow technical debt in order to meet some other goal, and the decision that a senior engineer often has to make is which technical debt to incur in order to work within the constraints.
It's an easy out to just blame bad management for all the ills of a bad code base, and there's definitely plenty of times I've wanted to take longer to fix/prevent some tech debt and haven't been given the time, but it's self-serving to blame it all on outside forces.
It's also ignoring the times where management is making a justifiable decision to allow technical debt in order to meet some other goal, and the decision that a senior engineer often has to make is which technical debt to incur in order to work within the constraints.