Pros
-Smart, talented and driven people run the company. -You are given the tools and guidance to grow yourself/skills/company position. -Small company means you are a close-knit clan who share knowledge rather than segmented business units who only share amongst their own team members. -Management cares about your wellbeing. -Staff cares about the people they service.
Cons
I wouldn't necessarily consider this a con but it's a smaller organization so if a team member is out (sick, vacation, etc.), it can sometimes be a small burden on the team but if it's a known-outage, the team plans for and diverts resources so that nobody is overwhelmed or clients aren't being dealt with in their normal response times. So again, not really a con (especially if you can plan for it) but something to keep in mind. You will work hard here - there is no hiding behind the rest of the team to carry your weight, And personally, in the over 17 years I've been with the company, this has never been an actual problem.