Pros
Remote friendly (though depends on job/department), 4-day work week (again depends on job/department/location), decent benefits, lower level co-workers are great as are some project managers, some career opportunities to move around departments (but don't expect promotions/updated pay)
Cons
Senior management is more concerned about it's stock price than anything else - including it's employees and creating quality products. If they don't meet analyst expectations, it's time for a layoff and a reorganization - because it has to be a people problem and not a cultural one, right? They pretend to want to be a technology company while clinging tightly to the manufacturing mindset and sticking to antiquated and overly bureaucratic processes. They also keep buying their way into spaces and technologies through acquisitions, then try to pound them into our systems or just letting the company do their own thing and add more VPs. In software development, work is often repeated by different groups with no real overall strategy or oversight. The senior management/VPs are so busy trying to be first to market, they promote ignoring proper development practices including quality checks to meet ridiculous deadlines. Finally, their employee review process is paltry as well - good luck getting paid fair market value as your experience grows or getting promoted when you deserve it. Even if you put in the extra time and went the extra mile, expect HR to only allow a "meets expectation" like an average coworker gets as well.