Pros
Brand Value and Good Learning Resources ( although the second point is given by almost all big organisations)
Cons
Following are the list of cons as per my experience with scenarios for you to decide:- 1) Poor Work Life Balance- I was working as Software Engineer in a Department of HSBC wherein they followed mostly traditional waterfall project management model to run projects and these are not efficient as compared to other project management techniques like Agile (Scrum, XP) in terms of managing project timelines, scope updation during project and mainly over-utilizing the resources (team members). Hence, it leads to poor work life balance of the team members. 2) Pay not upto expectations- As per my tenure there hikes are pretty low (around 3-4% pa) 3) Biased Management- I was hired as graduate and they hired for two types of profiles (Strikers - 7 LPA and Acers - 16 LPA). The distinction they made in these two profiles was Strikers were meant to give basic support in projects while Acers were meant to give basic support and play lead roles in projects. But in practice, the type of work Strikers and Acers did was pretty much the same (Really no difference in these two profiles apart from pay). Also, in the next appraisal cycle, Acers got pretty good hike (around 20-30%) while Strikers good pretty low (around 2-3%) creating further gap in their pays. Hence, the management is biased and I didn't really understand their basis of this discrimination. 4) Not much to learn in a long run career perspective- The department where I worked used pretty obsolete technologies like AS/400, Mainframes which are still used in many banks due to security and other reasons but as an individual you won't get much to learn and grow as compared to the fast growing technologies in software industry. Also, as per my experience, the bank is not much ready to evolve to better technologies so easily. (I don't know why??) But, as an individual you won't evolve here. 5) Bad Work Environment in terms of people (This is just based on my experience) - The team where I worked was not that efficient in having healthy discussions internally or contribute to solve problems (It was mostly copy and paste others work.. ). Also, there was too much individualism (depending on one individual) instead of collective collaboration (team owning the task) for any task. There was no cross collaboration across teams (I don't know maybe because of too much complicated rules/processes to communicate across teams). Lastly, bad office politics like blaming each other, not having healthy discussions, misuse of power among the hierarchy and senior management not helpful to resolve concerns of employees.