Pros
Get to develop technology for upcoming movies Get to solve some very interesting engineering problems If you're on the right team, you might get some autonomy to design and implement new features Coolness factor, especially if you have kids Free breakfast and lunch, subsidized gym membership, onsite health center The majority of employees are smart and pleasant to be around Transparent CEO
Cons
The quality of the food and other perks have taken a bit hit in the last year or two Less feeling of job stability lately in all departments Some teams are run with an iron fist, and engineers unlucky enough to be on those teams are given very little opportunity to innovate. Some managers use questionable means of evaluating effort/progress of individuals. Minimal opportunity to advance. Career progression biased towards seniority (years of service) rather than pure performance. Other than cost-of-living adjustments, no raises are awarded except for promotion to another engineering level, which can take several years. Engineering standards inconsistent from team to team. Some teams take great care to produce robust, well tested software that follows company coding standards. Other teams commit unfinished, low-quality, poorly tested code with no repercussions. Upper management sees no problem with this. Bonus program tied to overall profit of company, not merit based. Designed to pay out only when company does very well, and seemingly easy for company to manipulate numbers to avoid paying a bonus.