Pros
Having worked for the company almost 10 years (since the days of St. Bernard Software), I've seen a lot of changes. Of course not all changes in an organization are good for everyone, but some are necessary for the overall long term success of the group. Always looking ahead and striving to achieve the next goal, even in difficult times, is a strong focus here.
My time here has given me the opportunity to work with all kinds of people, across every department. The size of the company makes cross functional work among teams easier, faster and more productive. The successful people here really look beyond just their normal jobs and at what they can do to help not only others in the company achieve a goal, but help the company as a whole succeed.
The small company size also means that you know almost everyone by name. Even the newest employee and the CEO can have a conversation while getting coffee. I think there's more accountability from all levels when you're viewed as a person with a name. When you do your job and do it well, you will be recognized by name from the top down.
I've always found the company accommodating around outside appointments for medical or childcare needs. Depending on your functional need/department, work hours are fairly flexible. Benefits and compensation are decent and comparable with other much larger companies I've worked for.
Typical small office perks, free coffee and tea, cheap vending machines and kitchen amenities for storing and making your own food. Free onsite gym facilities with lockers and showers. Occasional extra-curricular events, including happy hours and company hikes.
Cons
Career advancement can be limited depending on which department you work in. I think this is pretty typical for smaller/growing companies. The larger engineering and sales departments certainly offer more opportunity. If you're a require a promotion every year, no matter what value you bring type, this isn't the place for you.