Pros
1. Very less hierarchy. 2. Open culture, one can share one's thoughts with Managers without any fear or repurcussion. Ideas from even junior team members are welcomed and often implemented, if found practicable. 3. Decent pay when compared to industry standards (median paymaster). 4. Lot of attention is paid on people growth through the feedback mechanism and training opportunities. 5. Good operational facilities for employees. Example: good transport facilities, well-maintained premises, and most importantly, a very considerate and responsive operations team. 6. Lot of great people to work with. 7. With a little luck, one can get very challenging projects to work on, which helps in learning.
Cons
1. Poor work-life balance, 60+ hours per week is the norm on development projects for most of the team. 2. Lack of growth path for Senior Managers 3. Short-sighted recruitment policies - people are hired in droves when lot of projects are available. However, hard decisions on lay-offs are taken if too many people are there on the bench. Lot of talent is lost in that fashion while it might be better to invest in select talented people from that bunch through training instead of hiring afresh. 4. Too many hard-headed and inconsiderate people are sitting at important positions, which puts unnecessary pressure on teams. They want everything done "right here, right now" day-in, day-out which puts a lot of pressure on team-members.