- Leadership is often unfamiliar with their own product - certain management personnel have promised features to clients we don't actually have (without approving work for a new feature), which often leads to highly-stressful development cycles
- Weak business operations - projects frequently fall behind and are highly disorganized
- Code for all platforms is a mess (things like static reference to app context in Android) - thousands of if statements
- No proper code review process - major architectural problems are able to slip into production code quite regularly - makes maintenance very difficult
- Low likelihood of upward mobility
- "Drop everything and do this now" mentality - makes planning your work day pretty much impossible
- Unreasonable development expectations - Management frequently "overrides" estimates provided by developers and expects the deadlines to be met