Pros
People are friendly and the IC culture is great. Having a personal office is amazing (although this is going away in the future I'm betting). Projects are challenging and it's nice to have an impact...
Cons
...except that if you aren't high up you don't have a lot of impact unless you're lucky. The culture here is one where people are more willing to actively do the wrong thing than spend a little extra time to ensure code quality. What results is a frustrating experience where you cannot be proud of the software you release (or don't release, as the case sometimes may be). Management is not transparent and is largely two-faced. They constantly say one thing and then do the opposite (or just weasel their way out of answering questions). I have no confidence in the CEO or upper management.