Pros
Compensation is adequate in the rural locations where there are very few options for other IT jobs. Federal jobs seem stable due to length of contracts.
Cons
Developers are going to be disappointed if they want to work on cutting-edge or industry-standard technology or within an environment with developer-friendly processes allowing you to concentrate on improving the product vs. repeatedly responding to similar problems. The experience gained is largely going to be with proprietary technologies and will not necessarily translate to the slew of growing technology requirements seen on company want ads for developers. Employees hoping to gain industry-wide experience should not expect to be able to use an entry level job here to get there. It can serve to get the experience to start applying for mid-level developer jobs, but the sophistication of the development team just isn't there to get you to adequate higher-level experience without supplementing your training on your own time. This is simply a function of consultancy being the primary money earner for the company over the software product, which is strange considering in Federal the latter drives the former. Developers are treated fine, but are behind-the-scenes work horses answering to much less technically knowledgeable individuals driving decisions that can at times make the workflow more chaotic than necessary. If you happen to enjoy working on what is here, it's a stable, reasonably compensated place to be. Just don't expect to jump over to a more exciting dev position elsewhere when it becomes stale in a few years without reading a few books on the current tech to give you the confidence you need in those interviews or to get moved within the company without a lot of fuss. You definitely can and will find yourself pigeon holed.