Pros
The graduate program is an excellent experience. Many grads join because of the grad program. Fairly good compensation for a grad in the beginning. High prestige, looks good on your CV and on Facebook. Excellent work-life balance.* Innovation is encouraged and managers listen to employees.* Range and quality of work to be done varies between good and excellent.* Good performance is recognized (but not necessarily compensated).* You can learn a lot about the business as a developer. You'll be able to hold job interviews after two years, even interviewing candidates more senior than yourself. * Points marked with an asterisk vary greatly across teams and reflect my experience only.
Cons
If you join as a grad, your compensation will lose its competitive nature within two years. Salary increases don't appropriately reflect your increase in experience while at the firm. Grads are treated as juniors indefinitely. If you aim to earn a lot, look for another company even as a grad. Bonuses are unpredictable. The kind of work you'll get is excellent for your professional growth while still a junior. Senior employees will find the work dull and not challenging enough. Overall, salaries are just mediocre. Since it's a bank, the cult of management and business is very strong. Engineers are treated well but as second class citizens. You'll have to work with some incompetent people who will turn a good project that would otherwise be a joy to work on into a hell of bug fixing.