* Politics and favoritism play a strong role in every action. How attractive your sales pitch to management is the deciding factor in whether they'll listen to you. There is little to no trust unless you're a favorite. Employees are held to double standards, many employees get special privileges, perks, or pay for no valid reason.
* Extremely disorganized technical solutions. Every team does their own thing, there is no cohesive technical direction. Code is obsolete 2-3 years after it's written because the company decides to move in a new direction. There are no established best practices or patterns. Working on old code repositories is like solving an ancient mystery, there's little documentation on how it works or what it does or how to set it up.
* Roles and responsibilities are poorly defined. As an engineer I'm fortunate if I get to spend half my day working on actual code. The other half is spent in meetings, management decisions, and constant communication. My direct lead has little to no impact on how well I do my job, as they're often doing tasks that were poorly delegated to them as well.
* How smart you work, how hard you work, or how well you do your job is not a factor in your pay. Everyone on my team was giving an extremely disappointing inflation-matching pay raise. There's no incentive in working above your pay grade because you will not be compensated for it.
* Poor to almost no onboarding for new employees. On my first day I was given a few printed out pages for HR tasks and environment setup, and this was considered an improvement over prior onboarding. Documentation does exist for your role, but you are not told about it and have to discover it by happenstance. New employees are completely in the dark about internal processes and have to learn through osmosis from working with other devs.
* No training. The company expects you to train yourself through external websites such as Pluralsight, on your own time. This may vary by team but once again, since there's no single cohesive technical direction, some teams give little to no thought or time delegated for training.
* I've never met the CEO or any upper management in person, they've never bothered to visit our office.