Pros
1. Good work culture. 2. Friendly and helping teammates(at least in my team). 3. Good compensation. 4. Cutting-edge technology. 5. Amazing impact with respect to the products developed. 6. Once you have a very good rating in first one-two years at the company, it is very easy to maintain the same rating. So in essence, you have to work and prove yourself in the first year as that mostly makes/breaks your career.
Cons
1. If your manager is not satisfied, or for some reason is not able to evaluate you properly, then you are in trouble big time. This especially applies for the first year at work. As the performance rating that you receive in first year, will most likely be either incremented / decremented by 1 in the next year depending on your performance. 2. Perks are not good enough in comparison to competing companies like Google, Amazon and Facebook. 3. In certain teams, the level of bar has been set so high, such that during the appraisal period almost no developers get promoted(applies across different levels).