Pros
As a small company, you're treated as an individual. You're given the resources needed to do your job to your best abilities, and management is always available to help. Even when things go awry, the team works together to resolve the matter and people are not singled out for their mistakes. Management is also very understanding of things happening outside of work. Ex: I previously held a second, part-time job and as long as my work was completed, I was able to leave early without being docked my vacation time, and in in climate weather, we are sent home early or allowed to work from home.
Cons
With the corporate office and production facility in different locations, there can be miscommunications on projects between the two teams. Although this can be frustrating, the issues never go unresolved and communication is improving as time goes on.