Pros
Decent work/life balance - while a lot of politics, good opportunities to do interesting work. Your boss has a decent amount of control in the work, and they will support you to the death!
Cons
Have to do a lot of crud for a little fun stuff. Lots of politics in play. Forced to use contract Indian engineers of whom you have no control, can't get/give feedback, and may not do the work you assign them (not the only company where I've seen this problem, btw). Two levels up there is no understanding or respect for software engineering, until you're gone! The method of evaluating your value is to toss all managers in a room with a paltry 3% raise for them to fight for their engineers. My boss would rate me a 5 (highest) where the wiring harness guy would try to force a 2 on me so he could get more for his employees. There's got to be a better way!