Pros
One of the biggest pro's are the benefits. They are robust and affordable. Bonuses are paid quarterly and they are generous. Hard work is recognized, but you have to work hard! There are long hours when the situation calls for it, however; they are also flexible with time off, sick time, comp time, etc. After reading some reviews, I was concerned but, knowing my own situation, I wonder if those people actually spoke to their managers regarding their circumstances. I can't imagine having to chose work over family, and I do not see that, even in my position, where I am exposed to many departments and many levels of employees. Having to work after hours or hours that are not usually defined as working hours is sometimes required as some of the work that is necessary cannot be done during that time. This is the nature of the business. You can't upgrade software during business hours, if you don't know that prior to coming to work for a software company, then that's a problem.
Cons
Opportunities for job growth outside of the corporate headquarters are not heard of often. The employees are responsible for their own development, and although that is also a Pro, knowing what positions or career paths are available is sometimes not as clear.