Pros
It is a combination of government and academia environment with good sides of both. There is a lot of extremely intelligent and bright people to work with. You can learn what you want. Very good training if you have time to take it. Sometimes a lot of time for training if you are between projects. Very secure place to work if your manager likes you.
Cons
It is a combination of government and academia environment with bad sides of both Very insecure place to work if you manager does not like you. The work is complex, so it is difficult to judge the level and quality of your work. If you manager does not like you you are done (laid off). If you manager said you are bad (even without any proof or even contrary to the truth) you will be laid off and you can do nothing about it. There is a lot of very important, but unwritten rules and there is no way to know them until you got a problem and the rule is applied to you. Most of important things happened behind the doors. This place has always high security on, so most of engineers rarely understand what is going on.