Pros
Good company, lots of freedom as software developer. Had the ability to come up with my own ideas about the best way to implement the pieces of the software that I was given. Requirements were well documented and reviewed by the group before development starts. Requirements do frequently change but they are willing to listen to ideas, and even make changes based on developers inputs. The work environment is fairly laid back, people often take 10-15minutes breaks during the day to talk to other people. Overall the work was enjoyable and you had the opportunity to create something that would be seen by end users.
Cons
The pay and benefits was lower than other similar jobs in the area. Performance reviews were not overly helpful (but also didn't go into the typical go fill out this spreadsheet and tell me what you did this year). Managers are interested in their employees but don't necessarily have the power to help them. The first line managers were mostly ex-engineers who moved up the ladder and eventually decided to put on a different hat. Some of them choose to ignore the problems they were having as software developers once they were managers, and some didn't. They are all competent though.