Pros
You get full ownership of the work that is given to you, with more responsibilities that you'd get at other organisations. The heightened responsibility, along with the quality of work given drives you to test yourself, and increase your understanding of not only core CS concepts, but also how technology drives business.
Cons
There are not enough incentives given to employees, both financial and other wise.