Pros
Stable employment; great projects; a lot of good team members willing to help and teach, full benefits package; most of the time you work 8 hrs per day and sometimes work longer when needed to submit deadlines.
Cons
No company is perfect but the cons from my experience are what you would experience in most big firms. Some projects move very slowly; a huge airport project I was expected to work long term on was lost so I had to struggle everyday for a few months to try to find work with other groups and see if I can be used to help them out. It was very boring and frustrating during this period but eventually other big projects came in and I started working on them and was content. One of my group members did not have an engineering degree so it's like "what is he doing here or what am I doing here?". In my opinion I think it is better to work for a small firm when starting your career so that you get better experience since you would be given more responsibility and work closer with experienced engineers and will have a bigger part in the project. Then after obtaining sufficient experience after a few years it can be good to work for a big firm and manage your own group.