Pros
Very creative environment; Developers have a lot of freedom to create and steer their products as long as you can justify your idea; Enjoy the ability to use newer technologies; Coworkers are fun and supportive, very supportive environment;
Cons
Management gives a lot of freedom for you to steer the direction of your product, but you have to take the initiative to develop and communicate your product goals, otherwise you will be surprised by the design changes that are made later; Project specs given are often time very high level and requires polishing by developers. Need to have a vision of what you want and take the initiative to talk among team members. If you are used to programming with a perfect design without communicating with team members, then this is not the place for you. Management feedback always positive, need more realistic and practical feedback.