Pros
Love that I am always learning something new and the job never gets stale. Enjoy that you have a sense of purpose and community seeing the things you work on get used by local governments. Culture is great, I have always found a group on each site to hang out with and we are supportive of one another. The pay is great, salary plus an hourly rate for overtime + good health insurance and other benefits. Stable job security; highly recession-proof company.
Cons
Not a software engineering role, which is a common mistake new hires think; It is software consulting. Must be willing to move often, especially when new to the company. Requires patience to manage client and green employee's feelings and expectations. Overtime is common during certain project phases. Advancement opportunities highly vary per location.