Compensation is poorly handled and it's a known issue. Once you are in the door you aren't going to be able to move unless you have the right projects/manager working in your favor. Numerous employees who were deserving better compensation/promotions are overlooked for those that are friends with the right people.
Business isn't aligned with sdlc, while developers are expected to be agile business isn't all in. They continually update requirements or don't even give them and expect the deadline to be unyielding causing friction with developers. I experienced numerous projects where management would not only tell us a requirement was no longer accurate but not give us a properly updated version. IE. Don't do this, but figure out a replacement feature. With sometimes a few days left to get the feature in.
Walled off areas cause more issues as well, certain groups aren't properly focused such as dev ops and qa causing those groups to be exhausted and unable to properly service developers. This isn't exactly the groups fault but management for not properly securing more talent. Though these groups have power over developers meaning it puts all groups at ends with another.
Contractors not properly vetted, in order to meet the headcount quota. These contracting firms are sending numerous `developers` that aren't capable of even scaffolding a basic application let alone building an entire working project. The number of times you may be pulled off work to then aid them is debilitating.