Pros
Once you've gained the trust of management you have the freedom to design how you want to design. This means you have to be a self-motivated, hard worker. If you've shown you can do a good job and worked long hours during a very busy time, management has absolutely no problem giving you an extra day off. I've worked long hours before and put in my vacation requests only to see my supervisor not even hand it in so they don't go on my record. When the company is doing well I've gotten very lucrative bonuses, and when the company is struggling they still gave what they could. In the 6 years I have been here I've moved up the ladder consistently. As a young engineer the senior engineers are very knowledgeable and have no qualms trying to teach you everything they know. It is a very friendly work environment and consider most coworkers as part of my family.
Cons
People that need to have their hand held at all times will not do well here. Management doesn't try to tell you how to design and you shouldn't be telling them how to manage. It is a small business so sometimes you may have to help out production or with another project that isn't yours, but management always notices this and you will be compensated.