Pros
This was a really challenging job, with a lot of interesting problems to work on. I had a really good relationship with everyone on the business side of things, and was able to accomplish a fair bit to make their lives easier.
Cons
This company has a very toxic culture within the programming group, reinforced by a history of programmers being treated very poorly by upper management. For a long time, they had a policy of hiring junior / mediocre programmers and low-balling them on salary, which allowed their legacy software to devolve into a ball of mud. Rather than hiring high-quality programmers and re-factoring their system to make it modular and maintainable, they chose to re-write the system from scratch, spending 4 years writing a new order placement system and 5 years on a new order fulfillment system. These new systems are a mess, architecturally; the boundaries between systems are in the wrong place, the new systems aren't any better written, internally, than the legacy system was (unsurprisingly, since the legacy system is where most of their programmers learned Perl), and data gets copied between databases and falls out of sync on a regular basis.