Pros
Very minimal; however, do not let this discourage you. The company has GREAT potential, but it's uncertain on how to take acquire it. Because it is a small to medium size company, you'll learn to build interpersonal relationships with some of the staff. If you are directed as programmer, your job expectancy in the company is longer than if you are a customer representative (which are called "Project Managers"). If you have a good relationship with top management or are a long friend/family than you are more than likely to last. Also, you have to take into consideration that you must work very hard in order to succeed and be part of the company as it is closely micromanaged my the CEO. These comments are not to discourage or talk horrors about the company. There is no such thing as "earn your strides" like a commenter posted. The "negative" comments are flaws in the company that will cause trouble internally (employees and work performance) and externally (clients and customer experience). This is to help you get a better idea of the company, and by all means, do a little more research about it can only help you.
Cons
There is no training. It's a learn by yourself. You'll be given access to the manuals to review and learn how to work around the system. The first week or week and a half, you'll have the opportunity to sit on conference calls in order to "shadow" the project managers. Be prepared to take on multiple tasks and work past your lunch or breaks. There is no set lunch hour. Those who are non programers will have to alternate on lunch hours to keep a watch on the phones for customer service. QA is an stressful task because releases are rushed. This means that there is no adequate time (sometimes less than a week) to test the new modules and check on different scenarios that could give an issue (which happens frequently). Unfortunately, the issue are found by the clients in their test system, and the issue tickets come pouring in because the customers feel as if they are the company's quality assurance, which shouldn't be the case. In addition, because of the rush release, you will observe almost the entire management staff working on the patch notes and manuals in order to be provided along with the release. At times, you may find that there is also lack of respect for the employee, sometimes by the CEO himself or "upper" management.