It is a meritocracy where you are rewarded for your contributions. Lots of ownership leading to a good learning experience.
As a firm, it is quite nimble and flexible.
Cons
On call through the week and some weeks are quite bad.
If you have the right frame of mind, you can develop a lot of freedom in what you can choose to work on.
Over the years I developed a reputation as a goto problem solver, and the result was that I could choose what projects I wanted to work on and how much of my time I spent on each project.
Cons
The development environment for programmers is, ironically, almost hostile. Much less hostile than it was 10 years ago. This can be a challenge for some people to overcome and definitely was the source of a lot of frustration for me.