You're exposed to multiple projects and therefore you're forced to learn. Office mates for engineering projects are very competent.
Middle management is VERY competent and are great at mentoring and giving opportunities (albeit limited) to new hires.
Cons
Low salary, long hours, messy upper management, office politics.