Pros
There are a lot of opportunities to stand out, and there is much redundancy and bad code code to fix in this industry, as well as a surprising amount of manual Excel-drivel processes to convert into software applications. Good place to improve your skills at things like backend Java.
Cons
Horribly bureaucratic place to work. You are told when to come in, how to dress, how to conduct your meetings. You spend an obscene amount of your day obtaining approvals to deliver your code from people you will never meet. You are surrounded by people who afraid to speak up because they are on Visas. It is apparent that kissing up to superiors is common. If you actually accomplish something good, your managers acts as if it's no big whoop; if you are slightly late, they are all over you. They think that pointing out faults is "mentoring and coaching". You see managers telling their employees exactly how to do something, even though they are professionals who can figure it out. I'm one more than one occasion, I was upset that my manager was talking to me like I was a little kid. On some teams, work from home is discouraged so there's less flexibility than at other places. There are no offices or cubicles, though the workspace is nice and resembles that of a startup. Although some people are happy because they got started on a good team, your experience will vary with what team you end up on. If you come from a technology company proper, you may not like it here (unless the work you did there was boring). Bonuses have traditionally been good, but now this will change due to recent moves by the company.