Pros
Software developers and testers are valued here as the most important employee group. A fast growing business makes this an exciting place to work. There are some very smart people that are very good at developing software. Family friendly place. If you get your work done quickly, you're generally allowed to put in normal 40 hour work weeks, more often than not. The company seems to value independent workers that can get things done on their own without having a lot of guidance. Upper management is usually disconnected from the software realm, but seems to have a good grasp of the business aspects as the company is thriving and growing well. The software managers are overall competent and understanding.
Cons
Health benefits are not so good but on par with other small companies. Layoffs can be abrupt and unexpected--without warning. There is generally a lack of career opportunities but this can be expected in a small/medium sized company.