Naturally, there are some cons to every company, but I don't want them to take away from how great working in this company as an engineer is. But for one, most people are going to be coming from a hierarchical culture, where there is one authority figure: your manager. It's a bit jarring at first not to have that one person telling you if you are doing good or bad. But that goes away with time, as you become more confident and you begin to trust and use getting feedback from your team and the people around you as your signals of how you are doing.
The ability to switch teams often, and having such a dynamic engineering culture is that sometimes the ownership of code is lost - and bugs crop up that require a long ramping up to understand the system where the bug is happening and how to fix it. So there's some cost in this model.
There's a small divide between engineering and the rest of the company. It's sometimes hard to get visibility in what marketing and sales are doing, and it's not unheard of that sometimes marketing or sales throws engineering under the bus. They over-sell something or sell something to a customer with the wrong expectations and engineering has to scramble to close the gap. Or sales/marketing go off and try to pull off something technical in secret, only to realize at the last second that it's not going to work and they need engineering's help - and a team has to rapidly context switch to figure out what's going on. Then because it's a different arm of the company, the feedback loop sometimes doesn't get closed to relay back to them that "hey, this isn't OK".