Pros
Easy work, generous pay for what it is, no one expects you to work more than 40 hours a week. No one will get on your case about not pulling your weight, especially if you've been there for a while. Coworkers are mostly pleasant and easy to get along with. Company does a lot of team building type activities all the time, frequently provides training activities, etc.
Cons
-there are some smart and hard-working people here, but mostly it's people doing 9 to 5 and hoping no one notices them. If you dig this kind of workplace, this is probably a pro, but I saw it as a con. -too many layers of management. I think I have at least half a dozen superiors, most of whom do nothing but attend meetings 30-35 hours a week. -CEO is absentee, company is run by executive leadership team that doesn't really have any idea what it wants to do beyond receiving checks from the one big client. Keeping the big client happy is job number one. There is frequent talk about improving this or expanding that, but it rarely goes beyond talk because there is always some risk that the core of the business might be threatened. Management is very phobic of any sort of change or potential rocking of the boat, which is going to be a challenge going forward. -the codebase is a complete mess so programming here is maintenance heavy. Again, it's all about keeping the spice flowing, not about innovating or fixing problems in the correct way. -HR department is clueless about engineering so don't expect anything great as far as training or employee development are concerned.