* Separation between engineering and "the rest of the business", feature factory mentality, communication with stakeholders is sometimes strained.
* People (esp. managers) waste an inordinate amount of time making plans.
* Because of this separation, teams are not encouraged to solve business problems and instead treat code as a playground. Overengineering is rampant and a huge source of waste.
* Some teams suffer from people split along frontend/backend engineering lines with a "not my problem" attitude. This problem starts with hiring and there is no appetite for changing it because of how disciplines are organised.
* HR policies are often opaque and inflexible.
* Unless you're able to negotiate a decent salary going in, you'll be out of luck. Company is stingy with salary as well as perks.
* Outdated (and sometimes absurd) attitude towards remote work despite the fact that teams are spread across two, sometimes three countries.