Pros
Competitive salary and yearly bonus so long as company meets its goals. The company sponsors happy hours, bulls/hawks/sox/cub game events, and other social outings pretty regularly. People who work there are very smart and dedicated and nice to work with. There is always a variety of different types of projects going on. Surprisingly, upper management comes to almost all the events and hold monthly company meetings to inform employees about how the company is doing. When you first start, the CEO takes you out to lunch to hear your ideas about what you have seen in the past that works. CIO gets it. He wants to move the company toward long term solutions that make sense and avoid the lets run IT like a chicken without a head or worse run IT in a way where you build software for tomorrow very quickly with lots of problems that seem to always come back to haunt you in the future. Also, when they do need to replace old software, they do pick newer technologies and cloud solutions if you are lucky its possible to get involved in those projects.
Cons
There is a lot of very old software that is in production but still needs to be maintained. So seems like the luck of the draw if you get on that maintenance team or if you get on a team building a new project with the latest/greatest technologies. Occasionally people do switch teams but not very often since they need people with an expertise on different software which although I don't like, does make complete business sense.