Pros
Supporting the trading side of the firm requires you to constantly be on your toes. The can change rapidly and you need to be able to adapt to it. Developers at the firm vary widely depending on the area you work in. The infrastructure types tend to bo those developers you most likely see at Microsoft (very strong technically, but very introverted). On the other side, the developers supporting the various trading desks have to be sharp technically, but also able to manage the traders you support (which can be a very dificult task). Because of the diverse range of jobs available, there is a position for every type of developer across the firm. Also mobility across the firm is strongly encouraged by senior management.
Cons
This job can be incredibly demanding! Especially with the current state of the economy, every developer is expected to do the work of 2 or 3 normal developers. That being said, the demands of the business unit continue to rise, so you're left with a case where the business continues to want more, but you can only deliver so much (the business unit is never satisfied) Also, while there is a significant investment in technology across the firm and its viewed as being one of the most critical pieces to the firms success, it is not at the forefront of the company when compared to trading or investment banking. Developers are in a way second class citizens so we mostly affect the bottom line of the firm indirectly.