Pros
The developers/programmers are very nice people to work with. Sadly management does not see how important they really are to the company as many are let go or eventually forced to resign; due to the state of things. Value your employees more then your desks!
Cons
Management is very deceitful. The fact that the company is small in size is used by management as a type of propaganda tool to promote that "Everyone's position/spot is always available". This couldn't further from the truth. Most employees put in countless additional hours and go well above and beyond their job duties to make up for managements disconnect concerning their own business. There is little to no compensation for these additional hours. The retention rate is terrible; in my own duration of time in the company I saw a 100% turnover rate. Management is very unprofessional; the top tier of management only come into the office about a few hours a month. Additionally, management creates a hostile environment by means of intimidation. If someone voices any type of concern they are immediately intimidated by the team of upper management. Suggestions of process are asked of- from the developers and denied, and then eventually instated as the "Managers idea". Again, the environment is very unprofessional. The top tier of management also gossip about personal employee situations during the workday. I saw several employees who were resigning give a professional 2-week notice and were terminated on the spot. Avoid this company, it would be a complete mistake in your early career. Remember that words and actions are two different things. A stone not worth stepping on.