Pros
* Competitive salary ... "underworked and overpaid" actually applies here * Good work/life balance * No shortage of work if you are good at what you do ... company always getting new projects * Very professional atmosphere. Everyone treats everyone else with respect. * Encourages (and pays for) professional growth (classes, PE, etc). All of the continuing education is on your own time, though.
Cons
* Tend to work isolated. It's tough to learn from peers when your peers are committed to other things * Management is strong in engineering, but not strong in management. This should change. * Administrative processes are manual and archaic (timesheets, 401K allocations, I-9 forms, expense reports). It's time to computerize! * Performance is judged on how well you complete your given assignments, not on the quality of the work you do.