Pros
Benefits are nice. Four weeks vacation, 401k matching, and a pension plan.
Cons
Professional dress code required. Teams are not co-located so all meetings are virtual. Year-over-year raises are non-existent. Bonuses are based on how well you know people, not performance. Terrible rule preventing renegotiation of salary and position when moving internally, so the only way to increase your salary is to leave the company. Employee moral is horrible because the work environment sucks. Even though you are a developer you will be expected to work support, so expect nights and weekend work. If you work in Card you will be required to use a virtual desktop which can barely run two programs at the same time. If you work in the investment bank you will at least get a used laptop. Open Source concepts are implemented horribly, so expect to used software a year behind what is current if at all. 10% of your time will be spent actually coding. The rest will be consumed submitting requests and chasing approvals. At company meetings they stress how much money they are saving be reducing their technology budget as if that is a positive thing. The truth is corners are cut by forcing employees to used subpar technology (used laptops, virtual desktops, small monitors, etc.).