Company has turned into a revolving door for good IT talent.
Pay for various positions is well below market value.
Management prefers to either ignore problems or throw anyone who complains under the bus instead of fixing things.
Tied to a company phone 24/7, never feels like there's an off/down time
Experienced engineers leaving and being replaced by low-end tier 1-1.5 engineers, leaving our project team short handed and sometimes behind schedule.
Management doesn't push back against problem clients, meaning they'll skirt around our ticket system or refuse to call anyone but the main engineer on their account. When the client gets upset after circumventing our processes, 95% of the time the engineer gets blamed instead of management admitting a mistake.
Management favors politics over all else - sure, they have small events each year, but if you choose not to go? Be prepared to be passive-aggressively trash talked and have assumptions made about you (e.g. "they must not be a team player")
Used to cover all costs for education/certification testing with no strings on a company CC, until too many engineers got certified and resigned for better roles elsewhere. Instead of figuring out why they left, they decided to change the rules of what the CC could be used for. Lots of engineers have avoided using the CC for anything but client purchases or company car fuel.
From my most recent tally of people who have left the company since winter 2015, it sits at 34 resignations and 3 terminations - and this is a company of < 100 people. In that time, maybe 5-6 additional people have been brought in, all on the support desk (tier 1) while our network/server teams suffer and keep working 60+ hour weeks.