Pros
The pay is good, hours are flexible (in some departments), benefits are good, some managers are good to work with, get a lot of attention/focus if you're developing new features on the hardware or software side. Also, if you enjoy tinkering alone without input from others, NVIDIA is great.
Cons
A lot of people and management on the software support side have been there for 10-20 years and are indoctrinated in the belief that NVIDIA software support is a functional organization. It is not. New features and development get all of the attention, and the support organization is left grasping for scraps. The culture of the organization seems to be indifferent/complacent regarding improvement. We're no longer competing with just AMD/Intel; processes and infrastructure are running about 10-15 years behind other Silicon Valley companies, and NVIDIA staffs these departments as if they were cutting-edge and had the levels of automation and organization that the competition has.