Pros
* Get to work with cutting edge technology. * Lots of opportunities for leadership/ownership. * Work independence, less micro management. * Work life balance. No on-calls or anything like that. No one ever asks to work on weekends unless something is really really burning. * Less conventional practices which eat developer's time like strict sprint planning, daily stand ups etc. * India offices not treated as secondary work offices. Many teams in India with complete ownership of important modules. * Free food, fruits, snacks, transportation. No nonsensical frugality here.
Kontras
* Salaries are good but sometimes not at par with other companies which employ engineers of same caliber as Nvidia. * Work space is always neglected. Nothing much in break area, no gyms, no dormitories, less cube spaces.