Pros
I can only speak of support. The team of engineers that work in support are second to none. The camaraderie you'll find in times of trial is nothing you'll ever see again. When things got busy, they always offered a little extra to those who want to stay late or come in early. The brought in lunch as often as was feasible to make sure you still get a lunch if you're busy. The management team is first class. On a professional level, they will be there if you need anything. On a personal level, they are wonderful people. Big pro: You get to learn linux.
Cons
Don't drink too much of the koolaid. The company had a "small business" feel when I started but changed over time. It's actually run like "big business" now. I prefer the "small business/employee centric" style myself, but that's why I'm an engineer and not on the business side of things. While, the company will take anything you can give it, they'll continue to ask for more. Countless long days, unable to leave your desk. For some, this would actually be a pro... Not for me. The biggest detractor for me was what came from above the support management's head. It always seemed like decisions were made by senior management (C-Level) to "fix" things but inevitably it would backfire. The hardest part about the job was dealing with absolutely terrible Q&A before a product is released to the customers. The two weeks following a major release WILL be incredibly stressful. Instead of properly staffing, they'll ask you to do more than one job at a time, jobs that should be 40+ hours a week on their own. It takes people leaving for there to be a moment of realization that too much load was carried. Be prepared to be short staffed.