Pros
Huge pros are the colleagues, advancement opportunities, environment, availability of training/certifications, company's commitment to your development, vested 401k, healthcare benefits.
It's a mid-size company for the moment, so of course there's not advancement opportunities for every single employee, but half of the lower level staff that comes in and sticks around for more than a certain amount of time seems to have moved up into the rest of the company once they've finished certifications/engineer-level training. Management style varies by which team you're on; Sales, Support, and Development seem to all be straightforward managers that I'd happily work under. I wouldn't consider their styles micromanagement, although there are definitely high expectations set for any employee coming in. They're usually pretty well defined which is nice (generally no sudden "why didn't you do this thing you don't know about?!" meetings). Mandatory training and advancement programs starting to roll out earlier this year. Those that have them in place are given time to work on advancement during their business day, which is rare.
For colleagues, you're working with a very large group of engineers (90% or more?). That means there's access to them as resources, but it also necessitates a willingness to learn (or contribute) rather than focusing on past achievements. It's a huge asset if you take advantage of it, whether to further educate yourself or to collaborate.
I consistently see others recognized for hard work and going above and beyond the expectations set. The company itself has begun changing direction recently to keep up with market trends--should continue to have opportunities for employees moving forward as initiatives pick up speed.
CEO and management seems to genuinely care about both employees and clients, which makes for a less stressful environment than others where I've worked (even with the innate stress of working for this kind of company).
PTO allowance is great!
Cons
Stress level (clients are usually using services as mission critical), organization for cross departmental projects (has improved greatly since I've been here with recent management hires, would like to see it continue in this direction). On-boarding can be a little hectic with everything going on and some people might get lost in it (might also naturally weed out those who aren't cut out for the pace, though, so grain of salt there). Taking PTO is a little limited (mostly self inflicted) due to need for staff to not disappear to Europe for two weeks in a row. This is more due to the nature of IT rather than this company, though, I've had the same "problem" elsewhere.