Pros
I joined the company as a fresher. Since it has around 50-60 employees, you get to interact with more than just your team. It is a great place to hone your skills. You get to work with some of the brightest minds. Your opinion is valued. Team leads are good and friendly. Also, there is no concept of a Team manager, who mostly don't have any idea about technical stuff. Your team leads are also coding alongside you on the same project. They know what it takes to deliver. Also, you are also facing the client side apart from the code side, so you have to get on calls with the customers and help them resolve their issues. Apart from work, you get 1. Decent lunch. 2. Cultural events take place throughout the year. 3. You can take leaves anytime with proper reason. 4. There are no stand-ups regarding what you did yesterday and what are you going to do today (i.e. No micro-management)
Cons
Sometimes requirements for the project may keep changing from day to day.