Pros
The employees for the most part are great. Most are very intelligent and multi-talented. With the proper team leadership, they can actually create a feature that is somewhat innovative. The employees manage to keep their environments fun and work to keep each other's morale up.
Cons
For a smallish company where the majority of the company is co-located, the style of management is very old fashioned and juvenile at the same time. Senior management is very resistant to change and it is very difficult for employees to help drive innovation. It seems like the senior management has ADHD at times. They will go through a short period of evangelizing Lean and Agile principles, getting everyone energized and then fall flat. They tell employees that we need to collaborate more yet they do not practice this themselves often wanting to be in the spotlight. They jump on the latest buzzwords and pressure teams to develop new features while ignoring existing problems that could use some serious attention. A year ago, they decided to include members from different departments to help define the company strategy. People participated wholeheartedly and spent a significant amount of time researching and presenting their ideas. Most were brushed aside, others were resurrected 6 months later as someone else's brainchild with no recollection that someone else suggested the exact same thing many months ago. I also agree with a previous comment where this company for some reason shields their worst performers and ignores all the others who do a spectacular job. Instead of addressing under performers with an improvement plan, they are given high visibility projects in which they clearly are incapable of handling, further alienating the good "worker bees". Management has also done a poor job in addressing a very serious morale issue in the technology department directly caused by under performers despite it blatantly being brought to their attention. Managers seem to prefer to give negative reinforcement and hardly ever give acknowledgement to the every day successes. They would rather wait for customer feedback instead of giving feedback themselves directly to their employees. Because of this most employees never really quite know where they stand and often issues are not addressed until annual review time. The company's motto is continuous improvement yet they do not give employees the opportunity to improve. In the past they would fire people without any notice yet people who should be fired are given promotions or more responsibility.