Pros
Citigroup is a large, well known company, so it is good to have something like this on your CV. Also, compared to other places where a programmer may work, Citi pays quite well and the work hours are not particularly demanding either; usually the floor I work on is empty around 5.30pm.
Cons
Things happen very slowly! There is a Virtual Request system which every process goes through, it is painfully slow, involves too many departments and requires too many signatures. The problem is there are too many steps required to do something small, and the departments which carry out these steps are sometimes very short of staff or short of staff who are actually able to do what is required. This is perhaps a problem which affects many other companies, but basically, there are too many workers who are incompetent in their current roles accompanied by even worse managers who seem to think their department is a separate company and thus do not cooperate very well with other departments. Also, remember that this is a bank, if you are looking for a challenging role which involves the implementation of some fairly new technology (as advertised by HR), look elsewhere. It can be a relaxing place to work, however, after a while, relaxing becomes boring and you may find yourself watching pointless training videos about Microsoft Office to pass the time.