Pros
Awesome benefits (great healthcare, 401k, profit sharing, bonuses, tuition reimbursement) Flexible working schedule can be negotiated for many positions, including 2-3 days per week of working from home. Excellent performance feedback and career development.
Cons
Seems to be more interested in moving many programming positions to India and the Philippines. Every 3 years, non-union employees are required to cover for union employees whose contracts are up for renegotiation. This involves a lot of training, travel, and personal sacrifice even if there is no actual work stoppage for no additional compensation, and you will get fired if you refuse. If there is actually a work stoppage from the unions, as there was this summer, you will be expected to work 16 hour days indefinitely many times away from your home and family.