Pros
Pay is great. Normally get year end bonuses. Time off is great. I don't have to jump around projects constantly and am usually only focused on one project for an extended period of time. My stress level is way down compared to other places I have worked at. Coworkers are always willing to assist each other and are positively constructive. An openness by the management to share the trajectory, fiscal information and potential of the company. It's a very supportive culture. We like to commend each other on successes and note when people are doing a good job.
Cons
Turnover is a bit high sometimes and not a lot of communication with whole company about the reasons people leave. Some processes could be improved but that is true everywhere. We always seem to need more high quality developers.