Vantaggi
Very smart coworkers. Interesting work. Looks great on a resume.
Svantaggi
Pay is substantially below the average for software engineers. Management doesn't realize that we have other options than the stagnant defense industry. A number of great employees have left for higher pay and better benefits, leaving fewer people stretched thinner and thinner. Management's spreadsheet based approach to staffing projects doesn't recognize that you can't replace someone with 5-10 years of experience with a fresh college hire or someone new to software development. I have serious doubts about our future ability to meet our future requirements given the steady decline in the talent pool over the last few years. Management only values "leadership" traits in evaluating employees. If you don't aspire to be a non-technical manager yourself, you have no chance of being evaluated as anything better than middle of the pack. That means you will get a paltry annual raise that doesn't even keep up with inflation, let alone industry salary growth. It also means that no matter how good you are, you can't be promoted without at least pretending to want to do management-type activities. If you aren't good at what management values, no amount of logic and reason will convince them that you are a good employee. The performance appraisal system is sufficiently vague and nebulous that any manager can give any employee any assessment and find an excuse to justify it. Senior management is severely disconnected from reality. They once sent out, in one day, two emails, one of which congratulated everyone on record quarterly profits, the other of which announced a deep round of layoffs. Layoffs have been an annual occurrence for four years, drastically depressing morale.