Vantaggi
Awesome place to get your hands dirty with cool work. Plenty of neat projects to work on since there are so many different funded projects. Great partnership with colleges/universities.
Svantaggi
Personally, as a software developer, I prefer a more laid back environment and this just isn't where you'll find it. You hit the ground running on projects, have to maintain a dress code, and have plenty of protocol to follow. It's a con, but that's for you to decide how big of a con that is. Also, they unfortunately use a HORRIBLE review system. You're performance isn't ranked objectively, it's only in relation to the others around you - there will always be a top performer and a low performer, no matter how great everyone is doing. See too many people get hurt by this system.