CDM is a great place to get your software development career started. It offers a ton of creativity and opportunity to quickly take on big pieces of responsibility and ownership.
Cons
Pay is not competitive. Once you get to a certain level the career trajectory becomes capped. Senior management can at times be a little oblivious to the lack of pay.