Pros
The only company I've seen with good development process: strict phases, consequence in operations, everything documented, all communication is in written form. NC has good understanding of the word called responsibility.
Cons
Local salaries are extremly low. You're able to make money only during business trips. Business trips in normal countries like Europe America are dedicated for management minions. If you're not among them welcome Asia, Africa and other far places in the world. You die as programmer working in NC. 15 years of development have created big framework full of classes that can be useful only within NC. The native technologies are so deep inside that you don't see them. Carreer growth depends solely on your connections with senior management.