Pros
I work with a great team of people and have a lot of respect for my immediate manager. I am never micro-managed, instead my boss spends most of his time running interference for his staff so that we can get our jobs done without endless uninterruptions. I'm given continual opportunities to learn & excel at what I do best and I've always received good recognition for my contributions. ESRI is a real family too. It is a very tight community - I've made some of my best friends in the years I've been with them. There is also good opportunities to move around within the company - most jobs are good jumping-off points to other positions.
Cons
The expectation that you'll work overtime, all the time. When you are hired you are told that your quoted salary is based on a 45-hour week. ESRI is also chronically under-staffed. I'd estimate that Development and Software Products could double their staff and still not complete all the work we have before us. We have to work with very unrealistic development timelines which are compiled by senior management who appear, some of the time, to be completely out of touch with what is acheivable in the real world. There are no performance-based bonuses and the vacation time and sick time are fairly mediocre. After you've worked there for 10 years your vacation maxes out at 4 weeks and there isn't much more to look forward to except your 'yeah you lasted 20 years' dinner with Jack.