Engineering management lacks real tech experience. The department is very frantic and scattered without a solid long term vision. Poor handling of politics between teams, very immature environment, lots of junior high name-calling behind backs happening at management levels. Teams are not effectively managed, under-performing developers are not put on performance review plans or otherwise dealt with, and over-performing developers get rewarded with additional work the under-performing developers can't do. Teams don't work well together. Some teams are micromanaged to require detailed specifications in order to code anything, other teams work in silos and don't communicate with teams their code overlaps with. Finally, very limited opportunities for engineer advancement, very few truly "senior" engineers.