Summary question: how can I find/create a workplace where there's enough time to do a good job, learn what's needed, and count on regular hours?
Long question/explanation: I've noticed most workplaces are "hero-based". They're generally not all the way on that side of the spectrum, but they're resistant to new process and require developers to paper over poor management (scope changes mid sprint, lack of time for tech debt, lack of time for training, poorly staffed projects, etc).
My entire career I've been a generalist and an individual contributor. I'm reconsidering that. I don't think I'd enjoy management, but most places don't really give you time to learn new things... so being a generalist means you do a lot of "brushing up" on new tech in your spare time (donating time to your employer). Should I be refusing new work if I'm unable to spend my free time learning the required technology?
My current project had a tech debt policy (X% of the time will be spent on tech debt tickets), which quickly and magically disappeared early on. Is there a way to hold management accountable? I find it strange that tech leadership generally isn't on the same level as middle management, and when they are they have to be so aligned that they allow policies that require extra work from developers like this.
Management always talks a good game, but somehow there always seem to be deadlines that are moved up, new tech that needs our dedication, or fires we predicted that we need to scramble to clean up. No amount of documentation or recommendations fix these issues at a systemic level seem to get any attention (though small things are picked up if they're cheap to implement, or if someone's willing to work extra). Even with cookie-cutter biweekly postmortems we still can't seem to get a system that prevents most of these issues outright (we really want to though, and your feedback matters). A good summary sentence for this is "you can fail the system, but the system can't fail you".
I'm looking for strategies to avoid these problems at new companies (or become aware of them during the interview process), to push back against them, or at least protect my free time. I really don't want to be a stickler making a ticket for every defect, refusing to work on new projects, or otherwise digging my heels in... but my good will has been stretched thin and I have personal goals to get on with.