Pros
1. Good Work life balance 2. Good Pay 3. Benefits 4. Perks 5. Good Teams 6. Good learning opportunities - sometimes you will be without any work for few months altogether, that gives you ample time to skill up, though there will be no opportunities to work on what you learn
Cons
1. Constant Re-Orgs 2. Lack of clear direction from leadership 3. People with technical skills are not rewarded, people with social skills skyrocket in their career 4. Lack of good technical intents, be prepared to sit idle most of the time until leadership tries to get intent (am a java dev, but last year i did manual testing for most part and 0 API or microservice work) 5. Layoffs here and there, and no clear career path direction (all API teams were converted to mobile teams in chicago downtown, by teaching android and IOS development - you have 6 years of technical experience in one area, so what?? start from 0 now) 6. Poor performance management - criteria for this changes every year - if you can speak well and show off others work as yours - this is the best place to be.