Pros
If you start your IT career - NC would be a good place since entry threashhold is low and you get fairly good and quick exposure to growth. Lots of travels and client interactions in case you are looking for it.
Cons
The biggest disadvantage of working at NC is that there is no work-life balance and company would not appreciate you and your time. Most of the management is 'home-grown' with no industry insights and experience. Adding Russian roots and management style - makes it really terrible recipe for the leadership, if you can call it so - in many cases, you'll be assigned with unreasonable tasks, asked to work over-time and will be blamed in the end of the day for things that you are not guilty. Blaming employees is one of the core values at NC. Some of the managers (VPs/Directors) will still be reasonable but some - you want to avoid - Engineering Management in North America, who simply humiliates and harasses people, knowing no simple management basics. This gives a good idea of company’s values. Technology stack is very old and there is no aspiration for new things across the board. Salaries are not very competitive in most of the places. As result – you get fairly low level of knowledge and experience across co-workers. In general – people are great but when you get to understand the environment better and start tasting the flavor of company’s ‘culture’ – you’ll become very frustrated and demotivated.