Pros
As a small company, there is lots of opportunity to grow and do different things. Because you are not pigeon-holed into specific tasks, it makes it very easy to grow and branch into different areas. In a small company that is willing to let you grow and develop, you can always find more things to keep you learning and interested. The people are very nice, and the offices are neat to work in. It isn't a high-rise downtown, which is nice. The compensation is fair, and the family that runs it is generous and appreciative of employees. Because there is so much to do, I feel like I have a lot of things that I have learned that will translate well to other jobs and help me build my career. I feel like I have gotten experience far beyond what I would be able to get at another job.
Cons
The main cons are related to the pros. Since there is so much to do in a small company, it is easy to learn and hold a lot of strings until you are overwhelmed. It seems like things are in crisis a lot (again as a small company), which can get tiring. Overall though, it is far outweighed by the opportunity to do lots of different and unique things.