So this was about a decade ago and only a couple years of my life; I really wouldn't want to misrepresent my experience at the time as being reflective of what it's like now. So I'll just touch on the things that likely are the same now.

The bidding process for defense contracts means a lot of Big Design Up Front, and an inability to change things easily once signed, means that though there are attempts at being agile, they likely involve only the technical delivery side (CI/CD pipelines, automated testing, etc), not the interaction with product and other stakeholders (no fail fast and pivot, real MVP, etc). I know there's been some attempts at moving in this direction, but I honestly can't see it happening, since it's innately at odds with the short term incentives that Congress has (and the Pentagon operates under).

The place I worked at had decent perks, but nothing like Silicon Valley tech companies. We had a cafeteria and a Starbucks in the building, but neither was subsidized. Vending machine snacks, again, at cost. Pay and benefits were reasonably competitive for the area as best I could tell (but didn't look that much; when I was ready to move on I wanted different geography as well).

General culture was fairly laid back; only the month or so before something was due did it feel crunchy, and then only for certain people. A lot of dead weight, but a lot of job security, especially for those who delivered.

The projects could be interesting. I worked on a distributed data visualization system that got me exposed to the CAP theorem back in 2011ish, which helped set the trajectory of my career, though I didn't realize it at the time. I also encountered people who said, half jokingly, that their skills had stagnated to the point they weren't hireable elsewhere. I doubt that as true, but certainly at the time there was work on technical things that didn't translate outside of defense (but many of the skills did even if not the technology).

In terms of would I go back to the defense industry? Probably not if I have a choice. While there are a lot of problems in public sector tech companies too, and many with the same issues as defense contractors, there are more of them, and the constraints placed on them tend not to feel as daunting or arbitrary as some of the ones placed on defense companies. Ultimately the impression I got was that defense companies tend to be very stable and predictable, and I just don't appreciate that as much as I appreciate being able to suggest changes and seek improvements.

Approaching this the other way - stepping into my first public sector company, I got to appreciate being agile, actually working with stakeholders to understand and address their needs directly. I got to make technology choices with the team based on what would address the problem the best (and that we were interested in supporting) instead of being told what they were based on what the contract said. And I got to work on smaller more focused teams. Longer term, I've gotten better compensation I feel like (though haven't directly compared; is there more than just a ~15% bonus offered at defense companies now?), the feeling of a lot more things 'done', and the ability to change jobs (without having to change geographic locations) when I felt like I needed a change.