Pros
* Huge brand value addition on your resume! * Employees are highly pampered with amazing perks & workplace facilities * Working with large scale systems & effective internal processes * Engineering is still progressing towards "best practices" so lots to learn
Cons
Culture: * Very difficult to progress (promotions), much bureaucracy & politics * Have to do enough self branding to get noticed across organization, which in turn is the single most affecting factor during promotions * Small appraisal percentages, no discussion, take-it-or-leave-it attitude * Most people are only interested in interacting to increase their "colleague networking" (self branding again) * Hypocrisy in following company's own core values * Complicated organizational hierarchy * Very very less fresh talent, leads to lack of innovation and newer ideas * Your opinions are only as much valued as your seniority Engineering: * Full of in-house tools & blackboxes, you hardly acquire skills worthwhile for other employers * You have to learn a lot of things before you can start being useful