When thinking how I can write a review that would be most helpful for prospective employees, I decided on weighing in on my thoughts about the items that I value when I consider a position (in no particular order):
Work-life balance:
It was, however, very annoying to have to keep track of hours very precisely. I'd rather put in a good day's work and have it be done, but with how they bill customers, it's critical that you always work a certain number of hours to make sure the company gets paid.
Pride of work:
Your mileage will vary greatly here. They do work with defense. There are customers they work with and customers they want to work with that you may not agree with. If you are not okay with this, it will get to you.
I didn't think the work was very interesting. The problems weren't hard problems to solve and was mostly busy work. I'd say that most of the challenges the developers faced were due to the stubbornness and over-intrusiveness of customers into the development process.
Career growth:
There wasn't a clearly defined career growth path for anyone. They underwent two company-wide re-organizations while I was there, and both times they mentioned clear career growth paths but failed to deliver. I got some good advice from my managers there, but the opportunities to grow in the engineering direction I wanted didn't seem to appear. It often felt like you got more recognition and more opportunities to move into new roles by befriending the right managers rather than putting in the effort to grow in the appropriate skills.
Work environment:
When it comes to larger efforts, however, leadership has a hard time figuring out if they'd rather make the decisions and have developers implement them, or leave it all to inexperienced developers and not offer enough support. There were several instances, some of which I was involved in, where it felt like engineering leadership would block the direction the development team wanted to go in, without the willingness to sign on for an alternative. It felt like there wasn't any solid support of the development teams in these situations.
That being said, there are several people at CX that I did not enjoy working with. That will be the case in any workplace, but often times people who exhibited rude and non-constructive behavior ended up getting promoted to managers. I really wouldn't want to end up with one of them as a manager, as your experience at CX will differ greatly depending on what manager you are assigned.