Working in software for a large organization is both mentally and emotionally taxing and people need to take protecting their mental health very seriously.
Software development itself is hard mental work where every decision you make has potentially serious consequences and usually you have to keep a lot of context in your head. Now this varies a lot, but on an average day an average developer might make about 50 decisions just doing their day job. Add corporate doublespeak, power games, fake “performance reviews” (picking people for values on the bell curve), people high up the management chain disrespecting lowly developers, artificial deadlines etc. to the recipe and you have a mental health disaster.
I think knowledge workers need to:
1. learn to say no. reject tasks when needed, tell management that deadlines will not be met if needed
2. leave home when they’ve put in enough and are feeling exhausted. Be very careful with too much overtime
3. understand games management is playing with them. Usually engineers are too focused on the technical aspects and don’t realise they’re being disrespected (eg. agreeing on tight deadlines on behalf of them without even asking)
4. Appreciate themselves more, understand that they don’t need non-technical manager’s approval of their merits. This should come automatically with enough experience.
I think there is a serious need for what you described. First step is for software engineers / cognitive workers to realise that their mental health is exposed to a lot of risk, for some that they already have a problem.
I’m not sure how the situation can be fixed though. As you said changing “management” is the way, but that needs to be a top-down effort, that’s how corporations work…
The most important bit an individual can do on their level is to spend less and accumulate significant savings. That gives freedom at least to walk away from the job when you feel like it’s getting too much. Next one is to stop being a nice guy / learning to say no and that’s a lot easier if you have FU money.