Pros
If you're a Java developer - you'll probably love it, and they'll probably love you. If not good luck. In either case see #5, if you can live with that, you'll probably be ok. Those that do "survive" do so for a very long time - there is little turn-over here but that has both it's positives and negatives. Positive because it's stable, negative because there is never a "changing of the guard." Even though they are suspect of it, you can work remotely. You are given a lot of leeway in dealing with family / life / little kid Dr appointments around your work schedule, yet in a backhanded way you will be criticized for it. Compensation amongst the "contingent" is slightly above market - but at least it beats below market.
Cons
Where to begin... 1. If you work in "software" either coding / analysis / management, etc if your expertise is anything but Java forget about it. You WILL be looked down upon - even to the point of being of told of "negative comments" - borderline inappropriate, about others who work in your field. There is a reason why others in your field are leaving - they are tired of it. 2. Positive feedback is completely non-existent, even to the absurd of being chastised about best-practices, and opinions in your field - so all those years you've been doing the work you have are just incorrect. Instead you will be belittled, corrected, told how wrong you are. 3. Process - this place is fantastic at following a set of processes that is needlessly complicated (much like the work before you that you are expected to fix), never seamlessly followed, and never communicated until after the fact. Not even their own repository is isolated from the build process which the end customer has access to. No branching / tagging - even developers are frowned upon from doing this; no isolated environments for dev, test, UAT, production. 4. Radical Assumptions - this is NOT the place to work if you, like most normal human beings, take a break once in awhile to read current events, facebook, go for a walk, etc. You like most others, get your job done but realize you're not a monkey and can't do this for 8hrs straight. Let anyone else see what is running on your screen and you WILL catch hell for it. 5. Ridiculous Fiefdom - the lead developers are regarded as gods. Enough said. You're wrong, get used to it.