Pros
A lot of nice people, close-knit group. Not a faceless entity, through the times where business was slow, they did what they could to keep everyone on, whether it was putting people to work on things that they were way out of their element on, or just using up PTO.
There was really only one time I worked there when we had to work brutal hours, and that was for maybe a 4-6 month period, but aside from that, it was 8 hours and out.
Generally good autonomy.
Cons
Salary was definitely on the low side. What goes along with that "close-knit" stuff above is the fact that people are typically hired from within, which means people are often elevated beyond their abilities. Former developers became managers. When the job cuts had to come, the managers would have to become developers again, and their skills were definitely not up-to-date, although I'm not sure they were ever quite competent in the first place. And, no doubt, they were cheap, which may be the over-riding factor.
If you're a programmer and you have interest in being a real 'software engineer'/architect, this is not the place to be. There's really no passion for that sort of thing. Your skills will not develop under mentorship. You're on your own with that one. Also, the challenge level was generally low.