Pros
Some flex-time offered during the week. The CEO is a very nice man and is more than willing to discuss resolutions --when he is made aware of problems directly. At a personal level, his intentions are genuine and he treats everyone fairly.
Cons
Heavy favoritism and politics towards upper management or those who work a lot of overtime for free. Micromanagement exists due to the way clients are billed (at least at that time). "Cliques" formed while I was there. It was dumb really. "Pulling teeth" was the norm in order to get anything approved to get your work done easier or faster --if your requests were approved at all. The software would break a lot. There was no official dedicated QA team when I was there. Most software companies have this, including my new employer who has less employees. People fought over work duties based on division or hierarchy, rather than just doing the "right thing." Certain people in upper management were allowed to stop processes without explanation or care for consideration for the long-term affects it would cause. This was allowed to continue. Problems you raise through your chain of command, sometimes stop with your supervisor. I learned later that CEO wouldn't always find out about problems happening on the front lines. Even after going over my supervisor's head more than once, the problems continued. What else was there left to think except that the CEO was then allowing it? Eventually you get tired of "trying" and just show up and do your job. There just seemed to be constant tension.