Pros
Many advancement opportunities due to high turnover, particularly for entry level staff. Competitive compensation. Culture of training (to help fill constantly emerging skills gaps). Technically sound practice. Large, complex, high profile projects. Great place to learn as much and as fast as you’re capable if you’re willing to sacrifice quality of life short term.
Cons
Impersonal, detached experience. Low investment in office environment (university computer lab experience), inconsistent/poorly structured management where feedback/performance reviews are wholly detached from compensation, generally unfocused business culture, short sighted quarterly profit driven upper management (there’s currently an incentive to work through the holidays except Christmas Day, with an extra incentive if employees successfully peer pressure eachother into meeting a participation target. Mid-career can be stressful, low support, with a lower level of autonomy than at a company with a more local/smaller project focus. Feedback is constant, and can be impersonal/negative due to the complexity of projects (lots of room for mistakes) which can damage rapport on the company teams.