* Staff turnover is very high;
* Salaries are below average;
* There is a fair chance that a new hire will not work with anything related to his interview and testing, leaving them frustrated;
* Pretty much anything that was negotiated during the selection\offer process (alternative schedules to accomodate studies, extra benefits, etc) is quickly forgotten by management;
* The academic requisites for the positions are unrealistic given their daily activities - I remember MBAs charged with the task of manually renaming a thousand of image files;
* Isolated divisions. Management always talked about how integration was important, and sent people from one division to work with another. Yet, without a facilitator, isolation crept in the day after. Development teams were isolated, one team didn't have the minimum idea of what the other teams were developing, which made integration a funny business. Last but even more critical, most "project managers" didn't know what the core products were.
* Salaries vary too much from one division to another, to the point that daily interactions are affected;
* Work load vary too much one division to another, increasing conflicts;
* Inconsistence of academic requisites, company policy and company practice - The company hires many post-grad students, with planned schedules to accomodate their studies, and pay increases planned to reflect changes in their academic curriculum. In the 5 years I worked there, exactly two employees managed to finish his post-grad studies while working there (one MBA and a Masters), and neither received pay increases for that. Both left the company shortly after.