Avantages
Lockheed offers a stable job with decent benefits. If you do the right things there are opportunities to advance up the ladder.
Inconvénients
Lockheed tends to be a decade behind the commercial world in terms of processes and technologies used. I find that the good software engineers are quickly pushed up the chain -- leaving almost no seasoned developers at the lower levels. Many people being pushed up don't want to leave the code, however advancement opportunities quickly dry up as a developer as Lockeed prefers to just throw warm bodies in those positions. Those ranks tend to be filled with either level one/two (newer coder) developers or higher level developers that haven't coded for a long time that have the urge to do so again. Overall this leads to anyone who actually cares about developing their skills as an engineer (TDD, core patterns, etc) with no one to really go look up to improve their skills.