Pros
Work is always interesting, challenging, and changing. There's never really a dull day if you work on the side that interfaces with the software. I can't say how it is to work in the overhead departments.
Cons
They treat the employees like numbers. If you work harder than your neighbor, they don't acknowledge it when it comes time to advance in salary or in the company. Your best bet is to get hired at a high salary and fight for any increase if they decide to give it. They always put the customer first (when it comes to money). I have heard of other colleagues getting thrown under the bus because a customer was unhappy (and incorrect). If the sale is done, they no longer care about customer support. I have heard a customer complain about being sold the wrong thing and someone internal will respond with, "but we already collected the commission! Just smooth it over." Very little open spaces to advance into. They talk about possible positions, but they are few and far in between. Once an opening comes along, it seems like it's been a few years since the last occurrence. Even then, it seems they are partial to hire people within certain cliques rather than credentials. They are more likely to throw you into the position and learn your own way, than train you ahead of time and ease you into it. If you have a travel position, it's more likely you'll travel 85% of the time rather than the 70% they say.