Discretionary effort used to be the bread and butter of my career. Now the bureaucratic and social project management overhead required for any change makes things too annoying to be worth doing if I don't have to. I don't care if the product works long term, I don't care if the company succeeds long term, I just do my tickets until I find the next job.
“oh you can refactor! Just put together a refactoring design plan and present it at the next design meeting. Then after multiple rounds of reviews and feedback, we’ll divide the refactoring plan into a series of milestones that can be tracked and estimated. Then we can prioritize it during our next planning cycle among the other features that we want to accomplish.”
If you do try the whole “never ask permission to refactor,” you’re admonished for creating a PR that doesn’t adhere to the patterns in the repository. “I like this, but we need to discuss this with the whole team.”
So the tech debt spirals away until it takes months for anyone to merge a PR and tests are so flakey it feels more like playing casino slots hitting the restart button until it builds. Agile is great.