Pros
It honestly really depends on what team you are on. Each team tends to have a slightly different culture. Mine is phenomenal, and the learning opportunities are great for entry level and the customers are the best to work with. I feel like I'm surrounded by a bunch of close friends & couple of really amazing team leads.. We're able to agree and disagree openly, which is fantastic for engineer that sometimes needs to make difficult decisions quickly in the project.
Cons
Across all teams, tasks and team objectives can move up quickly, and some people just can't handle the context switch. This isn't a "con" for everyone, but if you want to work in a static environment from 9am to 5pm, you probably won't enjoy this place. Also, if you're a minimum effort kind of person, you'll probably feel very out of place in the company. Everyone I've met works with more ownership for their deliverables. If you're not looking to do the same, you'll feel very left out.