The most burnout-inducing environments I’ve worked in have all had one thing in common: They had a person or class of people that had wormed their way into being in control of everything while being responsible for very little. This left the rest of us to be responsible for the consequences of their decisions while having little to no input on the things we were held accountable for.
The absolute worst company I worked for had this separation as a core philosophy. They had different managers for everything: Product managers to make all of the product decisions, UX managers to make all of the design decisions, project managers to decide when we’d do things and how to check in on our progress every few hours of every day, program managers who thought they were engineers who just didn’t write code, VPs who would choose all of your programming languages and frameworks for you, and on and on. These people would shuffle from meeting to meeting every day with a 2-hour company-paid lunch in the middle (which they ultimately got in trouble for) but wouldn’t ever do any of the work themselves. Meanwhile, if any engineer dared make a suggestion we’d get a long lecture about staying in our lanes. Then when projects were late/wrong/failed or just missed the mark about what the company needed, they would do long post mortems to assign blame to different engineers for doing it wrong. At best, they’d come up with vague statements about how “we failed as a team due to communication issues” or something.
It was the most demoralizing work environment. Every meeting was full of sad, dejected engineers. People would quit without having other jobs lined up because they just couldn’t take it any more.
The absolute worst company I worked for had this separation as a core philosophy. They had different managers for everything: Product managers to make all of the product decisions, UX managers to make all of the design decisions, project managers to decide when we’d do things and how to check in on our progress every few hours of every day, program managers who thought they were engineers who just didn’t write code, VPs who would choose all of your programming languages and frameworks for you, and on and on. These people would shuffle from meeting to meeting every day with a 2-hour company-paid lunch in the middle (which they ultimately got in trouble for) but wouldn’t ever do any of the work themselves. Meanwhile, if any engineer dared make a suggestion we’d get a long lecture about staying in our lanes. Then when projects were late/wrong/failed or just missed the mark about what the company needed, they would do long post mortems to assign blame to different engineers for doing it wrong. At best, they’d come up with vague statements about how “we failed as a team due to communication issues” or something.
It was the most demoralizing work environment. Every meeting was full of sad, dejected engineers. People would quit without having other jobs lined up because they just couldn’t take it any more.