Software Engineer • Current Employee
Pros: Quality Management - Managers are qualified, on-point, and enjoyable to work for.
Great Benefits - Some of the best and low-cost benefits in the world.
Flexible, family-friendly schedule - As long as you get your work done and communicate, hours are often flexible and family-friendly.
Job Security - If you do your job, you'll never lose it.
Government Clearance & Experience - You'll likely work on a contract for a government entity and likely need some level of security clearance, which is great on your resume and for future endeavors.
Cons: Lower Pay Potential for "Working Class"
Unless you move into management here, it's no secret; you can make more money working for a private contractor. Government contracts tend to pay less, though they do bring the unique benefits mentioned in the Pros.
No Other Cons
Seriously, a great company in all aspects except pay for non-management. A lot of careers will thrive here, but some careers will need to eventually move on if you need to make more money. A good stepping stone, though, and you will make good money, just not as much as you could ultimately.