Pros
Free breakfast, free lunch, free fruit, generous pension, working from home (due to lack of seating space) I was privileged to work with the best first line manager ever. He was faultless, shielded us, stood by our side, empowered us.
Cons
Idiot managers, non-technical managers making technical decisions, dinosaurs lingering on all floors, unfair(some have it, some doesn't) car parking allowance, no budget for training, too much offshoring, dysfunctional HR, everyone talking about buzz words, too many talkers as many less doers, have I mentioned the idiot managers. Every manager you talk to, will tell, code quality is our top priority, dig a little more, and you will start hearing the word "compromises", "trade offs". At that point you know they are just lying between their teeth. You point out the shortcomings and problems with the applications, all goes to backlog. Incompetent managers are trying to scale horizontally with the current state of the application, they will soon realize the deep sh.t they are in. The things that will never be allowed to happen in a proper software company is practiced and its very well established, anything you say against, you are marked as a blocker They are getting HR support via a chat app, your local rep is always busy. HR never stand by you or try to address your concerns. Lack of personal development opportunities, makes you think, there is no future in this company. The generous pension, its literally unbeatable and is the reason why so many are trying to pass their time by here. Bottom line, if you want to coast along until retirement, get yourself a managerial position and look out for scapegoats. If you are a developer looking to extend your skill set, this is not the place. Having said that, depending on your first line manager, you can shield yourself from all the crap. I was lucky enough until a reorg.