Pros
Fair amount of freedom on individual work
Cons
Immature organization. At all levels of management there is a lack of theoretical and practical understanding on management. The result is a continuous environment of "fire fighting". There is a great focus on learning from mistakes but this is only applied to the lower level workers. No manager is ever confronted with the issues their decisions or lack of same have caused. This, combined with the lack of organizational/project management understanding, result in no fundamental changes are made. You are left solving the issues "fire fighting". You will have a high degree of freedom in this work, as long as you don't make a mistake. Then you will be sacrificed as management is never wrong. The pay is decent though.