Poor management, technical debt, complete lack of guidance & authority on both the technical & product side. Project requirements are constantly changing. Simple tasks balloon very easily due to poor quality codebase & structural restrictions. No upward mobility. No outlet to voice technical concerns. Tight deadlines ensure that unsustainable solutions make it to release, complicating maintenance & developer experience. SDLC changes very frequently, and procedures are not standardized.