* Huge inconsistency in how various teams and departments are run, so the overall quality of one's general work experience can be hugely dependent on the luck of the draw when one is assigned to a team (such as when initially applying and being hired).
* Engineers are generally kept very much separated and isolated from other departments, especially the sales side, so required interactions (to respond to client issues and the like) can sometimes be somewhat tense and unpleasant due to the general social psychological principle of communication with an "Unfamiliar Them" often being more difficult and more prone to misunderstandings and latent subconscious attitudes about dealing with another group that one perceives is treated wildly differently from oneself.
* A very outdated codebase that as an Engineer, one will frequently have to dig through to implement a requested change or bug fix, including, but not limited to, code written for an OS that is technically obsolete, with much of the current Engineering work being part of a multi-year effort to completely remove the reliance on this obsolete OS by re-writing code to be compatible with Linux.
* Company-wide move to converting all office space to open-floor plans leading to increasingly noisy and distracting workplace.
* Engineering advancement seems to largely fizzle out after one makes Senior Software Engineers, with a combination of hard work, managerial/people skills, and luck required to be offered any real expansion in role or responsibilities beyond that point.