Pros
Excellent place to blend in and do your time. Unless you break a rule you will not be fired. Interesting large products with an insane amount of money being poured in.
Cons
VERY Hierarchical management structure is central to the way business is done. This will not change. Ideas develop very slowly. At best it takes years before an idea gains traction. The development techniques are really really out of date. If you come from a commercial background do not listen to anyone that says they do agile development. The brand of agile here is something unique to aerospace and just exists to win contracts. No one wants to learn anything new. I know 4 "software engineers" whose full time job is to transfer files from one network to another. This is something that could be scripted, but no one wants to put them out of a job. People regularly joke about milking contracts. It is important to take the "correct" amount of time to finish projects. People have been fired for finishing work to quickly and ending lucrative contracts. New hires often exist to "hold down the fort" (i.e. work on and charge to an already finished contract). Engineers that realize this and play the game are rewarded. Most don't and have their careers fizzle out until retirement.